Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __int64 sub_7FFD6F160DC0()
- {
- __int64 v0; // r12
- __int128 *v1; // rsi
- __int64 *v2; // rax
- _BYTE *v3; // rdi
- __int64 v4; // rbx
- _BYTE *v5; // rcx
- __int64 v6; // rcx
- _BYTE *v7; // rcx
- __int64 v8; // rcx
- _BYTE *v9; // rcx
- int *v10; // rax
- int *v11; // rdi
- const char *v12; // rbx
- int v13; // eax
- int v14; // esi
- char *v15; // rcx
- _BYTE *v16; // rcx
- _BYTE *v17; // rdi
- signed __int64 v18; // rcx
- __int64 v19; // rcx
- _BYTE *v20; // rcx
- __int128 *v21; // rbx
- void *v22; // rcx
- _BYTE *v23; // rcx
- __int64 v24; // rcx
- _BYTE *v25; // rcx
- _OWORD *v26; // rbx
- void *v27; // rcx
- _BYTE *v28; // rcx
- __int64 v29; // rcx
- _BYTE *v30; // rcx
- _OWORD *v31; // rbx
- void *v32; // rcx
- _BYTE *v33; // rcx
- __int64 v34; // rcx
- _BYTE *v35; // rcx
- _OWORD *v36; // rbx
- void *v37; // rcx
- _BYTE *v38; // rcx
- _QWORD *v39; // rax
- __int64 v40; // rcx
- __int64 v41; // rax
- __int64 v42; // rax
- __int64 v43; // rcx
- _WORD *v44; // rdi
- signed __int64 v45; // rbx
- unsigned int v46; // ebx
- int v47; // eax
- _BYTE *v48; // rcx
- _BYTE *v49; // rax
- __int64 v50; // rcx
- _BYTE *v51; // rax
- _BYTE *v52; // r9
- signed __int64 v53; // r15
- signed __int64 v54; // r14
- __int64 v55; // rbx
- __int64 v56; // rsi
- __int64 v57; // r13
- bool v58; // zf
- signed __int64 v59; // rax
- __int64 v60; // rax
- char *v61; // rdi
- __int64 v62; // rax
- const void *v63; // rcx
- size_t v64; // r8
- int v65; // eax
- const void *v66; // rcx
- size_t v67; // r8
- int v68; // eax
- __int64 v69; // r8
- void *v70; // rdx
- __int64 v71; // rcx
- char *v72; // rax
- char *v73; // rdi
- __int64 v74; // rdi
- int v75; // eax
- bool v76; // sf
- char *v77; // rax
- __int64 v78; // rdi
- const char *v79; // rax
- __int64 v80; // rcx
- signed __int64 v81; // rdi
- unsigned int v82; // edi
- __int64 v83; // rcx
- __int64 v84; // rcx
- __int64 v85; // rcx
- __int64 v86; // rcx
- __int64 v87; // rcx
- __int64 v88; // rax
- __int64 v89; // rdi
- __int64 v90; // rax
- __int64 j; // rax
- __int64 i; // rax
- __int64 result; // rax
- __int64 v94; // rdx
- __int64 v95; // r8
- __int64 v96; // r8
- __int64 v97; // rax
- __int64 v98; // rax
- __int64 v99; // rax
- __int64 v100; // rax
- __int64 v101; // rax
- __int64 v102; // rax
- __int64 v103; // rax
- __int64 v104; // rax
- __int64 v105; // rax
- signed int v106; // [rsp+40h] [rbp-6B8h]
- __int64 v107; // [rsp+48h] [rbp-6B0h]
- char *v108; // [rsp+50h] [rbp-6A8h]
- __int64 v109; // [rsp+58h] [rbp-6A0h]
- _BYTE *v110; // [rsp+60h] [rbp-698h]
- _BYTE *v111; // [rsp+68h] [rbp-690h]
- int v112; // [rsp+70h] [rbp-688h]
- int v113; // [rsp+74h] [rbp-684h]
- int v114; // [rsp+78h] [rbp-680h]
- int v115; // [rsp+7Ch] [rbp-67Ch]
- int v116; // [rsp+80h] [rbp-678h]
- int v117; // [rsp+84h] [rbp-674h]
- __int64 v118; // [rsp+88h] [rbp-670h]
- __int64 v119; // [rsp+90h] [rbp-668h]
- char *Str; // [rsp+98h] [rbp-660h]
- __int64 v121; // [rsp+A8h] [rbp-650h]
- unsigned __int64 v122; // [rsp+B0h] [rbp-648h]
- __int128 v123; // [rsp+B8h] [rbp-640h]
- __int128 v124; // [rsp+C8h] [rbp-630h]
- __int128 v125; // [rsp+D8h] [rbp-620h]
- __int128 v126; // [rsp+E8h] [rbp-610h]
- __int128 v127; // [rsp+F8h] [rbp-600h]
- __int128 v128; // [rsp+108h] [rbp-5F0h]
- __int128 v129; // [rsp+118h] [rbp-5E0h]
- __int128 v130; // [rsp+128h] [rbp-5D0h]
- __int64 v131; // [rsp+138h] [rbp-5C0h]
- __int64 *v132; // [rsp+140h] [rbp-5B8h]
- __int64 v133; // [rsp+148h] [rbp-5B0h]
- _BYTE *v134; // [rsp+150h] [rbp-5A8h]
- __int64 v135; // [rsp+160h] [rbp-598h]
- unsigned __int64 v136; // [rsp+168h] [rbp-590h]
- _BYTE *v137; // [rsp+170h] [rbp-588h]
- __int64 v138; // [rsp+180h] [rbp-578h]
- unsigned __int64 v139; // [rsp+188h] [rbp-570h]
- _BYTE *v140; // [rsp+190h] [rbp-568h]
- __int64 v141; // [rsp+1A0h] [rbp-558h]
- unsigned __int64 v142; // [rsp+1A8h] [rbp-550h]
- _BYTE *v143; // [rsp+1B0h] [rbp-548h]
- __int64 v144; // [rsp+1C0h] [rbp-538h]
- unsigned __int64 v145; // [rsp+1C8h] [rbp-530h]
- _BYTE *v146; // [rsp+1D0h] [rbp-528h]
- __int64 v147; // [rsp+1E0h] [rbp-518h]
- unsigned __int64 v148; // [rsp+1E8h] [rbp-510h]
- __int128 v149; // [rsp+1F0h] [rbp-508h]
- __int128 v150; // [rsp+200h] [rbp-4F8h]
- void *Memory; // [rsp+210h] [rbp-4E8h]
- __int64 v152; // [rsp+220h] [rbp-4D8h]
- unsigned __int64 v153; // [rsp+228h] [rbp-4D0h]
- void *v154; // [rsp+230h] [rbp-4C8h]
- __int64 v155; // [rsp+240h] [rbp-4B8h]
- unsigned __int64 v156; // [rsp+248h] [rbp-4B0h]
- _BYTE *v157; // [rsp+250h] [rbp-4A8h]
- __int64 v158; // [rsp+260h] [rbp-498h]
- unsigned __int64 v159; // [rsp+268h] [rbp-490h]
- _BYTE *Dst; // [rsp+270h] [rbp-488h]
- __int64 v161; // [rsp+280h] [rbp-478h]
- unsigned __int64 v162; // [rsp+288h] [rbp-470h]
- _BYTE *v163; // [rsp+290h] [rbp-468h]
- __int64 v164; // [rsp+2A0h] [rbp-458h]
- unsigned __int64 v165; // [rsp+2A8h] [rbp-450h]
- _BYTE *v166; // [rsp+2B0h] [rbp-448h]
- __int64 v167; // [rsp+2C0h] [rbp-438h]
- unsigned __int64 v168; // [rsp+2C8h] [rbp-430h]
- _BYTE *v169; // [rsp+2D0h] [rbp-428h]
- __int64 v170; // [rsp+2E0h] [rbp-418h]
- unsigned __int64 v171; // [rsp+2E8h] [rbp-410h]
- __int64 v172; // [rsp+2F0h] [rbp-408h]
- void *v173; // [rsp+300h] [rbp-3F8h]
- unsigned __int64 v174; // [rsp+318h] [rbp-3E0h]
- char v175; // [rsp+320h] [rbp-3D8h]
- char v176; // [rsp+340h] [rbp-3B8h]
- char v177; // [rsp+380h] [rbp-378h]
- char v178; // [rsp+3E0h] [rbp-318h]
- char v179; // [rsp+418h] [rbp-2E0h]
- char v180; // [rsp+450h] [rbp-2A8h]
- char v181; // [rsp+488h] [rbp-270h]
- char v182; // [rsp+4C0h] [rbp-238h]
- char v183; // [rsp+4F8h] [rbp-200h]
- char v184; // [rsp+530h] [rbp-1C8h]
- char v185; // [rsp+550h] [rbp-1A8h]
- char v186; // [rsp+570h] [rbp-188h]
- char v187; // [rsp+590h] [rbp-168h]
- char v188; // [rsp+5B0h] [rbp-148h]
- char v189; // [rsp+5D0h] [rbp-128h]
- char v190; // [rsp+5F0h] [rbp-108h]
- char v191; // [rsp+610h] [rbp-E8h]
- char *EndPtr; // [rsp+630h] [rbp-C8h]
- const char *v193; // [rsp+638h] [rbp-C0h]
- __int128 *v194; // [rsp+640h] [rbp-B8h]
- _BYTE *v195; // [rsp+648h] [rbp-B0h]
- __int128 v196; // [rsp+650h] [rbp-A8h]
- __int128 v197; // [rsp+660h] [rbp-98h]
- __m128i v198; // [rsp+678h] [rbp-80h]
- __m128i v199; // [rsp+698h] [rbp-60h]
- char v200; // [rsp+6B0h] [rbp-48h]
- v172 = -2i64;
- v0 = 0i64;
- v155 = 0i64;
- v156 = 15i64;
- LOBYTE(v154) = 0;
- sub_7FFD6F158F60(&v154, "Voting", 6ui64);
- v1 = sub_7FFD6F15DFF0();
- v2 = (__int64 *)GetLogSinks();
- v108 = (char *)v2[1];
- v107 = *v2;
- v3 = (_BYTE *)sub_7FFD6F17A668(0xB8ui64);
- v110 = v3;
- *((_DWORD *)v3 + 2) = 1;
- *((_DWORD *)v3 + 3) = 1;
- *(_QWORD *)v3 = &std::_Ref_count_obj<spdlog::logger>::`vftable';
- sub_7FFD6F172C90(v3 + 16, &v154, &v107, &v108);
- *(_QWORD *)v1 = v3 + 16;
- v133 = *((_QWORD *)v1 + 1);
- v4 = v133;
- *((_QWORD *)v1 + 1) = v3;
- if ( v4 )
- {
- if ( _InterlockedExchangeAdd((volatile signed __int32 *)(v4 + 8), 0xFFFFFFFF) == 1 )
- {
- (**(void (__fastcall ***)(__int64))v133)(v133);
- if ( _InterlockedExchangeAdd((volatile signed __int32 *)(v4 + 12), 0xFFFFFFFF) == 1 )
- (*(void (**)(void))(*(_QWORD *)v133 + 8i64))();
- }
- }
- v152 = 0i64;
- v153 = 15i64;
- LOBYTE(Memory) = 0;
- sub_7FFD6F158F60(&Memory, "%D %R [%n][%l] %v", 0x11ui64);
- (*(void (__fastcall **)(_QWORD, void **, _QWORD))(**(_QWORD **)v1 + 40i64))(*(_QWORD *)v1, &Memory, 0i64);
- if ( v153 >= 0x10 )
- {
- v5 = Memory;
- if ( v153 + 1 >= 0x1000 )
- {
- v5 = (_BYTE *)*((_QWORD *)Memory - 1);
- if ( (unsigned __int64)((_BYTE *)Memory - v5 - 8) > 0x1F )
- invalid_parameter_noinfo_noreturn();
- }
- j_j_free(v5);
- }
- v6 = *(_QWORD *)v1;
- _InterlockedExchange((volatile signed __int32 *)(*(_QWORD *)v1 + 84i64), 2);
- if ( v156 >= 0x10 )
- {
- v7 = v154;
- if ( v156 + 1 >= 0x1000 )
- {
- v7 = (_BYTE *)*((_QWORD *)v154 - 1);
- if ( (unsigned __int64)((_BYTE *)v154 - v7 - 8) > 0x1F )
- invalid_parameter_noinfo_noreturn();
- }
- j_j_free(v7);
- }
- sub_7FFD6F162E80(v6);
- sub_7FFD6F160B20();
- LODWORD(v109) = 3306;
- v161 = 0i64;
- v162 = 15i64;
- LOBYTE(Dst) = 0;
- sub_7FFD6F158F60(&Dst, "MysqlPort", 9ui64);
- v158 = 0i64;
- v159 = 15i64;
- LOBYTE(v157) = 0;
- sub_7FFD6F158F60(&v157, byte_7FFD6F4A926C, 0i64);
- sub_7FFD6F16B910(v8, &Str, &Dst, &v157);
- if ( v159 >= 0x10 )
- {
- v9 = v157;
- if ( v159 + 1 >= 0x1000 )
- {
- v9 = (_BYTE *)*((_QWORD *)v157 - 1);
- if ( (unsigned __int64)(v157 - v9 - 8) > 0x1F )
- goto LABEL_31;
- }
- j_j_free(v9);
- }
- v10 = errno();
- v11 = v10;
- v12 = (const char *)&Str;
- if ( v122 >= 0x10 )
- v12 = Str;
- *v10 = 0;
- v13 = strtol(v12, &EndPtr, 10);
- v14 = v13;
- if ( v12 == EndPtr )
- std::_Xinvalid_argument("invalid stoi argument");
- if ( *v11 == 34 )
- {
- std::_Xout_of_range("stoi argument out of range");
- v0 = 0i64;
- v14 = v109;
- goto LABEL_35;
- }
- LODWORD(v109) = v13;
- if ( v122 >= 0x10 )
- {
- v15 = Str;
- if ( v122 + 1 < 0x1000 || (v15 = (char *)*((_QWORD *)Str - 1), (unsigned __int64)(Str - v15 - 8) <= 0x1F) )
- {
- j_j_free(v15);
- goto LABEL_28;
- }
- LABEL_31:
- invalid_parameter_noinfo_noreturn();
- }
- LABEL_28:
- v121 = 0i64;
- v122 = 15i64;
- LOBYTE(Str) = 0;
- if ( v162 >= 0x10 )
- {
- v16 = Dst;
- if ( v162 + 1 >= 0x1000 )
- {
- v16 = (_BYTE *)*((_QWORD *)Dst - 1);
- if ( (unsigned __int64)(Dst - v16 - 8) > 0x1F )
- goto LABEL_31;
- }
- j_j_free(v16);
- }
- LABEL_35:
- v194 = 0i64;
- v195 = 0i64;
- v17 = (_BYTE *)sub_7FFD6F17A668(0xE8ui64);
- v110 = v17;
- *((_DWORD *)v17 + 2) = 1;
- *((_DWORD *)v17 + 3) = 1;
- *(_QWORD *)v17 = &std::_Ref_count_obj<sqlpp::mysql::connection_config>::`vftable';
- v111 = v17 + 16;
- memset(v17 + 16, 0, 0xD8ui64);
- *((_QWORD *)v17 + 4) = 0i64;
- *((_QWORD *)v17 + 5) = 15i64;
- v17[16] = 0;
- sub_7FFD6F158F60(v17 + 16, qword_7FFD6F4AE6D0, 9ui64);
- *((_QWORD *)v17 + 8) = 0i64;
- *((_QWORD *)v17 + 9) = 15i64;
- v17[48] = 0;
- *((_QWORD *)v17 + 12) = 0i64;
- *((_QWORD *)v17 + 13) = 15i64;
- v17[80] = 0;
- *((_QWORD *)v17 + 16) = 0i64;
- *((_QWORD *)v17 + 17) = 15i64;
- v17[112] = 0;
- *((_DWORD *)v17 + 36) = 0;
- *((_QWORD *)v17 + 21) = 0i64;
- *((_QWORD *)v17 + 22) = 15i64;
- v17[152] = 0;
- *((_DWORD *)v17 + 46) = 0;
- v18 = (signed __int64)(v17 + 192);
- *(_QWORD *)(v18 + 16) = 0i64;
- *(_QWORD *)(v18 + 24) = 15i64;
- *(_BYTE *)v18 = 0;
- sub_7FFD6F158F60(v17 + 192, "utf8", 4ui64);
- *((_WORD *)v17 + 112) = 1;
- v194 = (__int128 *)(v17 + 16);
- v195 = v17;
- v167 = 0i64;
- v168 = 15i64;
- LOBYTE(v166) = 0;
- sub_7FFD6F158F60(&v166, "MysqlHost", 9ui64);
- v164 = 0i64;
- v165 = 15i64;
- LOBYTE(v163) = 0;
- sub_7FFD6F158F60(&v163, byte_7FFD6F4A926C, 0i64);
- sub_7FFD6F16B910(v19, &v123, &v166, &v163);
- if ( v165 >= 0x10 )
- {
- v20 = v163;
- if ( v165 + 1 >= 0x1000 )
- {
- v20 = (_BYTE *)*((_QWORD *)v163 - 1);
- if ( (unsigned __int64)(v163 - v20 - 8) > 0x1F )
- goto LABEL_48;
- }
- j_j_free(v20);
- }
- v21 = v194;
- if ( v194 != &v123 )
- {
- sub_7FFD6F158CF0(v194);
- *v21 = v123;
- v21[1] = v124;
- goto LABEL_45;
- }
- if ( *((_QWORD *)&v124 + 1) >= 0x10ui64 )
- {
- v22 = (void *)v123;
- if ( (unsigned __int64)(*((_QWORD *)&v124 + 1) + 1i64) < 0x1000
- || (v22 = *(void **)(v123 - 8), (unsigned __int64)(v123 - (_QWORD)v22 - 8) <= 0x1F) )
- {
- j_j_free(v22);
- goto LABEL_45;
- }
- LABEL_48:
- invalid_parameter_noinfo_noreturn();
- }
- LABEL_45:
- *(_QWORD *)&v124 = 0i64;
- *((_QWORD *)&v124 + 1) = 15i64;
- LOBYTE(v123) = 0;
- if ( v168 >= 0x10 )
- {
- v23 = v166;
- if ( v168 + 1 >= 0x1000 )
- {
- v23 = (_BYTE *)*((_QWORD *)v166 - 1);
- if ( (unsigned __int64)(v166 - v23 - 8) > 0x1F )
- goto LABEL_48;
- }
- j_j_free(v23);
- }
- v135 = 0i64;
- v136 = 15i64;
- LOBYTE(v134) = 0;
- sub_7FFD6F158F60(&v134, "MysqlUser", 9ui64);
- v170 = 0i64;
- v171 = 15i64;
- LOBYTE(v169) = 0;
- sub_7FFD6F158F60(&v169, byte_7FFD6F4A926C, 0i64);
- sub_7FFD6F16B910(v24, &v125, &v134, &v169);
- if ( v171 >= 0x10 )
- {
- v25 = v169;
- if ( v171 + 1 >= 0x1000 )
- {
- v25 = (_BYTE *)*((_QWORD *)v169 - 1);
- if ( (unsigned __int64)(v169 - v25 - 8) > 0x1F )
- goto LABEL_63;
- }
- j_j_free(v25);
- }
- v26 = v194 + 2;
- if ( v194 + 2 != &v125 )
- {
- sub_7FFD6F158CF0(v194 + 2);
- *v26 = v125;
- v26[1] = v126;
- goto LABEL_60;
- }
- if ( *((_QWORD *)&v126 + 1) >= 0x10ui64 )
- {
- v27 = (void *)v125;
- if ( (unsigned __int64)(*((_QWORD *)&v126 + 1) + 1i64) < 0x1000
- || (v27 = *(void **)(v125 - 8), (unsigned __int64)(v125 - (_QWORD)v27 - 8) <= 0x1F) )
- {
- j_j_free(v27);
- goto LABEL_60;
- }
- LABEL_63:
- invalid_parameter_noinfo_noreturn();
- }
- LABEL_60:
- *(_QWORD *)&v126 = 0i64;
- *((_QWORD *)&v126 + 1) = 15i64;
- LOBYTE(v125) = 0;
- if ( v136 >= 0x10 )
- {
- v28 = v134;
- if ( v136 + 1 >= 0x1000 )
- {
- v28 = (_BYTE *)*((_QWORD *)v134 - 1);
- if ( (unsigned __int64)(v134 - v28 - 8) > 0x1F )
- goto LABEL_63;
- }
- j_j_free(v28);
- }
- v141 = 0i64;
- v142 = 15i64;
- LOBYTE(v140) = 0;
- sub_7FFD6F158F60(&v140, "MysqlPass", 9ui64);
- v138 = 0i64;
- v139 = 15i64;
- LOBYTE(v137) = 0;
- sub_7FFD6F158F60(&v137, byte_7FFD6F4A926C, 0i64);
- sub_7FFD6F16B910(v29, &v127, &v140, &v137);
- if ( v139 >= 0x10 )
- {
- v30 = v137;
- if ( v139 + 1 >= 0x1000 )
- {
- v30 = (_BYTE *)*((_QWORD *)v137 - 1);
- if ( (unsigned __int64)(v137 - v30 - 8) > 0x1F )
- goto LABEL_78;
- }
- j_j_free(v30);
- }
- v31 = v194 + 4;
- if ( v194 + 4 != &v127 )
- {
- sub_7FFD6F158CF0(v194 + 4);
- *v31 = v127;
- v31[1] = v128;
- goto LABEL_75;
- }
- if ( *((_QWORD *)&v128 + 1) >= 0x10ui64 )
- {
- v32 = (void *)v127;
- if ( (unsigned __int64)(*((_QWORD *)&v128 + 1) + 1i64) < 0x1000
- || (v32 = *(void **)(v127 - 8), (unsigned __int64)(v127 - (_QWORD)v32 - 8) <= 0x1F) )
- {
- j_j_free(v32);
- goto LABEL_75;
- }
- LABEL_78:
- invalid_parameter_noinfo_noreturn();
- }
- LABEL_75:
- *(_QWORD *)&v128 = 0i64;
- *((_QWORD *)&v128 + 1) = 15i64;
- LOBYTE(v127) = 0;
- if ( v142 >= 0x10 )
- {
- v33 = v140;
- if ( v142 + 1 >= 0x1000 )
- {
- v33 = (_BYTE *)*((_QWORD *)v140 - 1);
- if ( (unsigned __int64)(v140 - v33 - 8) > 0x1F )
- goto LABEL_78;
- }
- j_j_free(v33);
- }
- v147 = 0i64;
- v148 = 15i64;
- LOBYTE(v146) = 0;
- sub_7FFD6F158F60(&v146, "MysqlDB", 7ui64);
- v144 = 0i64;
- v145 = 15i64;
- LOBYTE(v143) = 0;
- sub_7FFD6F158F60(&v143, byte_7FFD6F4A926C, 0i64);
- sub_7FFD6F16B910(v34, &v129, &v146, &v143);
- v106 = 127;
- if ( v145 >= 0x10 )
- {
- v35 = v143;
- if ( v145 + 1 >= 0x1000 )
- {
- v35 = (_BYTE *)*((_QWORD *)v143 - 1);
- if ( (unsigned __int64)(v143 - v35 - 8) > 0x1F )
- goto LABEL_93;
- }
- j_j_free(v35);
- }
- v36 = v194 + 6;
- if ( v194 + 6 != &v129 )
- {
- sub_7FFD6F158CF0(v194 + 6);
- *v36 = v129;
- v36[1] = v130;
- goto LABEL_90;
- }
- if ( *((_QWORD *)&v130 + 1) >= 0x10ui64 )
- {
- v37 = (void *)v129;
- if ( (unsigned __int64)(*((_QWORD *)&v130 + 1) + 1i64) < 0x1000
- || (v37 = *(void **)(v129 - 8), (unsigned __int64)(v129 - (_QWORD)v37 - 8) <= 0x1F) )
- {
- j_j_free(v37);
- goto LABEL_90;
- }
- LABEL_93:
- invalid_parameter_noinfo_noreturn();
- }
- LABEL_90:
- *(_QWORD *)&v130 = 0i64;
- *((_QWORD *)&v130 + 1) = 15i64;
- LOBYTE(v129) = 0;
- if ( v148 >= 0x10 )
- {
- v38 = v146;
- if ( v148 + 1 >= 0x1000 )
- {
- v38 = (_BYTE *)*((_QWORD *)v146 - 1);
- if ( (unsigned __int64)(v146 - v38 - 8) > 0x1F )
- goto LABEL_93;
- }
- j_j_free(v38);
- }
- *((_DWORD *)v194 + 32) = v14;
- *((_BYTE *)v194 + 209) = 0;
- *((_BYTE *)v194 + 208) = 1;
- v39 = (_QWORD *)sub_7FFD6F17A668(0x18ui64);
- v110 = v39;
- *v39 = 0i64;
- v39[1] = 0i64;
- v39[2] = 0i64;
- qword_7FFD6F5578C8 = sub_7FFD6F15E4F0(v39, &v194);
- *(_QWORD *)&v197 = 0i64;
- *((_QWORD *)&v197 + 1) = 15i64;
- LOBYTE(v196) = 0;
- v41 = sub_7FFD6F16B0E0(v40, "RewardCommand");
- sub_7FFD6F16B2F0(v41, &v200);
- v42 = ArkApi::Tools::Utf8Decode(&v173, &v200);
- v44 = (_WORD *)v42;
- if ( *(_QWORD *)(v42 + 24) >= 8ui64 )
- v44 = *(_WORD **)v42;
- if ( ::Dst != v44 )
- {
- if ( v44 && *v44 )
- {
- v45 = -1i64;
- do
- ++v45;
- while ( v44[v45] );
- v46 = v45 + 1;
- }
- else
- {
- v46 = 0;
- }
- v47 = 0;
- LODWORD(qword_7FFD6F5578F0) = 0;
- v43 = HIDWORD(qword_7FFD6F5578F0);
- if ( HIDWORD(qword_7FFD6F5578F0) != v46 )
- {
- sub_7FFD6F158EC0(&::Dst, v46);
- v43 = HIDWORD(qword_7FFD6F5578F0);
- v47 = qword_7FFD6F5578F0;
- }
- LODWORD(qword_7FFD6F5578F0) = v46 + v47;
- if ( (signed int)(v46 + v47) > (signed int)v43 )
- sub_7FFD6F158F00((__int64)&::Dst);
- if ( v46 )
- memcpy(::Dst, v44, 2i64 * (signed int)v46);
- }
- if ( v174 >= 8 )
- {
- v48 = v173;
- if ( 2 * v174 + 2 >= 0x1000 )
- {
- v48 = (_BYTE *)*((_QWORD *)v173 - 1);
- if ( (unsigned __int64)((_BYTE *)v173 - v48 - 8) > 0x1F )
- invalid_parameter_noinfo_noreturn();
- }
- j_j_free(v48);
- }
- v49 = (_BYTE *)sub_7FFD6F16B0E0(v43, "ShopPoints");
- if ( *v49 != 4 && *v49 != 5 && *v49 != 6 && *v49 != 7 )
- {
- v94 = sub_7FFD6F16D4A0(v49);
- v95 = sub_7FFD6F158D50(&v184, v94);
- v96 = sub_7FFD6F16A610(&v191, "type must be number, but is ", v95);
- sub_7FFD6F160390(&v178, 302i64, v96);
- CxxThrowException(&v178, &_TI3_AVtype_error_detail_nlohmann__);
- }
- v51 = (_BYTE *)sub_7FFD6F16B0E0(v50, "Items");
- v52 = v51;
- v110 = v51;
- _mm_storeu_si128(&v198, (__m128i)0i64);
- v53 = 0x8000000000000000i64;
- v54 = 0x8000000000000000i64;
- if ( *v51 == 1 )
- {
- v55 = 0i64;
- }
- else
- {
- v55 = v198.m128i_i64[0];
- if ( *v51 == 2 )
- {
- v56 = 0i64;
- goto LABEL_124;
- }
- }
- v56 = v198.m128i_i64[1];
- LABEL_124:
- if ( *v51 )
- {
- if ( *v51 == 1 )
- {
- v55 = ***((_QWORD ***)v51 + 1);
- }
- else if ( *v51 == 2 )
- {
- v56 = **((_QWORD **)v51 + 1);
- }
- else
- {
- v54 = 0i64;
- }
- }
- else
- {
- v54 = 1i64;
- }
- _mm_storeu_si128(&v199, (__m128i)0i64);
- if ( *v51 == 1 )
- goto LABEL_134;
- if ( *v51 != 2 )
- {
- v0 = v199.m128i_i64[0];
- LABEL_134:
- v57 = v199.m128i_i64[1];
- goto LABEL_135;
- }
- v57 = 0i64;
- v0 = v199.m128i_i64[0];
- LABEL_135:
- if ( *v51 == 1 )
- {
- v0 = **((_QWORD **)v51 + 1);
- }
- else if ( *v51 == 2 )
- {
- v57 = *(_QWORD *)(*((_QWORD *)v51 + 1) + 8i64);
- }
- else
- {
- v53 = 1i64;
- }
- while ( 1 )
- {
- LODWORD(v109) = v106;
- if ( *v52 == 1 )
- v58 = v55 == v0;
- else
- v58 = *v52 == 2 ? v56 == v57 : v54 == v53;
- if ( v58 )
- break;
- if ( !*v52 )
- {
- sub_7FFD6F158D50(&v176, "cannot get value");
- sub_7FFD6F160180(&v183, 214i64, &v176);
- CxxThrowException(&v183, &_TI3_AVinvalid_iterator_detail_nlohmann__);
- }
- if ( *v52 == 1 )
- {
- v59 = v55 + 64;
- }
- else if ( *v52 == 2 )
- {
- v59 = v56;
- }
- else
- {
- if ( v54 )
- {
- sub_7FFD6F158D50(&v175, "cannot get value");
- sub_7FFD6F160180(&v179, 214i64, &v175);
- CxxThrowException(&v179, &_TI3_AVinvalid_iterator_detail_nlohmann__);
- }
- v59 = (signed __int64)v52;
- }
- v107 = v59;
- if ( *(_BYTE *)v59 != 1 )
- {
- v103 = sub_7FFD6F16D4A0(v59);
- v104 = sub_7FFD6F158D50(&v189, v103);
- v105 = sub_7FFD6F16A610(&v190, "cannot use operator[] with ", v104);
- sub_7FFD6F160390(&v182, 305i64, v105);
- CxxThrowException(&v182, &_TI3_AVtype_error_detail_nlohmann__);
- }
- v60 = **(_QWORD **)(v59 + 8);
- v108 = (char *)v60;
- v61 = (char *)v60;
- v62 = *(_QWORD *)(v60 + 8);
- for ( EndPtr = (char *)v62; !*(_BYTE *)(v62 + 25); EndPtr = (char *)v62 )
- {
- v63 = (const void *)(v62 + 32);
- if ( *(_QWORD *)(v62 + 56) >= 0x10ui64 )
- v63 = *(const void **)(v62 + 32);
- v193 = *(const char **)(v62 + 48);
- v64 = (size_t)v193;
- if ( (unsigned __int64)v193 > 9 )
- v64 = 9i64;
- v65 = memcmp(v63, "Blueprint", v64);
- if ( v65 )
- {
- if ( v65 < 0 )
- {
- LABEL_173:
- v62 = *((_QWORD *)EndPtr + 2);
- continue;
- }
- }
- else if ( (unsigned __int64)v193 < 9 )
- {
- goto LABEL_173;
- }
- v61 = EndPtr;
- v62 = *(_QWORD *)EndPtr;
- }
- if ( v61 != v108 )
- {
- v66 = v61 + 32;
- if ( *((_QWORD *)v61 + 7) >= 0x10ui64 )
- v66 = (const void *)*((_QWORD *)v61 + 4);
- v193 = (const char *)*((_QWORD *)v61 + 6);
- v67 = (size_t)v193;
- if ( (unsigned __int64)v193 > 9 )
- v67 = 9i64;
- v68 = memcmp(v66, "Blueprint", v67);
- if ( v68 )
- {
- if ( v68 <= 0 )
- goto LABEL_176;
- }
- else if ( (unsigned __int64)v193 <= 9 )
- {
- goto LABEL_176;
- }
- }
- v61 = v108;
- LABEL_176:
- *(_QWORD *)&v150 = 0i64;
- *((_QWORD *)&v150 + 1) = 15i64;
- LOBYTE(v149) = 0;
- if ( v61[64] != 3 )
- {
- v100 = sub_7FFD6F16D4A0(v61 + 64);
- v101 = sub_7FFD6F158D50(&v187, v100);
- v102 = sub_7FFD6F16A610(&v188, "type must be string, but is ", v101);
- sub_7FFD6F160390(&v181, 302i64, v102);
- CxxThrowException(&v181, &_TI3_AVtype_error_detail_nlohmann__);
- }
- v69 = *((_QWORD *)v61 + 9);
- if ( &v149 != (__int128 *)v69 )
- {
- v70 = (void *)*((_QWORD *)v61 + 9);
- if ( *(_QWORD *)(v69 + 24) >= 0x10ui64 )
- v70 = *(void **)v69;
- sub_7FFD6F158F60(&v149, v70, *(_QWORD *)(v69 + 16));
- }
- v106 = v109 & 0xFFFFFEFF | 0x80;
- sub_7FFD6F158CF0(&v196);
- v196 = v149;
- v197 = v150;
- v132 = &v118;
- v193 = "MaxIsBP";
- v71 = v107;
- if ( *(_BYTE *)v107 != 1 )
- {
- v97 = sub_7FFD6F16D4A0(v107);
- v98 = sub_7FFD6F158D50(&v185, v97);
- v99 = sub_7FFD6F16A610(&v186, "cannot use operator[] with ", v98);
- sub_7FFD6F160390(&v180, 305i64, v99);
- CxxThrowException(&v180, &_TI3_AVtype_error_detail_nlohmann__);
- }
- v72 = **(char ***)(v107 + 8);
- v108 = v72;
- EndPtr = v72;
- v73 = (char *)*((_QWORD *)v72 + 1);
- while ( !v73[25] )
- {
- if ( (unsigned __int8)sub_7FFD6F1792E0(v71, v73 + 32, &v193) )
- {
- v73 = (char *)*((_QWORD *)v73 + 2);
- v72 = EndPtr;
- }
- else
- {
- v72 = v73;
- EndPtr = v73;
- v73 = *(char **)v73;
- }
- }
- v74 = (__int64)v108;
- if ( v72 == v108 || (v75 = sub_7FFD6F163F50(v72 + 32), v58 = v75 == 0, v76 = v75 < 0, v77 = EndPtr, !v76 && !v58) )
- v77 = (char *)v74;
- v108 = v77 + 64;
- v78 = v107;
- v107 = sub_7FFD6F16AF80(v107, "MinIsBP");
- EndPtr = (char *)sub_7FFD6F16AF80(v78, "QualityMax");
- v109 = sub_7FFD6F16AF80(v78, "QualityMin");
- v131 = sub_7FFD6F16AF80(v78, "QuantityMax");
- v111 = (_BYTE *)sub_7FFD6F16AF80(v78, "QuantityMin");
- v79 = (const char *)sub_7FFD6F163FC0(&v196);
- v193 = v79;
- v80 = 0i64;
- v118 = 0i64;
- v119 = 0i64;
- if ( v79 && *v79 )
- {
- v81 = -1i64;
- do
- ++v81;
- while ( v79[v81] );
- v82 = v81 + 1;
- LODWORD(v119) = v82;
- if ( (signed int)v82 > 0 )
- {
- sub_7FFD6F158F00((__int64)&v118);
- v80 = v118;
- v79 = v193;
- }
- sub_7FFD6F159430(v80, v82, v79, v82);
- }
- sub_7FFD6F1749F0(v80, v108, &v112);
- sub_7FFD6F1749F0(v83, v107, &v113);
- sub_7FFD6F1749F0(v84, EndPtr, &v114);
- sub_7FFD6F1749F0(v85, v109, &v115);
- sub_7FFD6F1749F0(v86, v131, &v116);
- sub_7FFD6F1749F0(v87, v111, &v117);
- v88 = sub_7FFD6F160A60((unsigned __int64)&v177, (unsigned __int64)&v118, v117, v116, v115, v114, v113);
- v111 = (_BYTE *)v88;
- v89 = (signed int)qword_7FFD6F5578E0;
- LODWORD(qword_7FFD6F5578E0) = qword_7FFD6F5578E0 + 1;
- if ( (signed int)qword_7FFD6F5578E0 > SHIDWORD(qword_7FFD6F5578E0) )
- {
- sub_7FFD6F16D820();
- v88 = (__int64)v111;
- }
- sub_7FFD6F16D190(qword_7FFD6F5578D8 + 40 * v89, v88);
- sub_7FFD6F1558A0(&v177);
- v52 = v110;
- if ( *v110 == 1 )
- {
- if ( !*(_BYTE *)(v55 + 25) )
- {
- v90 = *(_QWORD *)(v55 + 16);
- if ( *(_BYTE *)(v90 + 25) )
- {
- for ( i = *(_QWORD *)(v55 + 8); !*(_BYTE *)(i + 25); i = *(_QWORD *)(i + 8) )
- {
- if ( v55 != *(_QWORD *)(i + 16) )
- break;
- v55 = i;
- }
- v55 = i;
- }
- else
- {
- v55 = *(_QWORD *)(v55 + 16);
- for ( j = *(_QWORD *)v90; !*(_BYTE *)(j + 25); j = *(_QWORD *)j )
- v55 = j;
- }
- }
- }
- else if ( *v110 == 2 )
- {
- v56 += 16i64;
- }
- else
- {
- ++v54;
- }
- }
- sub_7FFD6F158CF0(&v200);
- result = sub_7FFD6F158CF0(&v196);
- if ( v195 )
- result = sub_7FFD6F159870();
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement