-
-
Save raspiduino/f456eb4febef7e0cd8c55727f5987e17 to your computer and use it in GitHub Desktop.
// | |
// This file was generated by the Retargetable Decompiler | |
// Website: https://retdec.com | |
// Copyright (c) Retargetable Decompiler <[email protected]> | |
// | |
#include <math.h> | |
#include <stdbool.h> | |
#include <stdint.h> | |
#include <stdlib.h> | |
#include <string.h> | |
#include <wchar.h> | |
#include <windows.h> | |
// ---------------- Integer Types Definitions ----------------- | |
typedef int64_t int128_t; | |
typedef int64_t int256_t; | |
// ----------------- Float Types Definitions ------------------ | |
typedef float float32_t; | |
typedef double float64_t; | |
// ------------------------ Structures ------------------------ | |
struct struct1 { | |
int32_t e0; | |
int32_t e1; | |
int32_t e2; | |
int32_t e3; | |
}; | |
struct struct2 { | |
int32_t e0; | |
int32_t e1; | |
int32_t e2; | |
int32_t e3; | |
}; | |
struct struct3 { | |
int32_t e0; | |
int32_t e1; | |
int32_t e2; | |
int32_t e3; | |
}; | |
struct _EXCEPTION_POINTERS { | |
struct _EXCEPTION_RECORD * e0; | |
struct _CONTEXT * e1; | |
}; | |
struct _EXCEPTION_RECORD { | |
int32_t e0; | |
int32_t e1; | |
struct _EXCEPTION_RECORD * e2; | |
int64_t * e3; | |
int32_t e4; | |
int32_t e5[1]; | |
}; | |
struct _FILETIME { | |
int32_t e0; | |
int32_t e1; | |
}; | |
struct _IMAGE_RUNTIME_FUNCTION_ENTRY { | |
int32_t e0; | |
int32_t e1; | |
int64_t e2; | |
}; | |
struct _IO_FILE { | |
int32_t e0; | |
}; | |
struct _LARGE_INTEGER { | |
int64_t e0; | |
}; | |
struct _LIST_ENTRY { | |
struct _LIST_ENTRY * e0; | |
struct _LIST_ENTRY * e1; | |
}; | |
struct _LIST_ENTRY { | |
struct _LIST_ENTRY * e0; | |
struct _LIST_ENTRY * e1; | |
}; | |
struct _M128A { | |
int64_t e0; | |
int64_t e1; | |
}; | |
struct _CONTEXT { | |
int64_t e0; | |
int64_t e1; | |
int64_t e2; | |
int64_t e3; | |
int64_t e4; | |
int64_t e5; | |
int32_t e6; | |
int32_t e7; | |
int16_t e8; | |
int16_t e9; | |
int16_t e10; | |
int16_t e11; | |
int16_t e12; | |
int16_t e13; | |
int32_t e14; | |
int64_t e15; | |
int64_t e16; | |
int64_t e17; | |
int64_t e18; | |
int64_t e19; | |
int64_t e20; | |
int64_t e21; | |
int64_t e22; | |
int64_t e23; | |
int64_t e24; | |
int64_t e25; | |
int64_t e26; | |
int64_t e27; | |
int64_t e28; | |
int64_t e29; | |
int64_t e30; | |
int64_t e31; | |
int64_t e32; | |
int64_t e33; | |
int64_t e34; | |
int64_t e35; | |
int64_t e36; | |
int64_t e37; | |
int64_t e38; | |
struct _M128A e39[26]; | |
int64_t e40; | |
int64_t e41; | |
int64_t e42; | |
int64_t e43; | |
int64_t e44; | |
int64_t e45; | |
}; | |
struct _OVERLAPPED { | |
int32_t e0; | |
int32_t e1; | |
int64_t e2; | |
int64_t * e3; | |
}; | |
struct _RTL_CRITICAL_SECTION { | |
struct _RTL_CRITICAL_SECTION_DEBUG * e0; | |
int32_t e1; | |
int32_t e2; | |
int64_t * e3; | |
int64_t * e4; | |
int32_t e5; | |
}; | |
struct _RTL_CRITICAL_SECTION_DEBUG { | |
int16_t e0; | |
int16_t e1; | |
struct _RTL_CRITICAL_SECTION * e2; | |
struct _LIST_ENTRY e3; | |
int32_t e4; | |
int32_t e5; | |
int32_t e6; | |
int16_t e7; | |
int16_t e8; | |
}; | |
struct _STARTUPINFOW { | |
int32_t e0; | |
int16_t * e1; | |
int16_t * e2; | |
int16_t * e3; | |
int32_t e4; | |
int32_t e5; | |
int32_t e6; | |
int32_t e7; | |
int32_t e8; | |
int32_t e9; | |
int32_t e10; | |
int32_t e11; | |
int16_t e12; | |
int16_t e13; | |
char * e14; | |
int64_t * e15; | |
int64_t * e16; | |
int64_t * e17; | |
}; | |
struct _UNWIND_HISTORY_TABLE_ENTRY { | |
int64_t e0; | |
struct _IMAGE_RUNTIME_FUNCTION_ENTRY * e1; | |
}; | |
struct _UNWIND_HISTORY_TABLE { | |
int32_t e0; | |
char e1; | |
char e2; | |
char e3; | |
char e4; | |
int64_t e5; | |
int64_t e6; | |
struct _UNWIND_HISTORY_TABLE_ENTRY e7[1]; | |
}; | |
struct _cpinfo { | |
int32_t e0; | |
char e1[1]; | |
char e2[1]; | |
}; | |
// ------------------- Function Prototypes -------------------- | |
int64_t entry_point(void); | |
int64_t function_140001000(int32_t a1, int64_t a2, int64_t a3); | |
int64_t function_140001020(char * a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_140001090(void); | |
int64_t function_1400010a0(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_140001110(void); | |
int64_t function_1400011d8(void); | |
int64_t function_1400011f4(void); | |
int64_t function_1400013c0(int64_t a1); | |
int64_t function_14000140c(int64_t a1); | |
int64_t function_140001498(int64_t a1); | |
int64_t function_140001529(void); | |
int64_t function_14000152b(int32_t a1); | |
int64_t function_140001554(int64_t a1, int32_t a2); | |
int64_t function_140001580(int64_t a1); | |
int64_t function_1400015bc(int64_t a1); | |
int64_t function_1400015d4(void); | |
int64_t function_140001680(void); | |
int64_t function_140001684(void); | |
int64_t function_14000168c(void); | |
void function_140001694(int64_t * ListHead); | |
int64_t function_1400016a4(void); | |
int64_t function_1400016a8(void); | |
int64_t function_1400016ac(void); | |
int64_t function_1400016b4(void); | |
int64_t function_1400016d0(void); | |
int64_t function_1400016dc(void); | |
int64_t function_1400016e4(void); | |
int64_t function_1400016ec(int64_t a1); | |
int64_t function_1400016f4(int64_t a1, int64_t a2); | |
int64_t function_140001840(void); | |
int64_t function_140001848(int64_t a1); | |
int32_t (*function_14000189c(int32_t (*lpTopLevelExceptionFilter)(struct _EXCEPTION_POINTERS *)))(struct _EXCEPTION_POINTERS *); | |
int64_t function_1400018ac(int64_t a1); | |
int64_t function_140001908(void); | |
int64_t function_140001944(void); | |
int64_t function_140001980(int64_t a1); | |
int64_t function_140001b2c(void); | |
int64_t function_140001b40(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_140001d38(void); | |
int64_t function_140001d60(int32_t a1); | |
int64_t function_140001d7c(int64_t a1, int64_t a2); | |
int64_t function_140001dec(int64_t a1, int64_t a2); | |
int64_t function_140001df0(void); | |
int64_t function_140001e04(void); | |
int64_t function_140001e30(int64_t a1, int64_t a2, int64_t a3, int64_t result); | |
int64_t function_140001e50(int64_t * a1, int32_t a2, uint64_t a3, int64_t a4); | |
int64_t function_14000219b(int64_t a1); | |
int64_t function_140002220(int64_t a1); | |
int64_t function_140002224(int64_t a1); | |
int64_t function_140002298(void); | |
int64_t function_140002358(void); | |
int64_t function_140002444(uint32_t a1, char * lpProcName, int64_t * a3, char * a4, int64_t a5); | |
int64_t function_140002594(int64_t a1); | |
int64_t function_1400025dc(int64_t a1); | |
int64_t function_140002624(int32_t dwTlsIndex); | |
int64_t function_14000266c(int32_t dwTlsIndex, int64_t lpTlsValue); | |
int64_t function_1400026c0(int64_t lpCriticalSection, int64_t dwSpinCount, int64_t a3); | |
int64_t function_140002740(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_140002760(int64_t result, uint64_t a2, uint64_t a3, int64_t a4); | |
int64_t function_140002df0(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_140002e40(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_140002e70(int64_t a1, int64_t a2); | |
int64_t function_140002ea0(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_140002ee8(void); | |
void function_140003078(struct _RTL_CRITICAL_SECTION * lpCriticalSection); | |
void function_140003084(struct _RTL_CRITICAL_SECTION * lpCriticalSection); | |
int64_t function_140003090(void); | |
int64_t function_1400030d0(int64_t a1, uint64_t a2); | |
int64_t function_140003178(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_140003200(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_140003290(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_14000331c(int64_t * a1, int64_t a2); | |
int64_t function_1400033b8(int64_t a1); | |
int64_t function_1400034f0(int64_t a1, int64_t a2); | |
int64_t function_140003590(int64_t a1, int64_t a2); | |
int64_t function_140003608(int64_t a1, int64_t a2); | |
int64_t function_1400036ac(int64_t * a1); | |
int64_t function_1400038c0(int64_t a1, char a2); | |
int64_t function_140003930(int64_t a1); | |
int64_t function_1400039d4(int64_t a1); | |
int64_t function_140003b44(int64_t a1, char a2, int64_t a3); | |
int64_t function_140003dd0(uint32_t result); | |
int64_t function_140003e0a(void); | |
int64_t function_140003e38(int64_t a1); | |
int64_t function_140003eac(int64_t a1); | |
int64_t function_140004068(int64_t a1, int32_t a2); | |
int64_t function_140004130(int64_t a1, int64_t a2, int32_t a3, int64_t a4); | |
int64_t function_1400042b0(int64_t a1); | |
int64_t function_140004338(int64_t a1); | |
int64_t function_1400043d0(int64_t a1); | |
int64_t function_14000446c(int64_t a1); | |
int64_t function_140004590(int64_t a1, int16_t * a2, int64_t a3, int64_t a4, int64_t a5); | |
int64_t function_140004714(int32_t a1, int64_t a2); | |
int64_t function_140004898(void); | |
int64_t function_1400048a0(int64_t a1); | |
int64_t function_1400048c8(int64_t a1); | |
int64_t function_140004928(int64_t a1, int32_t a2, int32_t a3, int64_t * a4, int64_t * a5); | |
int64_t function_140004ae8(uint64_t a1, uint64_t a2, uint64_t a3); | |
int64_t function_140004b48(int64_t a1); | |
int64_t function_140004cd0(void); | |
int64_t function_140004d3c(int64_t a1, int64_t a2); | |
int64_t function_140004e88(void); | |
int64_t function_140005058(void); | |
int64_t function_140005104(void); | |
int64_t function_14000513c(int64_t a1); | |
int64_t function_1400051f7(int64_t a1); | |
int64_t function_140005370(int64_t a1); | |
void function_140005378(int32_t a1, int64_t a2, int64_t a3); | |
void function_140005388(int32_t a1, int64_t a2, int64_t a3); | |
void function_140005398(int32_t a1, int64_t a2, int64_t a3); | |
int64_t function_1400053a4(uint64_t a1); | |
void function_1400053e0(int32_t a1, int64_t a2, int64_t a3); | |
int64_t function_140005454(void); | |
int64_t function_14000545c(void); | |
int64_t function_140005464(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t a6); | |
int64_t function_1400054d4(void); | |
int64_t function_1400054e0(void); | |
int64_t function_14000557c(void); | |
int64_t function_1400055b0(void); | |
int64_t function_1400055b8(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t * a6, int64_t * a7); | |
int64_t function_1400055f4(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t * a5); | |
int64_t function_140005630(int64_t a1); | |
int64_t function_1400057e0(int64_t a1); | |
int64_t function_1400058f8(int64_t a1); | |
int64_t function_140005908(int64_t * a1); | |
int64_t function_140005944(int64_t * a1); | |
int64_t function_14000596c(int64_t * a1, int64_t a2); | |
int64_t function_1400059ec(void); | |
int64_t function_1400059fc(void); | |
int64_t function_140005a3c(int64_t a1); | |
int64_t function_140005a44(void); | |
int64_t function_140005a84(void); | |
int64_t function_140005ae0(void); | |
int64_t function_140005af4(int64_t a1); | |
int64_t function_140005bc0(void); | |
int64_t function_140005c20(int32_t a1, int64_t * a2, int64_t a3, int64_t a4); | |
int64_t function_140005f24(int64_t a1, int64_t a2, int64_t * a3); | |
int64_t function_140005fb0(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_1400061b8(int64_t a1); | |
int64_t function_140006270(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_140006290(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int64_t a5); | |
int64_t function_1400062d8(int64_t a1); | |
int64_t function_140006468(int64_t a1, int64_t lpProcName, int64_t a3, int64_t a4); | |
int64_t function_140006a64(int64_t a1); | |
int64_t function_140006adc(void); | |
int64_t function_140006b90(int64_t * a1, int64_t * lpCriticalSection, int64_t * a3, int64_t * lpCriticalSection2, int64_t a5, int64_t a6, int64_t a7, int64_t a8, int64_t * a9, int64_t a10, int64_t a11, int64_t a12); | |
int64_t function_140006c2c(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t a6, int32_t * a7, char * a8, int32_t * a9, int64_t a10); | |
int64_t function_140006d0c(int64_t a1); | |
int64_t function_140006d6c(int64_t a1); | |
int64_t function_140006de8(int64_t a1); | |
int64_t function_140006e34(int64_t a1); | |
int64_t function_140006e3c(int64_t a1); | |
int64_t function_140006e7c(void); | |
int64_t function_140006f6c(void); | |
int64_t function_140007078(void); | |
int64_t function_1400070b4(void); | |
int64_t function_140007154(int64_t a1, int64_t * a2); | |
int64_t function_140007180(int64_t a1, int64_t a2, uint64_t a3, int32_t a4); | |
int64_t function_140007300(int32_t * a1, int64_t a2, int64_t a3); | |
int64_t function_140007308(int64_t a1, int64_t a2, uint64_t a3, int16_t a4, int64_t a5); | |
int64_t function_1400074a4(int64_t a1, uint64_t a2); | |
int64_t function_1400075f4(int64_t a1, uint64_t a2); | |
int64_t function_1400077cc(void); | |
int64_t function_14000780c(void); | |
int64_t function_14000784c(void); | |
int64_t function_140007894(void); | |
int64_t function_140007adc(int64_t a1, int32_t a2); | |
int64_t function_140007b44(void); | |
int64_t function_140007cc0(void); | |
int64_t function_140007d8c(void); | |
int64_t function_140007e54(int64_t a1, int64_t a2, uint64_t a3, int64_t a4, int64_t a5, int64_t a6, int64_t a7, int64_t a8, int64_t a9, int64_t a10); | |
int64_t function_1400081d4(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_1400082c4(int64_t a1, uint64_t a2, int64_t a3, int64_t a4, int64_t a5, int64_t * a6, char a7, int64_t a8); | |
int64_t function_140008498(int64_t a1); | |
int64_t function_140008600(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_140008748(int64_t a1, int64_t a2, int64_t a3, int32_t a4); | |
int64_t function_140008860(int64_t * a1, int64_t a2, int64_t a3, int64_t a4, int64_t a5, int64_t a6, int64_t a7, uint64_t a8, int64_t a9, uint32_t a10); | |
int64_t function_140008bc0(int64_t a1, int64_t a2); | |
int64_t function_140008bf0(int64_t a1); | |
int64_t function_140008c38(int64_t a1); | |
int64_t function_140008d00(int64_t a1, int64_t a2); | |
int64_t function_140008d3c(uint64_t a1, uint64_t a2); | |
int64_t function_140008d50(int64_t a1, int64_t * a2, int64_t a3, int64_t a4); | |
int64_t function_140008ec8(int64_t * a1, int64_t * a2, int64_t a3, int64_t a4); | |
int64_t function_140009054(int64_t a1, int64_t a2); | |
int64_t function_140009260(int64_t a1, int32_t a2, int32_t a3, int128_t * a4); | |
int64_t function_1400093e8(int64_t a1, int64_t a2, int128_t * a3, int64_t a4); | |
int64_t function_1400096f8(int64_t a1, int64_t * a2); | |
int64_t function_140009700(int64_t * a1, int64_t * a2, int32_t a3, int64_t a4); | |
int64_t function_140009814(int32_t hModule, int64_t a2, int64_t a3); | |
int64_t function_140009934(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t a6, int64_t * a7, int64_t * a8); | |
int64_t function_140009c00(int64_t a1); | |
int64_t function_140009de4(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_140009fa4(int64_t a1, int64_t a2); | |
int64_t function_14000a0bc(void); | |
int64_t function_14000a0d8(int64_t a1, int64_t a2); | |
int64_t function_14000a40c(int64_t a1); | |
int64_t function_14000a420(uint32_t CodePage, int64_t dwFlags); | |
int64_t function_14000a47c(uint32_t CodePage, int32_t a2, int64_t lpWideCharStr, int32_t cchWideChar, int64_t a5, int32_t a6); | |
int64_t function_14000a52c(int64_t a1, int64_t a2); | |
int64_t function_14000a630(int64_t a1, int64_t a2); | |
int64_t function_14000a950(int64_t a1); | |
int64_t function_14000aa38(int64_t a1, int32_t a2); | |
int64_t function_14000aaf8(void); | |
int64_t function_14000ab34(void); | |
int64_t function_14000abdc(int64_t a1); | |
int64_t function_14000ac2c(int64_t a1); | |
int64_t function_14000acd4(int32_t a1); | |
int64_t function_14000acfc(int32_t a1); | |
int64_t function_14000ad24(int64_t a1, int64_t a2); | |
int64_t function_14000ade0(int64_t a1); | |
int64_t function_14000ae58(void); | |
int64_t function_14000afec(uint64_t a1, int64_t a2); | |
int64_t function_14000b17c(int32_t a1, int64_t dwInfoType, int64_t * a3, int64_t a4, int64_t * lpCharType, int64_t a6, int32_t a7); | |
int64_t function_14000b640(void); | |
int64_t function_14000b6b0(int64_t a1, int64_t result); | |
int64_t function_14000b718(int64_t a1, uint64_t a2, uint64_t a3); | |
int64_t function_14000b7cc(void); | |
int64_t function_14000b7d8(int64_t * a1, int64_t * a2); | |
int64_t function_14000b858(int64_t * a1, int64_t * a2); | |
int64_t function_14000b894(int64_t a1); | |
int64_t function_14000b900(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t a6); | |
int64_t function_14000b948(void); | |
int64_t function_14000b998(int64_t a1); | |
int64_t function_14000bc04(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_14000bd0c(int64_t a1); | |
int64_t function_14000bdbc(int64_t a1); | |
int64_t function_14000be40(int64_t a1); | |
int64_t function_14000bea4(int64_t * a1, int32_t * a2, int64_t * a3, int32_t * a4, int32_t * a5); | |
int64_t function_14000bf30(int64_t a1); | |
int64_t function_14000bfc4(int64_t * a1, int64_t a2, uint64_t a3, int64_t a4); | |
int64_t function_14000c4b0(int64_t * a1, int64_t a2, uint64_t a3, int64_t a4); | |
int64_t function_14000c5b4(int64_t * a1, int64_t a2, uint64_t a3, int64_t a4); | |
int64_t function_14000c6d0(int64_t * a1, int64_t a2, uint64_t a3, int64_t a4); | |
int64_t function_14000c840(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_14000c92c(int64_t a1, int64_t lpBuffer, int64_t a3); | |
int64_t function_14000cc10(char a1); | |
int64_t function_14000cc5c(int64_t a1); | |
int64_t function_14000cc98(int32_t * a1, int64_t * a2, int64_t a3, int64_t * a4, int64_t a5, int64_t * a6); | |
int64_t function_14000ce10(int64_t a1, int16_t a2, int64_t * a3); | |
int64_t function_14000cec4(int64_t a1, uint64_t a2, int64_t a3, int64_t * a4, int64_t a5, int64_t a6); | |
int64_t function_14000d020(int32_t * a1, int32_t * a2); | |
int64_t function_14000d44c(int64_t a1, int64_t a2, int64_t * a3, int64_t a4, int64_t a5); | |
int64_t function_14000e718(int64_t a1); | |
int64_t function_14000e72c(int64_t a1, int64_t a2); | |
int64_t function_14000e810(int64_t a1); | |
int64_t function_14000e88c(int64_t a1, int64_t a2); | |
int64_t function_14000e944(int64_t a1); | |
int64_t function_14000e9b0(int64_t a1, uint64_t a2, int64_t a3, int64_t a4); | |
int64_t function_14000ed50(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_14000f298(uint64_t a1, uint64_t a2, int64_t a3); | |
int64_t function_14000f334(int64_t a1, int64_t a2, int64_t a3, int64_t a4, uint32_t a5, int64_t a6, uint32_t a7, int32_t a8, int32_t a9); | |
int64_t function_14000f6e4(int64_t a1); | |
int32_t function_14000f6fc(char * String1, char * String2, int32_t MaxCount); | |
int64_t function_14000f814(int64_t a1, int64_t a2); | |
int64_t function_14000f9ac(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_14000fa34(int64_t lpMem, uint64_t a2); | |
int64_t function_14000fab0(int64_t * a1, int32_t * a2, int64_t * a3, int32_t * a4, int32_t * a5); | |
int64_t function_14000fb24(int64_t a1); | |
int64_t function_14000fbc8(int64_t a1); | |
int64_t function_14000fc88(int64_t a1); | |
int64_t function_14000fca4(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_14000fd94(int64_t a1, int64_t a2, int64_t dwMoveMethod); | |
int64_t function_14000fe30(int64_t a1, int32_t a2, int64_t a3, int64_t a4); | |
int64_t function_14000fe38(int64_t a1, int32_t a2, int64_t a3); | |
int64_t function_14000fe40(int64_t a1); | |
int64_t function_14000fe7c(int64_t * a1, int64_t a2, int64_t a3, int64_t a4); | |
int64_t function_140010054(int64_t * a1, uint32_t a2, int32_t a3); | |
int64_t function_1400100b8(int64_t * a1); | |
int64_t function_1400100d8(int64_t * a1); | |
int64_t function_140010124(int64_t * a1); | |
int64_t function_1400107ec(int64_t a1); | |
int64_t function_1400107f8(void); | |
int64_t function_1400108ec(void); | |
int64_t function_140010940(uint32_t a1); | |
int64_t function_140010a88(uint32_t a1); | |
int64_t function_140010b0c(int64_t a1); | |
int64_t function_140010b78(int64_t a1, int64_t a2); | |
int64_t function_140010b90(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_140010c2c(int64_t a1, int64_t a2, uint64_t a3, int64_t a4); | |
int64_t function_140010cdc(int64_t a1, int64_t a2, int64_t a3, int64_t a4, int32_t a5, int64_t a6, int32_t a7, int32_t a8); | |
int64_t function_1400110c8(void); | |
int64_t function_14001111c(void); | |
int64_t function_140011138(int16_t * lpBuffer, int64_t a2, int64_t * lpNumberOfCharsWritten); | |
int64_t function_1400111f8(void); | |
int64_t function_140011268(int32_t a1, int32_t a2); | |
int64_t function_140011530(int64_t a1); | |
int64_t function_140011598(int64_t a1, int64_t a2); | |
int64_t function_140011654(int64_t a1, int64_t a2, int64_t a3, int64_t a4, int64_t a5, int64_t a6, int64_t a7, int64_t a8, int64_t a9); | |
int128_t function_14001177c(int64_t a1); | |
int64_t function_140011830(void); | |
int64_t function_1400118e0(void); | |
int64_t function_1400118f0(int64_t a1); | |
int64_t function_1400118fa(void); | |
int64_t function_140011930(int64_t * a1, int64_t * a2, int32_t a3, int64_t a4, int64_t * a5, int64_t * a6); | |
int64_t function_140011958(int64_t a1, int64_t a2, int64_t a3, int64_t a4, int64_t a5, int64_t a6, int32_t a7); | |
int64_t function_140011c98(int64_t a1, int64_t a2); | |
int64_t function_140011cb8(int64_t a1, int64_t a2); | |
int64_t function_140011d34(int64_t a1); | |
int64_t function_140011d54(int64_t a1, int32_t a2); | |
int64_t function_140011dc0(int64_t * a1); | |
int64_t function_140011e10(int64_t a1); | |
int64_t function_140011e3c(void); | |
int64_t function_140011e5c(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_140011ed0(uint64_t a1); | |
int64_t function_140011f24(int64_t a1); | |
int64_t function_140011ff8(void); | |
int64_t function_14001200c(int64_t a1); | |
int64_t function_140012200(int64_t a1, int64_t a2, int64_t a3); | |
int64_t function_1400122c8(int64_t a1, int64_t a2); | |
int64_t function_140012404(int64_t a1, int64_t a2); | |
int64_t function_1400124a0(int32_t a1, int64_t a2, int32_t a3); | |
int64_t function_1400124c0(void); | |
int64_t function_1400124d0(int64_t a1, int64_t a2); | |
int64_t function_1400124ee(int64_t a1, int64_t a2); | |
int64_t function_140012506(int64_t a1, int64_t a2); | |
int64_t function_14001259c(void); | |
int64_t function_1400125b7(void); | |
int64_t function_1400125d1(int64_t result, int64_t a2); | |
int64_t function_1400125ec(void); | |
int64_t function_14001261f(void); | |
int64_t function_14001269d(void); | |
int64_t function_1400126be(void); | |
int64_t function_1400126d6(void); | |
int64_t function_1400126f0(void); | |
int64_t function_140012707(int64_t a1, int64_t a2); | |
int64_t function_140012740(int64_t a1, int64_t a2); | |
// --------------------- Global Variables --------------------- | |
void (**g1)() = NULL; // 0x140013260 | |
void (**g2)() = NULL; // 0x140013270 | |
int32_t (**g3)() = NULL; // 0x140013278 | |
int32_t (**g4)() = NULL; // 0x1400132b0 | |
void (**g5)() = NULL; // 0x1400132b8 | |
void (**g6)() = NULL; // 0x1400132d8 | |
void (**g7)() = NULL; // 0x1400132e0 | |
void (**g8)() = NULL; // 0x1400132e8 | |
int128_t g9; // 0x140013300 | |
int64_t g10 = 0x140001d7c; // 0x140013310 | |
char * g11; // 0x140013b12 | |
int64_t g12 = 0x200000000; // 0x1400141b8 | |
int64_t g13 = 0x200000000; // 0x1400141d0 | |
int64_t g14 = 0x200000000; // 0x1400141e0 | |
int64_t g15 = 0x200000000; // 0x1400141f8 | |
int64_t g16 = 0x200000001; // 0x140014210 | |
int64_t g17 = 0x600000000; // 0x140014240 | |
int64_t g18 = 0x1400059b4; // 0x140014760 | |
int32_t * g19 = (int32_t *)0x1600000001; // 0x140014860 | |
int64_t g20 = 0x20002000200020; // 0x140015850 | |
int32_t g21 = 0x540be400; // 0x140019060 | |
char * g22 = "0"; // 0x140019a2c | |
int64_t g23; // 0x14001b510 | |
int32_t g24 = 1; // 0x14001d004 | |
int32_t g25 = 1; // 0x14001d008 | |
int32_t g26 = 2; // 0x14001d00c | |
int64_t g27 = 0x80000; // 0x14001d010 | |
int64_t g28 = 0x2000000; // 0x14001d018 | |
int64_t g29 = 0x2b992ddfa232; // 0x14001d020 | |
int64_t g30 = -0x2b992ddfa233; // 0x14001d028 | |
int32_t g31 = -1; // 0x14001d030 | |
int64_t g32 = 0; // 0x14001d040 | |
int32_t * g33 = NULL; // 0x14001d058 | |
char g34 = 2; // 0x14001d148 | |
int32_t g35 = 0; // 0x14001d160 | |
int32_t g36 = -1; // 0x14001d1a8 | |
int64_t g39 = 0; // 0x14001d320 | |
char * g40 = "\x01\x02\x04\b"; // 0x14001d760 | |
int32_t * g41 = (int32_t *)-0x7d867d9ffffffc5c; // 0x14001d770 | |
char * g42 = "\xa6\xdf"; // 0x14001d780 | |
int32_t g43 = -2; // 0x14001d900 | |
int64_t g44 = -2; // 0x14001da10 | |
char g45 = 1; // 0x14001da18 | |
char g46 = 1; // 0x14001da20 | |
int64_t g47 = 0; // 0x14001da40 | |
int32_t g48 = 0; // 0x14001da48 | |
int32_t g49 = 0; // 0x14001da58 | |
char g50 = 0; // 0x14001da59 | |
int64_t g51 = 0; // 0x14001da60 | |
int64_t g52 = 0; // 0x14001da70 | |
int64_t g53 = 0; // 0x14001da78 | |
int64_t g54 = 0; // 0x14001da88 | |
int64_t g55 = 0; // 0x14001daa0 | |
int32_t g56 = 0; // 0x14001daa8 | |
int32_t g57 = 0; // 0x14001daac | |
int32_t g58 = 0; // 0x14001dac0 | |
int64_t g59 = 0; // 0x14001db38 | |
int32_t g60 = 0; // 0x14001dc20 | |
int64_t g61 = 0; // 0x14001dc28 | |
int32_t g62 = 0; // 0x14001dc30 | |
int64_t g63 = 0; // 0x14001dc31 | |
int32_t g64 = 0; // 0x14001dc34 | |
int64_t g65 = 0; // 0x14001dc38 | |
int32_t g66 = 0; // 0x14001dc40 | |
int64_t g67 = 0; // 0x14001dd48 | |
int64_t g68 = 0; // 0x14001dd50 | |
int64_t g69 = 0; // 0x14001dd60 | |
int64_t g70 = 0; // 0x14001dd68 | |
int32_t g71 = 0; // 0x14001dd70 | |
char g72 = 0; // 0x14001dd78 | |
int32_t g73 = 0; // 0x14001dd80 | |
int64_t g74 = 0; // 0x14001dd88 | |
int64_t g75 = 0; // 0x14001dd90 | |
int64_t g76 = 0; // 0x14001dd98 | |
char * g77; // 0x14001dda0 | |
int32_t g78 = 0; // 0x14001ddb0 | |
int32_t g79 = 0; // 0x14001ddb4 | |
int64_t g80 = 0; // 0x14001ddb8 | |
int64_t g81 = 0; // 0x14001ddc0 | |
int64_t g82 = 0; // 0x14001ddd8 | |
int64_t g83 = 0; // 0x14001ddf0 | |
char * g84; // 0x14001dea0 | |
int64_t g85 = 0; // 0x14001dfb0 | |
int32_t g86 = 0; // 0x14001e3b0 | |
int64_t g87 = 0; // 0x14001e3b8 | |
int64_t g88 = 0; // 0x14001e3c8 | |
int64_t g89 = 0; // 0x14001e3d0 | |
int64_t g90 = 0; // 0x14001e3d8 | |
int128_t * g91 = NULL; // 0x14001e3e0 | |
int128_t * g92 = NULL; // 0x14001e3e8 | |
int64_t g93 = 0; // 0x14001e3f0 | |
int32_t g94 = 0; // 0x14001e3f8 | |
int32_t g95 = 0; // 0x14001e634 | |
int64_t g96 = 0; // 0x14001e640 | |
int64_t g97 = 0; // 0x14001e648 | |
int64_t g98 = 0; // 0x14001e650 | |
int64_t g99 = 0; // 0x14001e658 | |
int64_t g100 = 0; // 0x14001e660 | |
int64_t g101 = 0; // 0x14001e668 | |
int32_t * g102 = NULL; // 0x14001e670 | |
int64_t g103 = 0; // 0x14001e680 | |
int64_t g104 = 0; // 0x14001e684 | |
int64_t g105 = 0; // 0x14001e698 | |
int64_t g106 = 0; // 0x14001e6a0 | |
int64_t g107 = 0; // 0x14001e720 | |
int64_t g108 = 0; // 0x14001e7a0 | |
int64_t g109 = 0; // 0x14001e7b8 | |
int32_t g110 = 0; // 0x14001ebf0 | |
int64_t g111 = 0; // 0x14001ebf8 | |
int64_t g112 = 0; // 0x14001ec00 | |
int32_t g113; | |
int64_t * g37 = &g20; // 0x14001d1b0 | |
int64_t * g38 = &g39; // 0x14001d310 | |
// ------------------------ Functions ------------------------- | |
// Address range: 0x140001000 - 0x140001017 | |
int64_t function_140001000(int32_t a1, int64_t a2, int64_t a3) { | |
// 0x140001000 | |
int64_t v1; // 0x140001000 | |
function_140001020("Hello, world!\n", a2, a3, v1); | |
return 0; | |
} | |
// Address range: 0x140001020 - 0x14000108d | |
int64_t function_140001020(char * a1, int64_t a2, int64_t a3, int64_t a4) { | |
int64_t v1 = a2; // bp+16, 0x14000102e | |
int64_t * v2 = __acrt_iob_func(1); // 0x14000105b | |
int64_t v3 = function_1400010a0((int64_t)v2, (int64_t)a1, 0, (int64_t)&v1); // 0x140001072 | |
return v3 & 0xffffffff; | |
} | |
// Address range: 0x140001090 - 0x140001098 | |
int64_t function_140001090(void) { | |
// 0x140001090 | |
return &g47; | |
} | |
// Address range: 0x1400010a0 - 0x14000110f | |
int64_t function_1400010a0(int64_t a1, int64_t a2, int64_t a3, int64_t a4) { | |
int64_t v1 = *(int64_t *)function_140001090(); // 0x1400010fc | |
return __stdio_common_vfprintf(v1, (struct _IO_FILE *)a1, (char *)a2, a3, a4); | |
} | |
// Address range: 0x140001110 - 0x1400011d8 | |
int64_t function_140001110(void) { | |
// 0x140001110 | |
function_1400048a0(1); | |
_set_fmode((int32_t)function_14000168c()); | |
int64_t v1 = function_140001680(); // 0x14000112c | |
*(int32_t *)function_1400055b0() = (int32_t)v1; | |
if ((char)function_14000140c(1) != 0) { | |
// 0x140001148 | |
function_140001908(); | |
function_1400015bc(0x140001944); | |
int64_t ListHead = function_140001684() & 0xffffffff; // 0x14000115e | |
if ((int32_t)function_140004b48(ListHead) == 0) { | |
// 0x140001169 | |
InitializeSListHead((int64_t *)ListHead); | |
if ((int32_t)function_1400016d0() != 0) { | |
// 0x140001177 | |
__setusermatherr(0x140001680); | |
} | |
// 0x140001183 | |
function_1400016a8(); | |
function_1400016a8(); | |
_configthreadlocale((int32_t)function_140001680()); | |
if ((char)function_1400016a4() != 0) { | |
// 0x1400011a2 | |
function_140005058(); | |
} | |
// 0x1400011a7 | |
function_140001680(); | |
int64_t result = function_140001840(); // 0x1400011ac | |
if ((int32_t)result == 0) { | |
// 0x1400011b5 | |
return result; | |
} | |
} | |
} | |
// 0x1400011bb | |
int64_t v2; // 0x140001110 | |
function_1400016f4(7, v2); | |
__asm_int3(); | |
__asm_int3(); | |
__asm_int3(); | |
function_1400016b4(); | |
return 0; | |
} | |
// Address range: 0x1400011d8 - 0x1400011f1 | |
int64_t function_1400011d8(void) { | |
// 0x1400011d8 | |
int64_t lpTopLevelExceptionFilter; // 0x1400011d8 | |
SetUnhandledExceptionFilter((int32_t (*)(struct _EXCEPTION_POINTERS *))lpTopLevelExceptionFilter); | |
return _set_new_mode((int32_t)function_140001680()); | |
} | |
// Address range: 0x1400011f4 - 0x140001370 | |
int64_t function_1400011f4(void) { | |
// 0x1400011f4 | |
int64_t v1; // 0x1400011f4 | |
if ((char)function_1400013c0(1) == 0) { | |
// 0x14000134b | |
function_1400016f4(7, v1); | |
// 0x140001356 | |
function_1400016f4(7, v1); | |
// 0x140001360 | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z((int32_t)&g113, (int64_t)&g113, (int64_t)&g113); | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z((int32_t)&g113, (int64_t)&g113, (int64_t)&g113); | |
return &g113; | |
} | |
int64_t v2 = __scrt_acquire_startup_lock(); // 0x14000121d | |
if (g48 == 1) { | |
// 0x140001356 | |
function_1400016f4(7, v1); | |
// 0x140001360 | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z((int32_t)&g113, (int64_t)&g113, (int64_t)&g113); | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z((int32_t)&g113, (int64_t)&g113, (int64_t)&g113); | |
return &g113; | |
} | |
int64_t v3 = g48; // 0x140001235 | |
char v4 = 1; // 0x140001235 | |
if (g48 == 0) { | |
// 0x140001237 | |
g48 = 1; | |
if (_initterm_e((int32_t (**)())&g3, (int32_t (**)())&g4) != 0) { | |
// 0x14000133b | |
return 255; | |
} | |
// 0x140001262 | |
_initterm((void (**)())&g1, (void (**)())&g2); | |
g48 = 2; | |
v3 = (int64_t)&g1; | |
v4 = 0; | |
} | |
// 0x140001289 | |
__scrt_release_startup_lock(v3 & -256 | v2 & 255); | |
int64_t v5 = function_1400016dc(); // 0x140001290 | |
if (*(int64_t *)v5 != 0) { | |
// 0x14000129e | |
if ((char)function_140001498(v5) != 0) { | |
// 0x1400012aa | |
function_1400124a0(0, 2, 0); | |
} | |
} | |
int64_t v6 = function_1400016e4(); // 0x1400012bc | |
int64_t * v7 = (int64_t *)v6; // 0x1400012c4 | |
if (*v7 != 0) { | |
// 0x1400012ca | |
if ((char)function_140001498(v6) != 0) { | |
// 0x1400012d6 | |
function_1400053a4(*v7); | |
} | |
} | |
char ** v8 = _get_initial_narrow_environment(); // 0x1400012de | |
int64_t v9 = *(int64_t *)function_14000545c(); // 0x1400012eb | |
uint32_t v10 = *(int32_t *)function_140005454(); // 0x1400012f9 | |
int64_t v11 = v10; // 0x1400012f9 | |
int64_t v12 = function_140001000(v10, v9, (int64_t)v8); // 0x1400012fb | |
if ((char)function_140001848(v11) == 0) { | |
// 0x140001360 | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z((int32_t)&g113, (int64_t)&g113, (int64_t)&g113); | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z((int32_t)&g113, (int64_t)&g113, (int64_t)&g113); | |
return &g113; | |
} | |
if (v4 == 0) { | |
// 0x140001310 | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z((int32_t)&g113, (int64_t)&g113, (int64_t)&g113); | |
} | |
// 0x140001315 | |
function_140001554(v11 & 0xffffff00 | 1, 0); | |
// 0x14000133b | |
return v12 & 0xffffffff; | |
} | |
// Address range: 0x140001370 - 0x140001382 | |
int64_t entry_point(void) { | |
// 0x140001370 | |
function_1400015d4(); | |
return function_1400011f4(); | |
} | |
// Address range: 0x1400013c0 - 0x140001409 | |
int64_t function_1400013c0(int64_t a1) { | |
char v1 = (int32_t)a1 == 0 ? 1 : *(char *)&g49; // 0x1400013d4 | |
*(char *)&g49 = v1; | |
function_140001980(a1); | |
int64_t v2 = function_140001d38(); // 0x1400013e2 | |
if ((char)v2 == 0) { | |
// 0x140001403 | |
return v2 & -256; | |
} | |
int64_t v3 = function_140005ae0(); // 0x1400013ef | |
if ((char)v3 != 0) { | |
// 0x140001403 | |
return v3 & -256 | 1; | |
} | |
// 0x140001403 | |
return function_140001d60(0) & -256; | |
} | |
// Address range: 0x14000140c - 0x140001498 | |
int64_t function_14000140c(int64_t a1) { | |
// 0x14000140c | |
if (g50 != 0) { | |
// 0x140001486 | |
int64_t v1; // 0x14000140c | |
return v1 & -256 | 1; | |
} | |
uint32_t v2 = (int32_t)a1; // 0x14000141d | |
if (v2 >= 2) { | |
// 0x14000148c | |
int64_t v3; // 0x14000140c | |
function_1400016f4(5, v3); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
// 0x140001422 | |
int64_t v4; // 0x14000140c | |
if (v2 != 0 | (int32_t)function_140001b2c() == 0) { | |
int128_t v5 = __asm_movdqa_9(g9); // 0x140001453 | |
__asm_movdqu(*(int128_t *)&g51, v5); | |
g52 = -1; | |
__asm_movdqu(*(int128_t *)&g53, v5); | |
g54 = -1; | |
v4 = -1; | |
} else { | |
int64_t v6 = function_140005944(&g51); // 0x140001436 | |
if ((int32_t)v6 != 0) { | |
// 0x140001486 | |
return v6 & -256; | |
} | |
int64_t v7 = function_140005944(&g53); // 0x140001446 | |
v4 = v7; | |
if ((int32_t)v7 != 0) { | |
// 0x140001486 | |
return v7 & -256; | |
} | |
} | |
// 0x14000147d | |
g50 = 1; | |
// 0x140001486 | |
return v4 & -256 | 1; | |
} | |
// Address range: 0x140001498 - 0x140001529 | |
int64_t function_140001498(int64_t a1) { | |
// 0x140001498 | |
if (*(int16_t *)0x140000000 != 0x5a4d) { | |
// 0x140001525 | |
return function_14000152b((int32_t)a1); | |
} | |
int64_t v1 = (int64_t)*(int32_t *)0x14000003c; // 0x1400014ad | |
int64_t v2 = v1 + 0x140000000; // 0x1400014bb | |
if (*(int32_t *)v2 != 0x4550) { | |
// 0x140001525 | |
return function_14000152b((int32_t)v2); | |
} | |
int64_t v3 = v1 + 0x140000018; // 0x1400014cb | |
if (*(int16_t *)v3 != 523) { | |
// 0x140001525 | |
return function_14000152b((int32_t)v2); | |
} | |
uint64_t v4 = a1 - 0x140000000; // 0x1400014d1 | |
int64_t v5 = v3 + (int64_t)*(int16_t *)(v1 + 0x140000014); // 0x1400014dc | |
uint16_t v6 = *(int16_t *)(v1 + 0x140000006); // 0x1400014df | |
int64_t v7 = v6; // 0x1400014df | |
if (v6 == 0) { | |
// 0x14000150e | |
return function_14000152b((int32_t)(5 * v7)); | |
} | |
uint32_t v8 = *(int32_t *)(v5 + 12); // 0x1400014f4 | |
int64_t v9 = v8; // 0x1400014f4 | |
if (v4 >= v9) { | |
// 0x1400014fc | |
if (v4 < (int64_t)(*(int32_t *)(v5 + 8) + v8)) { | |
// break -> 0x14000150e | |
break; | |
} | |
} | |
int64_t v10 = v5 + 40; // 0x140001506 | |
while (v10 != 40 * v7 + v5) { | |
int64_t v11 = v10; | |
v8 = *(int32_t *)(v11 + 12); | |
v9 = v8; | |
if (v4 >= v9) { | |
// 0x1400014fc | |
if (v4 < (int64_t)(*(int32_t *)(v11 + 8) + v8)) { | |
// break -> 0x14000150e | |
break; | |
} | |
} | |
// 0x140001506 | |
v10 = v11 + 40; | |
} | |
// 0x14000150e | |
return function_14000152b((int32_t)v9); | |
} | |
// Address range: 0x140001529 - 0x14000152b | |
int64_t function_140001529(void) { | |
// 0x140001529 | |
int64_t v1; // 0x140001529 | |
return v1 & -256; | |
} | |
// Address range: 0x14000152b - 0x140001530 | |
int64_t function_14000152b(int32_t a1) { | |
// 0x14000152b | |
int64_t result; // 0x14000152b | |
return result; | |
} | |
// Address range: 0x140001554 - 0x14000157d | |
int64_t function_140001554(int64_t a1, int32_t a2) { | |
// 0x140001554 | |
if (*(char *)&g49 != 0) { | |
if ((char)a2 != 0) { | |
// 0x140001575 | |
int64_t v1; // 0x140001554 | |
return v1 & -256 | 1; | |
} | |
} | |
// 0x140001569 | |
function_140005af4(a1); | |
// 0x140001575 | |
return function_140001d60((int32_t)a1) & -256 | 1; | |
} | |
// Address range: 0x140001580 - 0x1400015ba | |
int64_t function_140001580(int64_t a1) { | |
// 0x140001580 | |
int64_t v1; // 0x140001580 | |
if (g51 != -1) { | |
// 0x14000159a | |
v1 = function_14000596c(&g51, a1); | |
} else { | |
// 0x140001593 | |
v1 = function_1400058f8(a1); | |
} | |
// 0x1400015a9 | |
return (int32_t)v1 == 0 ? a1 : 0; | |
} | |
// Address range: 0x1400015bc - 0x1400015d3 | |
int64_t function_1400015bc(int64_t a1) { | |
// 0x1400015bc | |
return function_140001580(a1) == 0 ? 0xffffffff : 0; | |
} | |
// Address range: 0x1400015d4 - 0x140001680 | |
int64_t function_1400015d4(void) { | |
int64_t v1 = g29; // 0x1400015f5 | |
if (g29 == 0x2b992ddfa232) { | |
int64_t lpSystemTimeAsFileTime = 0; // bp+16, 0x1400015f7 | |
GetSystemTimeAsFileTime((struct _FILETIME *)&lpSystemTimeAsFileTime); | |
int64_t v2 = lpSystemTimeAsFileTime ^ (int64_t)GetCurrentThreadId() ^ (int64_t)GetCurrentProcessId(); | |
int64_t v3 = v2; // 0x140001626 | |
int32_t lpPerformanceCount; // bp+24, 0x1400015d4 | |
QueryPerformanceCounter((struct _LARGE_INTEGER *)&lpPerformanceCount); | |
int32_t v4 = lpPerformanceCount; | |
int64_t v5 = (v2 ^ (int64_t)&v3 ^ (int64_t)v4 ^ 0x100000000 * (int64_t)v4) & 0xffffffffffff; // 0x140001650 | |
v1 = v5 == 0x2b992ddfa232 ? 0x2b992ddfa233 : v5; | |
g29 = v1; | |
} | |
int64_t result = -1 - v1; | |
g30 = result; | |
return result; | |
} | |
// Address range: 0x140001680 - 0x140001683 | |
int64_t function_140001680(void) { | |
// 0x140001680 | |
return 0; | |
} | |
// Address range: 0x140001684 - 0x14000168a | |
int64_t function_140001684(void) { | |
// 0x140001684 | |
return 1; | |
} | |
// Address range: 0x14000168c - 0x140001692 | |
int64_t function_14000168c(void) { | |
// 0x14000168c | |
return 0x4000; | |
} | |
// Address range: 0x140001694 - 0x1400016a2 | |
void function_140001694(int64_t * ListHead) { | |
// 0x140001694 | |
InitializeSListHead(ListHead); | |
} | |
// Address range: 0x1400016a4 - 0x1400016a7 | |
int64_t function_1400016a4(void) { | |
// 0x1400016a4 | |
int64_t v1; // 0x1400016a4 | |
return v1 & -256 | 1; | |
} | |
// Address range: 0x1400016a8 - 0x1400016ab | |
int64_t function_1400016a8(void) { | |
// 0x1400016a8 | |
int64_t result; // 0x1400016a8 | |
return result; | |
} | |
// Address range: 0x1400016ac - 0x1400016b4 | |
int64_t function_1400016ac(void) { | |
// 0x1400016ac | |
return &g55; | |
} | |
// Address range: 0x1400016b4 - 0x1400016cf | |
int64_t function_1400016b4(void) { | |
int64_t * v1 = (int64_t *)function_140001090(); // 0x1400016bd | |
*v1 = *v1 | 36; | |
int64_t result = function_1400016ac(); // 0x1400016c1 | |
int64_t * v2 = (int64_t *)result; // 0x1400016c6 | |
*v2 = *v2 | 2; | |
return result; | |
} | |
// Address range: 0x1400016d0 - 0x1400016dc | |
int64_t function_1400016d0(void) { | |
// 0x1400016d0 | |
return g24 == 0; | |
} | |
// Address range: 0x1400016dc - 0x1400016e4 | |
int64_t function_1400016dc(void) { | |
// 0x1400016dc | |
return &g112; | |
} | |
// Address range: 0x1400016e4 - 0x1400016ec | |
int64_t function_1400016e4(void) { | |
// 0x1400016e4 | |
return &g111; | |
} | |
// Address range: 0x1400016ec - 0x1400016f4 | |
int64_t function_1400016ec(int64_t a1) { | |
// 0x1400016ec | |
g56 = 0; | |
int64_t result; // 0x1400016ec | |
return result; | |
} | |
// Address range: 0x1400016f4 - 0x14000183f | |
int64_t function_1400016f4(int64_t a1, int64_t a2) { | |
// 0x1400016f4 | |
if (IsProcessorFeaturePresent(23)) { | |
// 0x14000171a | |
__asm_int(41); | |
} | |
// 0x14000171e | |
function_1400016ec(3); | |
int64_t v1; // bp-1240, 0x1400016f4 | |
int64_t v2; // 0x1400016f4 | |
function_140001e50(&v1, 0, 1232, v2); | |
RtlCaptureContext((struct _CONTEXT *)&v1); | |
int64_t v3; // bp+16, 0x1400016f4 | |
int64_t v4; // 0x1400016f4 | |
struct _IMAGE_RUNTIME_FUNCTION_ENTRY * v5 = RtlLookupFunctionEntry(v4, &v3, NULL); // 0x140001757 | |
int64_t v6; // 0x1400016f4 | |
if (v5 != NULL) { | |
// 0x140001762 | |
int64_t v7; // bp+24, 0x1400016f4 | |
int64_t v8; // bp+32, 0x1400016f4 | |
RtlVirtualUnwind(0, v3, v4, v5, (struct _CONTEXT *)&v1, (int64_t **)&v8, &v7, NULL); | |
v6 = (int64_t)v5; | |
} | |
// 0x14000179e | |
int64_t v9; // bp-1400, 0x1400016f4 | |
function_140001e50(&v9, 0, 152, v6); | |
v9 = 0x40000015; | |
IsDebuggerPresent(); | |
int64_t ExceptionInfo = &v9; // bp-1416, 0x1400017fa | |
SetUnhandledExceptionFilter(NULL); | |
int32_t v10 = UnhandledExceptionFilter((struct _EXCEPTION_POINTERS *)&ExceptionInfo); // 0x140001818 | |
int64_t v11 = v10; // 0x140001818 | |
int64_t result = v11; // 0x140001820 | |
if (v10 == 0) { | |
// 0x140001826 | |
result = function_1400016ec(v11 + 3 & 0xffffffff); | |
} | |
// 0x14000182e | |
return result; | |
} | |
// Address range: 0x140001840 - 0x140001845 | |
int64_t function_140001840(void) { | |
// 0x140001840 | |
return function_140001680(); | |
} | |
// Address range: 0x140001848 - 0x140001899 | |
int64_t function_140001848(int64_t a1) { | |
int64_t * v1 = GetModuleHandleW(NULL); // 0x14000184e | |
int64_t v2 = (int64_t)v1; // 0x14000184e | |
if (v1 == NULL || *(int16_t *)v1 != 0x5a4d) { | |
// 0x140001894 | |
return v2 & -256; | |
} | |
int64_t v3 = (int64_t)*(int32_t *)(v2 + 60) + v2; // 0x140001867 | |
if (*(int32_t *)v3 != 0x4550) { | |
// 0x140001894 | |
return v2 & -256; | |
} | |
// 0x140001872 | |
if (*(int16_t *)(v3 + 24) != 523 || *(int32_t *)(v3 + 132) < 15) { | |
// 0x140001894 | |
return 512; | |
} | |
// 0x140001894 | |
return (int64_t)(*(int32_t *)(v3 + 248) != 0) | 512; | |
} | |
// Address range: 0x14000189c - 0x1400018aa | |
int32_t (*function_14000189c(int32_t (*lpTopLevelExceptionFilter)(struct _EXCEPTION_POINTERS *)))(struct _EXCEPTION_POINTERS *) { | |
// 0x14000189c | |
return SetUnhandledExceptionFilter(lpTopLevelExceptionFilter); | |
} | |
// Address range: 0x1400018ac - 0x140001908 | |
int64_t function_1400018ac(int64_t a1) { | |
// 0x1400018ac | |
if ((int32_t)a1 != -0x1f928c9d || *(int32_t *)(a1 + 24) != 4) { | |
// 0x1400018e0 | |
return 0; | |
} | |
uint32_t v1 = *(int32_t *)(a1 + 32); // 0x1400018ca | |
switch (v1) { | |
case 0x19930522: { | |
} | |
case 0x19930521: { | |
} | |
case 0x19930520: { | |
} | |
case 0x1994000: { | |
// 0x1400018ed | |
*(int64_t *)function_140001df0() = a1; | |
*(int64_t *)function_140001e04() = *(int64_t *)(a1 + 8); | |
int64_t v2; // 0x1400018ac | |
terminate(a1, (int64_t)v1, v2); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
} | |
// 0x1400018e0 | |
return 0; | |
} | |
// Address range: 0x140001908 - 0x140001944 | |
int64_t function_140001908(void) { | |
// 0x140001939 | |
int64_t result; // 0x140001908 | |
return result; | |
} | |
// Address range: 0x140001944 - 0x140001980 | |
int64_t function_140001944(void) { | |
// 0x140001975 | |
int64_t result; // 0x140001944 | |
return result; | |
} | |
// Address range: 0x140001980 - 0x140001b2c | |
int64_t function_140001980(int64_t a1) { | |
struct struct2 v1; // 0x140001993 | |
struct struct1 v2; // 0x1400019ba | |
struct struct3 v3; // 0x140001a4a | |
// 0x140001980 | |
v1 = __asm_cpuid(0); | |
v2 = __asm_cpuid_6(1); | |
int32_t v4; // 0x140001980 | |
if ((v1.e3 ^ 0x49656e69 || v1.e2 ^ 0x6c65746e || v1.e1 ^ 0x756e6547) != 0) { | |
// 0x140001a34 | |
v4 = g57; | |
goto lab_0x140001a3b; | |
} else { | |
// 0x1400019d9 | |
g28 = -1; | |
int32_t v5 = v2.e0 & 0xfff3ff0; | |
g27 = 0x8000; | |
switch (v5) { | |
case 0x106c0: { | |
goto lab_0x140001a20; | |
} | |
case 0x20660: { | |
goto lab_0x140001a20; | |
} | |
case 0x20670: { | |
goto lab_0x140001a20; | |
} | |
default: { | |
if (v5 < 0x30671) { | |
if ((1 << (int64_t)(v5 + 48 & 48) & 0x100010001) == 0) { | |
// 0x140001a34 | |
v4 = g57; | |
goto lab_0x140001a3b; | |
} else { | |
goto lab_0x140001a20; | |
} | |
} else { | |
// 0x140001a34 | |
v4 = g57; | |
goto lab_0x140001a3b; | |
} | |
} | |
} | |
} | |
lab_0x140001a3b:; | |
int32_t v6 = v2.e3; // 0x140001a46 | |
int64_t v7 = 0; // 0x140001a46 | |
if (v1.e0 >= 7) { | |
// 0x140001a48 | |
v3 = __asm_cpuid_7(7); | |
uint32_t v8 = v3.e1; // 0x140001a4a | |
int32_t v9 = v3.e3; // 0x140001a4a | |
int64_t v10 = v8; // 0x140001a4f | |
v6 = v9; | |
v7 = v10; | |
if ((v8 & 512) != 0) { | |
// 0x140001a64 | |
g57 = v4 | 2; | |
v6 = v9; | |
v7 = v10; | |
} | |
} | |
int64_t v11 = v2.e2; // 0x1400019cd | |
g25 = 1; | |
g26 = 2; | |
if ((v11 & 0x100000) == 0) { | |
// 0x140001b1a | |
return 0; | |
} | |
// 0x140001a89 | |
g25 = 2; | |
g26 = 6; | |
if ((v11 & 0x8000000) == 0) { | |
// 0x140001b1a | |
return 0; | |
} | |
if ((v11 & 0x10000000) == 0) { | |
// 0x140001b1a | |
return 0; | |
} | |
int64_t v12 = __asm_xgetbv(0, v6); // 0x140001aa9 | |
if ((v12 & 6) != 6) { | |
// 0x140001b1a | |
return 0; | |
} | |
int32_t v13 = g26; // 0x140001ac3 | |
g25 = 3; | |
g26 = v13 | 8; | |
if ((v7 & 32) == 0) { | |
// 0x140001b1a | |
return 0; | |
} | |
// 0x140001ae2 | |
g25 = 5; | |
g26 = v13 | 40; | |
if ((v7 & 0xd0030000) == 0xd0030000 == (char)v12 > 223) { | |
// 0x140001b0d | |
g26 = v13 | 104; | |
g25 = 6; | |
} | |
// 0x140001b1a | |
return 0; | |
lab_0x140001a20:; | |
int32_t v14 = g57 | 1; // 0x140001a27 | |
g57 = v14; | |
v4 = v14; | |
goto lab_0x140001a3b; | |
} | |
// Address range: 0x140001b2c - 0x140001b38 | |
int64_t function_140001b2c(void) { | |
// 0x140001b2c | |
return g110 != 0; | |
} | |
// Address range: 0x140001b40 - 0x140001d37 | |
int64_t function_140001b40(int64_t a1, int64_t a2, int64_t a3, int64_t a4) { | |
// 0x140001b40 | |
function_140002224(a3); | |
int64_t v1 = *(int64_t *)(a4 + 8); // 0x140001b70 | |
int64_t v2 = *(int64_t *)(a4 + 56); // 0x140001b77 | |
uint64_t v3 = a4 - v1; // 0x140001b7b | |
int64_t v4 = a1 + 4; // 0x140001b7e | |
int32_t * v5 = (int32_t *)(a4 + 72); // 0x140001b82 | |
uint32_t v6 = *v5; // 0x140001b82 | |
int64_t v7 = v6; // 0x140001b82 | |
if ((*(char *)v4 & 102) != 0) { | |
int32_t * v8 = (int32_t *)v2; // 0x140001d0a | |
uint32_t v9 = *v8; // 0x140001d0a | |
if (v9 <= v6) { | |
// 0x140001d19 | |
return 1; | |
} | |
uint64_t v10 = *(int64_t *)(a4 + 32) - v1; // 0x140001c6c | |
int64_t v11 = v2 + 4; // 0x140001c79 | |
int64_t v12 = v2 + 8; | |
int64_t v13 = v2 + 12; | |
int64_t v14 = v2 + 16; | |
int64_t v15 = 16 * v7; // 0x140001c74 | |
int32_t v16 = v9; // 0x140001c80 | |
int32_t * v17; // 0x140001b40 | |
int64_t v18; // 0x140001b40 | |
int64_t v19; // 0x140001b40 | |
int32_t v20; // 0x140001c8f | |
uint32_t v21; // 0x140001cdd | |
int32_t * v22; // 0x140001b40 | |
int64_t v23; // 0x140001ca0 | |
int64_t v24; // 0x140001cd0 | |
int64_t v25; // 0x140001cd0 | |
if (v3 >= (int64_t)*(int32_t *)(v15 + v11)) { | |
// 0x140001c86 | |
v16 = v9; | |
if (v3 < (int64_t)*(int32_t *)(v15 + v12)) { | |
// 0x140001c8f | |
v20 = *(int32_t *)v4; | |
v17 = (int32_t *)(v15 + v14); | |
if ((v20 & 32) != 0) { | |
// 0x140001ca0 | |
v22 = (int32_t *)(v15 + v13); | |
v18 = 0; | |
v23 = 16 * v18; | |
if (v10 >= (int64_t)*(int32_t *)(v23 + v11)) { | |
// 0x140001cb0 | |
if (v10 < (int64_t)*(int32_t *)(v23 + v12)) { | |
// 0x140001cba | |
if (*(int32_t *)(v23 + v14) == *v17) { | |
// 0x140001cc5 | |
if (*(int32_t *)(v23 + v13) == *v22) { | |
// break -> 0x140001cd8 | |
break; | |
} | |
} | |
} | |
} | |
// 0x140001cd0 | |
v24 = v18 + 1; | |
v25 = v24 & 0xffffffff; | |
v19 = v25; | |
while (v9 > (int32_t)v24) { | |
// 0x140001ca0 | |
v18 = v25; | |
v23 = 16 * v18; | |
if (v10 >= (int64_t)*(int32_t *)(v23 + v11)) { | |
// 0x140001cb0 | |
if (v10 < (int64_t)*(int32_t *)(v23 + v12)) { | |
// 0x140001cba | |
if (*(int32_t *)(v23 + v14) == *v17) { | |
// 0x140001cc5 | |
v19 = v18; | |
if (*(int32_t *)(v23 + v13) == *v22) { | |
// break -> 0x140001cd8 | |
break; | |
} | |
} | |
} | |
} | |
// 0x140001cd0 | |
v24 = v18 + 1; | |
v25 = v24 & 0xffffffff; | |
v19 = v25; | |
} | |
// 0x140001cd8 | |
if (v9 != (int32_t)v19) { | |
// break -> 0x140001d19 | |
break; | |
} | |
} | |
// 0x140001cdd | |
v21 = *v17; | |
if (v21 == 0) { | |
// 0x140001cf1 | |
*v5 = v6 + 1; | |
v16 = *v8; | |
} else { | |
// 0x140001ce5 | |
v16 = v9; | |
if ((v20 & 32) != 0 == v10 == (int64_t)v21) { | |
// break -> 0x140001d19 | |
break; | |
} | |
} | |
} | |
} | |
int32_t v26 = v16; // 0x140001d0a | |
int64_t v27 = v7 + 1; // 0x140001d08 | |
int32_t v28 = v27; // 0x140001d0c | |
int64_t v29 = v27 & 0xffffffff; // 0x140001d0e | |
while (v26 > v28) { | |
int32_t v30 = v26; | |
v15 = 16 * v29; | |
v16 = v30; | |
if (v3 >= (int64_t)*(int32_t *)(v15 + v11)) { | |
// 0x140001c86 | |
v16 = v30; | |
if (v3 < (int64_t)*(int32_t *)(v15 + v12)) { | |
int32_t v31 = v28; | |
v20 = *(int32_t *)v4; | |
v17 = (int32_t *)(v15 + v14); | |
if ((v20 & 32) != 0) { | |
// 0x140001ca0 | |
v22 = (int32_t *)(v15 + v13); | |
v18 = 0; | |
v23 = 16 * v18; | |
if (v10 >= (int64_t)*(int32_t *)(v23 + v11)) { | |
// 0x140001cb0 | |
if (v10 < (int64_t)*(int32_t *)(v23 + v12)) { | |
// 0x140001cba | |
if (*(int32_t *)(v23 + v14) == *v17) { | |
// 0x140001cc5 | |
if (*(int32_t *)(v23 + v13) == *v22) { | |
// break -> 0x140001cd8 | |
break; | |
} | |
} | |
} | |
} | |
// 0x140001cd0 | |
v24 = v18 + 1; | |
v25 = v24 & 0xffffffff; | |
v19 = v25; | |
while (v30 > (int32_t)v24) { | |
// 0x140001ca0 | |
v18 = v25; | |
v23 = 16 * v18; | |
if (v10 >= (int64_t)*(int32_t *)(v23 + v11)) { | |
// 0x140001cb0 | |
if (v10 < (int64_t)*(int32_t *)(v23 + v12)) { | |
// 0x140001cba | |
if (*(int32_t *)(v23 + v14) == *v17) { | |
// 0x140001cc5 | |
v19 = v18; | |
if (*(int32_t *)(v23 + v13) == *v22) { | |
// break -> 0x140001cd8 | |
break; | |
} | |
} | |
} | |
} | |
// 0x140001cd0 | |
v24 = v18 + 1; | |
v25 = v24 & 0xffffffff; | |
v19 = v25; | |
} | |
// 0x140001cd8 | |
if (v30 != (int32_t)v19) { | |
// break -> 0x140001d19 | |
break; | |
} | |
} | |
// 0x140001cdd | |
v21 = *v17; | |
if (v21 == 0) { | |
// 0x140001cf1 | |
*v5 = v31 + 1; | |
v16 = *v8; | |
} else { | |
// 0x140001ce5 | |
v16 = v30; | |
if ((v20 & 32) != 0 == v10 == (int64_t)v21) { | |
// break -> 0x140001d19 | |
break; | |
} | |
} | |
} | |
} | |
// 0x140001d08 | |
v26 = v16; | |
v27 = v29 + 1; | |
v28 = v27; | |
v29 = v27 & 0xffffffff; | |
} | |
// 0x140001d19 | |
return 1; | |
} | |
int32_t * v32 = (int32_t *)v2; // 0x140001b96 | |
uint32_t v33 = *v32; // 0x140001b96 | |
if (v33 <= v6) { | |
// 0x140001d19 | |
return 1; | |
} | |
// 0x140001b9e | |
int64_t v34; // 0x140001b40 | |
int64_t * v35 = (int64_t *)(v34 & 0xffffffff); | |
int32_t v36 = v33; // 0x140001b96 | |
int64_t v37 = v7; // 0x140001b40 | |
int32_t v38; // 0x140001b40 | |
int64_t result; // 0x140001b40 | |
int32_t * v39; // 0x140001bbd | |
while (true) { | |
lab_0x140001b9e:; | |
int32_t v40 = v36; | |
int64_t v41 = 16 * v37 + v2; | |
v38 = v40; | |
if (v3 < (int64_t)*(int32_t *)(v41 + 4)) { | |
goto lab_0x140001c5a; | |
} else { | |
// 0x140001bb0 | |
v38 = v40; | |
if (v3 >= (int64_t)*(int32_t *)(v41 + 8)) { | |
goto lab_0x140001c5a; | |
} else { | |
// 0x140001bbd | |
v39 = (int32_t *)(v41 + 16); | |
v38 = v40; | |
if (*v39 == 0) { | |
goto lab_0x140001c5a; | |
} else { | |
int32_t v42 = *(int32_t *)(v41 + 12); // 0x140001bc8 | |
if (v42 == 1) { | |
goto lab_0x140001be6; | |
} else { | |
int32_t v43 = v42 + (int32_t)v1; // 0x140001be0 | |
result = 0; | |
if (v43 < 0) { | |
// break -> 0x140001d19 | |
break; | |
} | |
// 0x140001be4 | |
v38 = v40; | |
if (v43 == 0) { | |
goto lab_0x140001c5a; | |
} else { | |
goto lab_0x140001be6; | |
} | |
} | |
} | |
} | |
} | |
} | |
// 0x140001d19 | |
return result; | |
lab_0x140001c5a: | |
// 0x140001c5a | |
v36 = v38; | |
int64_t v44 = v37 + 1; // 0x140001c5a | |
v37 = v44 & 0xffffffff; | |
result = 1; | |
if (v36 <= (int32_t)v44) { | |
return result; | |
} | |
goto lab_0x140001b9e; | |
lab_0x140001be6: | |
if ((int32_t)v34 == -0x1f928c9d) { | |
// 0x140001bf9 | |
if ((int32_t)function_140011dc0(&g10) != 0) { | |
// 0x140001c09 | |
function_140001d7c(a1, 1); | |
} | |
} | |
// 0x140001c17 | |
_NLG_Notify(v1 + (int64_t)*v39, a2, 1); | |
int64_t v45 = *(int64_t *)(a4 + 64); // 0x140001c2c | |
uint32_t v46 = *v39; // 0x140001c33 | |
int64_t v47 = *(int64_t *)(a4 + 40); // 0x140001c46 | |
RtlUnwindEx((int64_t *)a2, (int64_t *)(v1 + (int64_t)v46), (struct _EXCEPTION_RECORD *)a1, v35, (struct _CONTEXT *)v47, (struct _UNWIND_HISTORY_TABLE *)v45); | |
function_140002220(a2); | |
v38 = *v32; | |
goto lab_0x140001c5a; | |
} | |
// Address range: 0x140001d38 - 0x140001d60 | |
int64_t function_140001d38(void) { | |
int64_t v1 = __vcrt_initialize_locks(); // 0x140001d3c | |
if ((char)v1 == 0) { | |
// 0x140001d5b | |
return v1 & -256; | |
} | |
int64_t v2 = function_140002358(); // 0x140001d49 | |
if ((char)v2 != 0) { | |
// 0x140001d5b | |
return v2 & -256 | 1; | |
} | |
// 0x140001d5b | |
return __acrt_uninitialize_locks() & -256; | |
} | |
// Address range: 0x140001d60 - 0x140001d79 | |
int64_t function_140001d60(int32_t a1) { | |
int64_t v1; // 0x140001d60 | |
if ((char)a1 == 0) { | |
// 0x140001d68 | |
__acrt_uninitialize_ptd(); | |
v1 = __acrt_uninitialize_locks(); | |
} | |
// 0x140001d72 | |
return v1 & -256 | 1; | |
} | |
// Address range: 0x140001d7c - 0x140001de9 | |
int64_t function_140001d7c(int64_t a1, int64_t a2) { | |
// 0x140001d7c | |
int64_t result; // 0x140001d7c | |
if (a1 == 0) { | |
// 0x140001de8 | |
return result; | |
} | |
if ((int32_t)a1 != -0x1f928c9d || *(int32_t *)(a1 + 24) != 4) { | |
// 0x140001de8 | |
return result; | |
} | |
uint32_t result2 = *(int32_t *)(a1 + 32) - 0x19930520; // 0x140001d9a | |
if (result2 >= 3) { | |
// 0x140001de8 | |
return result2; | |
} | |
int64_t result3 = *(int64_t *)(a1 + 48); // 0x140001da4 | |
if (result3 == 0) { | |
// 0x140001de8 | |
return 0; | |
} | |
int32_t v1 = *(int32_t *)(result3 + 4); // 0x140001dad | |
int64_t v2 = v1; // 0x140001dad | |
if (v1 != 0) { | |
// 0x140001de8 | |
return function_140001dec(*(int64_t *)(a1 + 40), *(int64_t *)(a1 + 56) + v2); | |
} | |
// 0x140001dc6 | |
if ((*(char *)result3 & 16) == 0) { | |
// 0x140001de8 | |
return result3; | |
} | |
int64_t v3 = *(int64_t *)(a1 + 40); // 0x140001dcb | |
int64_t v4 = *(int64_t *)v3; // 0x140001dcf | |
result = v3; | |
if (v4 != 0) { | |
// 0x140001dd7 | |
int64_t v5; // 0x140001d7c | |
result = function_1400124a0((int32_t)v4, v2, (int32_t)v5); | |
} | |
// 0x140001de8 | |
return result; | |
} | |
// Address range: 0x140001dec - 0x140001def | |
int64_t function_140001dec(int64_t a1, int64_t a2) { | |
// 0x140001dec | |
int64_t result; // 0x140001dec | |
return result; | |
} | |
// Address range: 0x140001df0 - 0x140001e02 | |
int64_t function_140001df0(void) { | |
// 0x140001df0 | |
return __vcrt_getptd() + 32; | |
} | |
// Address range: 0x140001e04 - 0x140001e16 | |
int64_t function_140001e04(void) { | |
// 0x140001e04 | |
return __vcrt_getptd() + 40; | |
} | |
// Address range: 0x140001e30 - 0x140001e40 | |
int64_t function_140001e30(int64_t a1, int64_t a2, int64_t a3, int64_t result) { | |
// 0x140001e30 | |
__asm_rep_stosb_memset((char *)a1, (char)a2, a3); | |
return result; | |
} | |
// Address range: 0x140001e50 - 0x14000219b | |
int64_t function_140001e50(int64_t * a1, int32_t a2, uint64_t a3, int64_t a4) { | |
int64_t result = (int64_t)a1; | |
int64_t v1 = result; | |
int64_t v2 = a2 & 255; // 0x140001e5d | |
int128_t v3 = __asm_movq(0x101010101010101 * v2); // 0x140001e6e | |
if (a3 < 16) { | |
// 0x140001e7d | |
return result; | |
} | |
int128_t v4 = __asm_punpcklqdq(v3, v3); // 0x140001f00 | |
if (a3 < 33) { | |
// 0x140001f0a | |
__asm_movdqu(*(int128_t *)&v1, v4); | |
__asm_movdqu(*(int128_t *)(a3 - 16 + v1), v4); | |
return result; | |
} | |
// 0x140001f16 | |
if (g25 < 3) { | |
int64_t result2 = result; // 0x140002107 | |
if (g27 < a3) { | |
// 0x140002109 | |
result2 = result; | |
if ((*(char *)&g57 & 2) != 0) { | |
result2 = function_140001e30(v1, v2, a3, result); | |
} | |
} | |
int64_t v5 = v1 | -16; // 0x14000211d | |
int64_t v6 = v1 - v5; // 0x140002121 | |
v1 = v6; | |
int64_t v7 = v5 + a3; // 0x140002127 | |
int64_t v8 = v6; // 0x140002131 | |
if (v7 < 129) { | |
// 0x140001e7d | |
return result2; | |
} | |
for (int64_t i = v7; i >= 255; i -= 128) { | |
// 0x140002140 | |
__asm_movdqa(*(int128_t *)v8, v4); | |
__asm_movdqa(*(int128_t *)(v1 + 16), v4); | |
__asm_movdqa(*(int128_t *)(v1 + 32), v4); | |
__asm_movdqa(*(int128_t *)(v1 + 48), v4); | |
__asm_movdqa(*(int128_t *)(v1 + 64), v4); | |
__asm_movdqa(*(int128_t *)(v1 + 80), v4); | |
__asm_movdqa(*(int128_t *)(v1 + 96), v4); | |
__asm_movdqa(*(int128_t *)(v1 + 112), v4); | |
v8 = v1 + 128; | |
v1 = v8; | |
} | |
// 0x140001e7d | |
return result2; | |
} | |
int64_t result3 = result; // 0x140001f2a | |
if (g28 >= a3 && g27 < a3) { | |
// 0x140001f35 | |
result3 = result; | |
if ((*(char *)&g57 & 2) != 0) { | |
result3 = function_140001e30(v1, v2, a3, result); | |
} | |
} | |
// 0x140001f42 | |
int256_t v9; // 0x140001e50 | |
int256_t v10 = __asm_vinsertf128(v9, v4, 1); // 0x140001f42 | |
int64_t v11 = v1 | -32; // 0x140001f4f | |
int64_t v12 = v1 - v11; // 0x140001f53 | |
v1 = v12; | |
int64_t v13 = v11 + a3; // 0x140001f59 | |
if (v13 < 257) { | |
// 0x140001e7d | |
return result3; | |
} | |
int64_t v14 = v13; // 0x140001f6c | |
int64_t v15 = v13; // 0x140001f6c | |
if (v13 > g28) { | |
__asm_vmovntdq(*(int256_t *)v12, v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 32), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 64), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 96), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 128), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 160), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 192), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 224), v10); | |
int64_t v16 = v1 + 256; // 0x140002073 | |
v1 = v16; | |
v15 -= 256; | |
while (v15 >= 256) { | |
// 0x140002040 | |
__asm_vmovntdq(*(int256_t *)v16, v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 32), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 64), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 96), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 128), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 160), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 192), v10); | |
__asm_vmovntdq(*(int256_t *)(v1 + 224), v10); | |
v16 = v1 + 256; | |
v1 = v16; | |
v15 -= 256; | |
} | |
// 0x140001e7d | |
return result3; | |
} | |
__asm_vmovdqa(*(int256_t *)v12, v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 32), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 64), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 96), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 128), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 160), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 192), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 224), v10); | |
int64_t v17 = v1 + 256; // 0x140001fb3 | |
v1 = v17; | |
v14 -= 256; | |
while (v14 >= 256) { | |
// 0x140001f80 | |
__asm_vmovdqa(*(int256_t *)v17, v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 32), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 64), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 96), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 128), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 160), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 192), v10); | |
__asm_vmovdqa(*(int256_t *)(v1 + 224), v10); | |
v17 = v1 + 256; | |
v1 = v17; | |
v14 -= 256; | |
} | |
// 0x140001e7d | |
return result3; | |
} | |
// Address range: 0x14000219b - 0x1400021d8 | |
int64_t function_14000219b(int64_t a1) { | |
// 0x14000219b | |
int64_t v1; // 0x14000219b | |
int64_t v2 = v1 + a1; | |
int128_t v3; // 0x14000219b | |
__asm_movdqu(*(int128_t *)(v2 - 128), v3); | |
__asm_movdqu(*(int128_t *)(v2 - 112), v3); | |
__asm_movdqu(*(int128_t *)(v2 - 96), v3); | |
__asm_movdqu(*(int128_t *)(v2 - 80), v3); | |
__asm_movdqu(*(int128_t *)(v2 - 64), v3); | |
__asm_movdqu(*(int128_t *)(v2 - 48), v3); | |
__asm_movdqu(*(int128_t *)(v2 - 32), v3); | |
int64_t v4; // 0x14000219b | |
__asm_movdqu(*(int128_t *)(a1 - 16 + v4), v3); | |
int64_t v5; // 0x14000219b | |
int128_t result = *(int128_t *)&v5; // 0x1400021d3 | |
__asm_movdqu(result, v3); | |
return result; | |
} | |
// Address range: 0x140002220 - 0x140002221 | |
int64_t function_140002220(int64_t a1) { | |
// 0x140002220 | |
int64_t result; // 0x140002220 | |
return result; | |
} | |
// Address range: 0x140002224 - 0x14000225b | |
int64_t function_140002224(int64_t a1) { | |
// 0x140002224 | |
return 0x1400016a8; | |
} | |
// Address range: 0x140002298 - 0x140002357 | |
int64_t function_140002298(void) { | |
// 0x140002298 | |
if (g31 == -1) { | |
// 0x140002347 | |
return 0; | |
} | |
int32_t errorCode = GetLastError(); // 0x1400022b7 | |
function_140002624(g31); | |
int64_t result = 0; // 0x1400022c5 | |
int64_t * v1; // 0x140002298 | |
int32_t v2; // 0x140002298 | |
int64_t result2; // 0x140002298 | |
int64_t v3; // 0x1400022e5 | |
switch (result) { | |
case -1: { | |
goto lab_0x1400022da; | |
} | |
case 0: { | |
// 0x1400022df | |
v3 = function_14000266c(g31, -1); | |
if ((int32_t)v3 == 0) { | |
// 0x14000233c | |
SetLastError(errorCode); | |
// 0x140002347 | |
return 0; | |
} | |
// 0x1400022ee | |
v2 = g31; | |
if (v3 == 0) { | |
goto lab_0x14000232d; | |
} else { | |
// 0x140002309 | |
if ((int32_t)function_14000266c(g31, v3) == 0) { | |
// 0x140002327 | |
v2 = g31; | |
goto lab_0x14000232d; | |
} else { | |
// 0x140002315 | |
*(int32_t *)(v3 + 120) = -2; | |
v1 = NULL; | |
result2 = v3; | |
goto lab_0x140002334; | |
} | |
} | |
} | |
default: { | |
lab_0x1400022da: | |
// 0x14000233c | |
SetLastError(errorCode); | |
// 0x140002347 | |
return result; | |
} | |
} | |
lab_0x14000232d: | |
// 0x14000232d | |
function_14000266c(v2, 0); | |
v1 = (int64_t *)v3; | |
result2 = 0; | |
goto lab_0x140002334; | |
lab_0x140002334: | |
// 0x140002334 | |
free(v1); | |
// 0x14000233c | |
SetLastError(errorCode); | |
// 0x140002347 | |
return result2; | |
} | |
// Address range: 0x140002358 - 0x14000239f | |
int64_t function_140002358(void) { | |
int64_t v1 = function_140002594(0x14000225c); // 0x140002363 | |
int32_t v2 = v1; // 0x140002368 | |
g31 = v2; | |
if (v2 == -1) { | |
// 0x14000239a | |
return v1 & -256; | |
} | |
int64_t v3 = function_14000266c(v2, (int64_t)&g58); // 0x14000237c | |
if ((int32_t)v3 == 0) { | |
// 0x14000239a | |
return __acrt_uninitialize_ptd() & -256; | |
} | |
// 0x140002385 | |
*(int32_t *)&g59 = -2; | |
// 0x14000239a | |
return v3 & -256 | 1; | |
} | |
// Address range: 0x140002444 - 0x140002592 | |
int64_t function_140002444(uint32_t a1, char * lpProcName, int64_t * a3, char * a4, int64_t a5) { | |
int64_t * v1 = (int64_t *)(8 * (int64_t)a1 + 0x14001dbf0); // 0x140002476 | |
int64_t result = *v1; // 0x140002476 | |
if (result == -1) { | |
// 0x140002575 | |
return 0; | |
} | |
// 0x140002488 | |
if (result != 0) { | |
// 0x140002575 | |
return result; | |
} | |
int64_t v2 = (int64_t)a3; // 0x140002494 | |
if ((int64_t *)a4 == a3) { | |
// 0x14000256b | |
*v1 = -1; | |
// 0x140002575 | |
return 0; | |
} | |
int64_t * hLibModule; // 0x140002444 | |
int64_t v3; // 0x140002444 | |
int64_t hModule; // 0x140002444 | |
int64_t * v4; // 0x140002444 | |
while (true) { | |
int64_t v5 = 8 * (int64_t)*(int32_t *)v2; // 0x14000249d | |
v4 = (int64_t *)(v5 + 0x14001dbd8); | |
int64_t v6 = *v4; // 0x14000249d | |
if (v6 == 0) { | |
int16_t * lpLibFileName = (int16_t *)*(int64_t *)(v5 + 0x1400140f8); // 0x1400024c9 | |
int64_t * v7 = LoadLibraryExW(lpLibFileName, NULL, 2048); // 0x1400024c9 | |
int64_t v8 = (int64_t)v7; | |
v3 = v8; | |
hLibModule = v7; | |
if (v7 != NULL) { | |
// break -> 0x14000252d | |
break; | |
} | |
// 0x1400024d7 | |
if (GetLastError() == 87) { | |
// 0x1400024e2 | |
if (wcsncmp(lpLibFileName, L"api-ms-", (int32_t)v8 + 7) != 0) { | |
int64_t * v9 = LoadLibraryExW(lpLibFileName, NULL, 0); // 0x140002501 | |
if (v9 != NULL) { | |
// 0x14000252d | |
v3 = (int64_t)v9; | |
hLibModule = v9; | |
goto lab_0x14000252d_2; | |
} | |
} | |
} | |
// 0x14000250f | |
*v4 = -1; | |
} else { | |
// 0x1400024ab | |
hModule = v6; | |
if (v6 != -1) { | |
goto lab_0x14000254d; | |
} | |
} | |
// 0x140002521 | |
v2 += 4; | |
if (v2 == (int64_t)a4) { | |
// 0x14000256b | |
*v1 = -1; | |
// 0x140002575 | |
return 0; | |
} | |
} | |
goto lab_0x14000252d_2; | |
lab_0x14000252d_2: | |
// 0x14000252d | |
*v4 = v3; | |
hModule = v3; | |
if (*v4 != 0) { | |
// 0x140002544 | |
FreeLibrary(hLibModule); | |
hModule = v3; | |
} | |
lab_0x14000254d:; | |
int32_t (*func)() = GetProcAddress((int64_t *)hModule, lpProcName); // 0x140002553 | |
if (func == NULL) { | |
// 0x14000256b | |
*v1 = -1; | |
// 0x140002575 | |
return 0; | |
} | |
int64_t result2 = (int64_t)func; // 0x140002553 | |
*v1 = result2; | |
// 0x140002575 | |
return result2; | |
} | |
// Address range: 0x140002594 - 0x1400025d9 | |
int64_t function_140002594(int64_t a1) { | |
// 0x140002594 | |
int64_t v1; // 0x140002594 | |
if (function_140002444(0, "FlsAlloc", &g12, "FlsAlloc", v1) == 0) { | |
// 0x1400025cd | |
return TlsAlloc(); | |
} | |
int64_t result = function_1400124a0((int32_t)a1, (int64_t)"FlsAlloc", (int32_t)&g12); // 0x1400025c6 | |
return result; | |
} | |
// Address range: 0x1400025dc - 0x140002622 | |
int64_t function_1400025dc(int64_t a1) { | |
// 0x1400025dc | |
int64_t v1; // 0x1400025dc | |
int64_t v2 = function_140002444(1, "FlsFree", &g13, "FlsFree", v1); // 0x1400025fe | |
int32_t dwTlsIndex = a1; | |
if (v2 == 0) { | |
// 0x140002616 | |
return TlsFree(dwTlsIndex); | |
} | |
// 0x14000260a | |
return function_1400124a0(dwTlsIndex, (int64_t)"FlsFree", (int32_t)&g13); | |
} | |
// Address range: 0x140002624 - 0x14000266a | |
int64_t function_140002624(int32_t dwTlsIndex) { | |
// 0x140002624 | |
int64_t v1; // 0x140002624 | |
if (function_140002444(2, "FlsGetValue", &g14, "FlsGetValue", v1) == 0) { | |
// 0x14000265e | |
return (int64_t)TlsGetValue(dwTlsIndex); | |
} | |
int64_t result = function_1400124a0(dwTlsIndex, (int64_t)"FlsGetValue", (int32_t)&g14); // 0x140002657 | |
return result; | |
} | |
// Address range: 0x14000266c - 0x1400026bd | |
int64_t function_14000266c(int32_t dwTlsIndex, int64_t lpTlsValue) { | |
// 0x14000266c | |
int64_t result; // 0x14000266c | |
int64_t v1; // 0x14000266c | |
if (function_140002444(3, "FlsSetValue", &g15, "FlsSetValue", v1) == 0) { | |
// 0x1400026ac | |
result = TlsSetValue(dwTlsIndex, (int64_t *)lpTlsValue); | |
} else { | |
// 0x1400026a4 | |
result = function_1400124a0(dwTlsIndex, lpTlsValue, (int32_t)&g15); | |
} | |
// 0x1400026b2 | |
return result; | |
} | |
// Address range: 0x1400026c0 - 0x140002721 | |
int64_t function_1400026c0(int64_t lpCriticalSection, int64_t dwSpinCount, int64_t a3) { | |
// 0x1400026c0 | |
int64_t v1; // 0x1400026c0 | |
int64_t v2 = function_140002444(4, "InitializeCriticalSectionEx", &g16, "InitializeCriticalSectionEx", v1); // 0x1400026f1 | |
int64_t result; // 0x1400026c0 | |
if (v2 == 0) { | |
// 0x14000270b | |
result = InitializeCriticalSectionAndSpinCount((struct _RTL_CRITICAL_SECTION *)lpCriticalSection, (int32_t)dwSpinCount); | |
} else { | |
// 0x140002700 | |
result = function_1400124a0((int32_t)lpCriticalSection, dwSpinCount & 0xffffffff, (int32_t)a3); | |
} | |
// 0x140002711 | |
return result; | |
} | |
// Address range: 0x140002740 - 0x140002750 | |
int64_t function_140002740(int64_t a1, int64_t a2, int64_t a3) { | |
// 0x140002740 | |
__asm_rep_movsb_memcpy((char *)a1, (char *)a2, a3); | |
int64_t result; // 0x140002740 | |
return result; | |
} | |
// Address range: 0x140002760 - 0x140002dd5 | |
int64_t function_140002760(int64_t result, uint64_t a2, uint64_t a3, int64_t a4) { | |
int64_t v1 = a2; | |
int64_t v2 = result; | |
if (a3 < 16) { | |
// 0x140002774 | |
return result; | |
} | |
if (a3 < 33) { | |
int128_t v3 = __asm_movdqu_11(*(int128_t *)&v1); // 0x140002886 | |
int64_t v4 = a3 - 16; | |
int128_t v5 = __asm_movdqu_11(*(int128_t *)(v1 + v4)); // 0x14000288a | |
__asm_movdqu(*(int128_t *)&v2, v3); | |
__asm_movdqu(*(int128_t *)(v2 + v4), v5); | |
return result; | |
} | |
if (a2 < result == a3 + a2 > result) { | |
// 0x140002cf0 | |
v1 = a2 - result; | |
int64_t v6 = a3 - 16; | |
int64_t v7 = v6 + result; // 0x140002cfc | |
int128_t v8 = __asm_movups(*(int128_t *)(v6 + a2)); // 0x140002cfc | |
v2 = v7; | |
int128_t v9 = v8; // 0x140002d0c | |
int64_t v10 = v6; // 0x140002d0c | |
if ((v7 & 15) != 0) { | |
int64_t v11 = v7 & -16; // 0x140002d11 | |
v2 = v11; | |
int128_t v12 = __asm_movups(v8); // 0x140002d15 | |
v9 = __asm_movups(*(int128_t *)(v1 + v11)); | |
__asm_movups_10(*(int128_t *)v7, v12); | |
v10 = v11 - result; | |
} | |
int128_t v13 = v9; // 0x140002d2c | |
int64_t v14 = v10; // 0x140002d2c | |
if (v10 >= 128) { | |
// 0x140002d2e | |
*(int128_t *)v2 = (int128_t)__asm_movaps(v9); | |
int64_t v15 = v10 / 128; // 0x140002d31 | |
int128_t v16 = __asm_movups(*(int128_t *)(v2 - 16 + v1)); // 0x140002d47 | |
int128_t v17 = __asm_movups(*(int128_t *)(v2 - 32 + v1)); // 0x140002d4c | |
int64_t v18 = v2; // 0x140002d51 | |
int64_t v19 = v18 - 128; // 0x140002d51 | |
v2 = v19; | |
*(int128_t *)(v18 - 16) = (int128_t)__asm_movaps(v16); | |
*(int128_t *)(v18 - 32) = (int128_t)__asm_movaps(v17); | |
int64_t v20 = v18 - 48; // 0x140002d60 | |
int128_t v21 = __asm_movups(*(int128_t *)(v1 + v20)); // 0x140002d60 | |
int64_t v22 = v18 - 64; // 0x140002d65 | |
int128_t v23 = __asm_movups(*(int128_t *)(v1 + v22)); // 0x140002d65 | |
v15--; | |
*(int128_t *)v20 = (int128_t)__asm_movaps(v21); | |
*(int128_t *)v22 = (int128_t)__asm_movaps(v23); | |
int64_t v24 = v18 - 80; // 0x140002d75 | |
int128_t v25 = __asm_movups(*(int128_t *)(v1 + v24)); // 0x140002d75 | |
int64_t v26 = v18 - 96; // 0x140002d7a | |
int128_t v27 = __asm_movups(*(int128_t *)(v1 + v26)); // 0x140002d7a | |
*(int128_t *)v24 = (int128_t)__asm_movaps(v25); | |
*(int128_t *)v26 = (int128_t)__asm_movaps(v27); | |
int128_t v28 = __asm_movups(*(int128_t *)(v18 - 112 + v1)); // 0x140002d87 | |
int128_t v29 = __asm_movups(*(int128_t *)(v1 + v19)); // 0x140002d8c | |
*(int128_t *)(v2 + 16) = (int128_t)__asm_movaps(v28); | |
while (v15 != 0) { | |
// 0x140002d40 | |
*(int128_t *)v2 = (int128_t)__asm_movaps(v29); | |
v16 = __asm_movups(*(int128_t *)(v2 - 16 + v1)); | |
v17 = __asm_movups(*(int128_t *)(v2 - 32 + v1)); | |
v18 = v2; | |
v19 = v18 - 128; | |
v2 = v19; | |
*(int128_t *)(v18 - 16) = (int128_t)__asm_movaps(v16); | |
*(int128_t *)(v18 - 32) = (int128_t)__asm_movaps(v17); | |
v20 = v18 - 48; | |
v21 = __asm_movups(*(int128_t *)(v1 + v20)); | |
v22 = v18 - 64; | |
v23 = __asm_movups(*(int128_t *)(v1 + v22)); | |
v15--; | |
*(int128_t *)v20 = (int128_t)__asm_movaps(v21); | |
*(int128_t *)v22 = (int128_t)__asm_movaps(v23); | |
v24 = v18 - 80; | |
v25 = __asm_movups(*(int128_t *)(v1 + v24)); | |
v26 = v18 - 96; | |
v27 = __asm_movups(*(int128_t *)(v1 + v26)); | |
*(int128_t *)v24 = (int128_t)__asm_movaps(v25); | |
*(int128_t *)v26 = (int128_t)__asm_movaps(v27); | |
v28 = __asm_movups(*(int128_t *)(v18 - 112 + v1)); | |
v29 = __asm_movups(*(int128_t *)(v1 + v19)); | |
*(int128_t *)(v2 + 16) = (int128_t)__asm_movaps(v28); | |
} | |
// 0x140002d92 | |
v13 = __asm_movaps_12(v29); | |
v14 = v10 & 127; | |
} | |
int128_t v30 = v13; // 0x140002da4 | |
if (v14 >= 16) { | |
__asm_movups_10(*(int128_t *)v2, v13); | |
int64_t v31 = v2 - 16; // 0x140002db3 | |
v2 = v31; | |
int128_t v32 = __asm_movups(*(int128_t *)(v1 + v31)); // 0x140002db7 | |
int64_t v33 = v14 / 16 - 1; // 0x140002dbb | |
int128_t v34 = v32; // 0x140002dbe | |
int64_t v35 = v33; // 0x140002dbe | |
v30 = v32; | |
while (v33 != 0) { | |
// 0x140002db0 | |
__asm_movups_10(*(int128_t *)v2, v34); | |
v31 = v2 - 16; | |
v2 = v31; | |
v32 = __asm_movups(*(int128_t *)(v1 + v31)); | |
v33 = v35 - 1; | |
v34 = v32; | |
v35 = v33; | |
v30 = v32; | |
} | |
} | |
// 0x140002dc0 | |
if ((v14 & 15) != 0) { | |
// 0x140002dc6 | |
__asm_movups_10(*(int128_t *)&v2, __asm_movups(*(int128_t *)&v1)); | |
} | |
// 0x140002dce | |
__asm_movups_10(*(int128_t *)v2, v30); | |
return result; | |
} | |
// 0x1400028b0 | |
if (g25 < 3) { | |
int64_t result2 = result; // 0x140002ba7 | |
if (a3 >= 2049) { | |
// 0x140002ba9 | |
result2 = result; | |
if ((*(char *)&g57 & 2) != 0) { | |
result2 = function_140002740(result, a2, a3); | |
} | |
} | |
// 0x140002bb6 | |
__asm_movdqu_11(*(int128_t *)&v1); | |
__asm_movdqu_11(*(int128_t *)(a3 - 16 + v1)); | |
if (a3 < 129) { | |
// 0x140002774 | |
return result2; | |
} | |
int64_t v36 = v2 | -16; // 0x140002bd5 | |
v2 -= v36; | |
int64_t v37 = v1 - v36; // 0x140002bdc | |
v1 = v37; | |
int64_t v38 = v36 + a3; // 0x140002bdf | |
int64_t v39 = v37; // 0x140002be9 | |
if (v38 < 129) { | |
// 0x140002774 | |
return result2; | |
} | |
for (int64_t i = v38; i >= 255; i -= 128) { | |
int128_t v40 = __asm_movdqu_11(*(int128_t *)v39); // 0x140002bf0 | |
int128_t v41 = __asm_movdqu_11(*(int128_t *)(v1 + 16)); // 0x140002bf4 | |
int128_t v42 = __asm_movdqu_11(*(int128_t *)(v1 + 32)); // 0x140002bf9 | |
int128_t v43 = __asm_movdqu_11(*(int128_t *)(v1 + 48)); // 0x140002bfe | |
__asm_movdqa(*(int128_t *)v2, v40); | |
__asm_movdqa(*(int128_t *)(v2 + 16), v41); | |
__asm_movdqa(*(int128_t *)(v2 + 32), v42); | |
__asm_movdqa(*(int128_t *)(v2 + 48), v43); | |
int128_t v44 = __asm_movdqu_11(*(int128_t *)(v1 + 64)); // 0x140002c16 | |
int128_t v45 = __asm_movdqu_11(*(int128_t *)(v1 + 80)); // 0x140002c1b | |
int128_t v46 = __asm_movdqu_11(*(int128_t *)(v1 + 96)); // 0x140002c20 | |
int128_t v47 = __asm_movdqu_11(*(int128_t *)(v1 + 112)); // 0x140002c25 | |
__asm_movdqa(*(int128_t *)(v2 + 64), v44); | |
__asm_movdqa(*(int128_t *)(v2 + 80), v45); | |
__asm_movdqa(*(int128_t *)(v2 + 96), v46); | |
__asm_movdqa(*(int128_t *)(v2 + 112), v47); | |
v2 += 128; | |
v39 = v1 + 128; | |
v1 = v39; | |
} | |
// 0x140002774 | |
return result2; | |
} | |
int64_t result3 = result; // 0x1400028c4 | |
if (a3 < 0x180001) { | |
// 0x1400028cf | |
result3 = result; | |
if ((*(char *)&g57 & 2) != 0) { | |
result3 = function_140002740(result, a2, a3); | |
} | |
} | |
// 0x1400028dc | |
__asm_vmovdqu(*(int256_t *)&v1); | |
__asm_vmovdqu(*(int256_t *)(a3 - 32 + v1)); | |
if (a3 < 257) { | |
// 0x140002774 | |
return result3; | |
} | |
int64_t v48 = v2 | -32; // 0x1400028fb | |
v2 -= v48; | |
int64_t v49 = v1 - v48; // 0x140002902 | |
v1 = v49; | |
int64_t v50 = v48 + a3; // 0x140002905 | |
if (v50 < 257) { | |
// 0x140002774 | |
return result3; | |
} | |
int64_t v51 = v50; // 0x14000291c | |
int64_t v52 = v50; // 0x14000291c | |
if (v50 < 0x180001) { | |
int256_t v53 = __asm_vmovdqu(*(int256_t *)v49); // 0x140002930 | |
int256_t v54 = __asm_vmovdqu(*(int256_t *)(v1 + 32)); // 0x140002934 | |
int256_t v55 = __asm_vmovdqu(*(int256_t *)(v1 + 64)); // 0x140002939 | |
int256_t v56 = __asm_vmovdqu(*(int256_t *)(v1 + 96)); // 0x14000293e | |
__asm_vmovdqa(*(int256_t *)v2, v53); | |
__asm_vmovdqa(*(int256_t *)(v2 + 32), v54); | |
__asm_vmovdqa(*(int256_t *)(v2 + 64), v55); | |
__asm_vmovdqa(*(int256_t *)(v2 + 96), v56); | |
int256_t v57 = __asm_vmovdqu(*(int256_t *)(v1 + 128)); // 0x140002956 | |
int256_t v58 = __asm_vmovdqu(*(int256_t *)(v1 + 160)); // 0x14000295e | |
int256_t v59 = __asm_vmovdqu(*(int256_t *)(v1 + 192)); // 0x140002966 | |
int256_t v60 = __asm_vmovdqu(*(int256_t *)(v1 + 224)); // 0x14000296e | |
__asm_vmovdqa(*(int256_t *)(v2 + 128), v57); | |
__asm_vmovdqa(*(int256_t *)(v2 + 160), v58); | |
__asm_vmovdqa(*(int256_t *)(v2 + 192), v59); | |
__asm_vmovdqa(*(int256_t *)(v2 + 224), v60); | |
v2 += 256; | |
int64_t v61 = v1 + 256; // 0x14000299d | |
v1 = v61; | |
v51 -= 256; | |
while (v51 >= 256) { | |
// 0x140002930 | |
v53 = __asm_vmovdqu(*(int256_t *)v61); | |
v54 = __asm_vmovdqu(*(int256_t *)(v1 + 32)); | |
v55 = __asm_vmovdqu(*(int256_t *)(v1 + 64)); | |
v56 = __asm_vmovdqu(*(int256_t *)(v1 + 96)); | |
__asm_vmovdqa(*(int256_t *)v2, v53); | |
__asm_vmovdqa(*(int256_t *)(v2 + 32), v54); | |
__asm_vmovdqa(*(int256_t *)(v2 + 64), v55); | |
__asm_vmovdqa(*(int256_t *)(v2 + 96), v56); | |
v57 = __asm_vmovdqu(*(int256_t *)(v1 + 128)); | |
v58 = __asm_vmovdqu(*(int256_t *)(v1 + 160)); | |
v59 = __asm_vmovdqu(*(int256_t *)(v1 + 192)); | |
v60 = __asm_vmovdqu(*(int256_t *)(v1 + 224)); | |
__asm_vmovdqa(*(int256_t *)(v2 + 128), v57); | |
__asm_vmovdqa(*(int256_t *)(v2 + 160), v58); | |
__asm_vmovdqa(*(int256_t *)(v2 + 192), v59); | |
__asm_vmovdqa(*(int256_t *)(v2 + 224), v60); | |
v2 += 256; | |
v61 = v1 + 256; | |
v1 = v61; | |
v51 -= 256; | |
} | |
} else { | |
int256_t v62 = __asm_vmovdqu(*(int256_t *)v49); // 0x140002a60 | |
int256_t v63 = __asm_vmovdqu(*(int256_t *)(v1 + 32)); // 0x140002a64 | |
int256_t v64 = __asm_vmovdqu(*(int256_t *)(v1 + 64)); // 0x140002a69 | |
int256_t v65 = __asm_vmovdqu(*(int256_t *)(v1 + 96)); // 0x140002a6e | |
__asm_vmovntdq(*(int256_t *)v2, v62); | |
__asm_vmovntdq(*(int256_t *)(v2 + 32), v63); | |
__asm_vmovntdq(*(int256_t *)(v2 + 64), v64); | |
__asm_vmovntdq(*(int256_t *)(v2 + 96), v65); | |
int256_t v66 = __asm_vmovdqu(*(int256_t *)(v1 + 128)); // 0x140002a86 | |
int256_t v67 = __asm_vmovdqu(*(int256_t *)(v1 + 160)); // 0x140002a8e | |
int256_t v68 = __asm_vmovdqu(*(int256_t *)(v1 + 192)); // 0x140002a96 | |
int256_t v69 = __asm_vmovdqu(*(int256_t *)(v1 + 224)); // 0x140002a9e | |
__asm_vmovntdq(*(int256_t *)(v2 + 128), v66); | |
__asm_vmovntdq(*(int256_t *)(v2 + 160), v67); | |
__asm_vmovntdq(*(int256_t *)(v2 + 192), v68); | |
__asm_vmovntdq(*(int256_t *)(v2 + 224), v69); | |
v2 += 256; | |
int64_t v70 = v1 + 256; // 0x140002acd | |
v1 = v70; | |
v52 -= 256; | |
while (v52 >= 256) { | |
// 0x140002a60 | |
v62 = __asm_vmovdqu(*(int256_t *)v70); | |
v63 = __asm_vmovdqu(*(int256_t *)(v1 + 32)); | |
v64 = __asm_vmovdqu(*(int256_t *)(v1 + 64)); | |
v65 = __asm_vmovdqu(*(int256_t *)(v1 + 96)); | |
__asm_vmovntdq(*(int256_t *)v2, v62); | |
__asm_vmovntdq(*(int256_t *)(v2 + 32), v63); | |
__asm_vmovntdq(*(int256_t *)(v2 + 64), v64); | |
__asm_vmovntdq(*(int256_t *)(v2 + 96), v65); | |
v66 = __asm_vmovdqu(*(int256_t *)(v1 + 128)); | |
v67 = __asm_vmovdqu(*(int256_t *)(v1 + 160)); | |
v68 = __asm_vmovdqu(*(int256_t *)(v1 + 192)); | |
v69 = __asm_vmovdqu(*(int256_t *)(v1 + 224)); | |
__asm_vmovntdq(*(int256_t *)(v2 + 128), v66); | |
__asm_vmovntdq(*(int256_t *)(v2 + 160), v67); | |
__asm_vmovntdq(*(int256_t *)(v2 + 192), v68); | |
__asm_vmovntdq(*(int256_t *)(v2 + 224), v69); | |
v2 += 256; | |
v70 = v1 + 256; | |
v1 = v70; | |
v52 -= 256; | |
} | |
} | |
// 0x140002774 | |
return result3; | |
} | |
// Address range: 0x140002df0 - 0x140002e30 | |
int64_t function_140002df0(int64_t a1, int64_t a2, int64_t a3) { | |
// 0x140002df0 | |
_NLG_Notify(a1, a2, a3); | |
return _NLG_Notify(function_140002220(a1), a2, 2); | |
} | |
// Address range: 0x140002e40 - 0x140002e6a | |
int64_t function_140002e40(int64_t a1, int64_t a2, int64_t a3) { | |
// 0x140002e40 | |
_NLG_Notify(a1, a2, a3); | |
return function_140002220(a1); | |
} | |
// Address range: 0x140002e70 - 0x140002e96 | |
int64_t function_140002e70(int64_t a1, int64_t a2) { | |
// 0x140002e70 | |
return _NLG_Notify(a1, a2, 2); | |
} | |
// Address range: 0x140002ea0 - 0x140002ee7 | |
int64_t function_140002ea0(int64_t a1, int64_t a2, int64_t a3, int64_t a4) { | |
// 0x140002ea0 | |
_NLG_Notify(a1, a2, a4 & 0xffffffff); | |
return _NLG_Notify(function_140002220(a3), a2, 2); | |
} | |
// Address range: 0x140002ee8 - 0x140003007 | |
int64_t function_140002ee8(void) { | |
int32_t v1 = g60; // 0x140002f01 | |
int32_t v2 = 512; // 0x140002f10 | |
if (v1 != 0) { | |
// 0x140002f19 | |
v2 = v1 < 3 == (2 - v1 & v1) < 0 ? v1 : 3; | |
} | |
// 0x140002f1e | |
g60 = v2; | |
g61 = (int64_t)_calloc_base(v2, 8); | |
_free_base(NULL); | |
if (g61 == 0) { | |
// 0x140002f48 | |
g60 = 3; | |
g61 = (int64_t)_calloc_base(3, 8); | |
_free_base(NULL); | |
if (g61 == 0) { | |
// 0x140002fec | |
return 0xffffffff; | |
} | |
} | |
int64_t v3 = 0; // 0x140002f81 | |
int64_t v4 = 0; // 0x140002f81 | |
int64_t v5 = &g32; // 0x140002f81 | |
int64_t v6 = (int64_t)&g33; | |
__acrt_InitializeCriticalSectionEx(v5 + 48, 4000, 0); | |
*(int64_t *)(g61 + v3) = v5; | |
int64_t v7 = *(int64_t *)(8 * v4 / 64 + (int64_t)&g85); // 0x140002fbc | |
if (*(int64_t *)(72 * v4 + 40 + v7) > 0xfffffffffffffffd) { | |
// 0x140002fcf | |
*(int32_t *)v6 = -2; | |
} | |
// 0x140002fd5 | |
v4++; | |
v3 += 8; | |
int64_t v8 = v6 + 88; // 0x140002fe8 | |
v5 += 88; | |
while (v4 != 3) { | |
// 0x140002f88 | |
v6 = v8; | |
__acrt_InitializeCriticalSectionEx(v5 + 48, 4000, 0); | |
*(int64_t *)(g61 + v3) = v5; | |
v7 = *(int64_t *)(8 * v4 / 64 + (int64_t)&g85); | |
if (*(int64_t *)(72 * v4 + 40 + v7) > 0xfffffffffffffffd) { | |
// 0x140002fcf | |
*(int32_t *)v6 = -2; | |
} | |
// 0x140002fd5 | |
v4++; | |
v3 += 8; | |
v8 = v6 + 88; | |
v5 += 88; | |
} | |
// 0x140002fec | |
return 0; | |
} | |
// Address range: 0x140003078 - 0x140003083 | |
void function_140003078(struct _RTL_CRITICAL_SECTION * lpCriticalSection) { | |
// 0x140003078 | |
EnterCriticalSection(lpCriticalSection); | |
} | |
// Address range: 0x140003084 - 0x14000308f | |
void function_140003084(struct _RTL_CRITICAL_SECTION * lpCriticalSection) { | |
// 0x140003084 | |
LeaveCriticalSection(lpCriticalSection); | |
} | |
// Address range: 0x140003090 - 0x1400030cd | |
int64_t function_140003090(void) { | |
// 0x140003090 | |
int64_t lpCriticalSection; // 0x140003090 | |
EnterCriticalSection((struct _RTL_CRITICAL_SECTION *)lpCriticalSection); | |
int64_t v1; // 0x140003090 | |
int64_t v2 = function_1400033b8(v1); // 0x1400030b1 | |
int64_t lpCriticalSection2; // 0x140003090 | |
LeaveCriticalSection((struct _RTL_CRITICAL_SECTION *)lpCriticalSection2); | |
return v2 & 0xffffffff; | |
} | |
// Address range: 0x1400030d0 - 0x140003176 | |
int64_t function_1400030d0(int64_t a1, uint64_t a2) { | |
if (a2 <= 0xffffffffffffffff) { | |
int32_t * v1 = _errno(); // 0x1400030f6 | |
*v1 = 12; | |
// 0x140003161 | |
return (int64_t)v1 & -256; | |
} | |
uint64_t v2 = 2 * a2; // 0x140003107 | |
int64_t * v3 = (int64_t *)(a1 + 1032); // 0x14000310b | |
if (v2 < 1025 == *v3 == 0) { | |
// 0x140003161 | |
return 0x7fffffffffffff01; | |
} | |
int64_t * v4 = (int64_t *)(a1 + 1024); // 0x14000311d | |
if (v2 <= *v4) { | |
// 0x140003161 | |
return 0x7fffffffffffff01; | |
} | |
int64_t * v5 = _malloc_base((int32_t)v2); // 0x14000312d | |
int64_t result = (int64_t)&g113 & -256; // 0x140003138 | |
if (v5 != NULL) { | |
// 0x14000313a | |
_free_base((int64_t *)*v3); | |
*v3 = (int64_t)v5; | |
*v4 = v2; | |
result = (int64_t)&g113 & -256 | 1; | |
} | |
// 0x140003157 | |
_free_base(NULL); | |
// 0x140003161 | |
return result; | |
} | |
// Address range: 0x140003178 - 0x1400031ff | |
int64_t function_140003178(int64_t a1, int64_t a2, int64_t a3, int64_t a4) { | |
int64_t v1 = a1 + 88; // 0x140003191 | |
int64_t v2 = 512; // 0x140003191 | |
if (v1 != 0) { | |
// 0x14000319a | |
v2 = *(int64_t *)(a1 + 1112) / 2; | |
} | |
int64_t v3 = v1 - 1 + v2; // 0x1400031ab | |
int64_t v4 = a1 + 72; // 0x1400031ae | |
int64_t * v5 = (int64_t *)v4; // 0x1400031ae | |
*v5 = v3; | |
int32_t * v6 = (int32_t *)(a1 + 56); // 0x1400031b2 | |
int32_t v7 = *v6; // 0x1400031b2 | |
int32_t result = v7; // 0x1400031b7 | |
if ((int32_t)a2 == 0 != v7 >= 0 != v7 != 0) { | |
uint64_t v8 = a3 & 0xffffffff; // 0x140003181 | |
*v6 = v7 - 1; | |
uint64_t v9 = a2 & 0xffffffff & 0xffffffff; // 0x1400031c8 | |
int64_t v10 = v9 % v8 + 48; // 0x1400031ca | |
char v11 = v10; | |
*(char *)*v5 = v11 < 58 ? v11 : (char)(v10 + (32 * a4 ^ 39)); | |
*v5 = *v5 - 1; | |
int32_t v12 = *v6; // 0x1400031b2 | |
int64_t v13 = v9 / v8; // 0x1400031b7 | |
result = v12; | |
while (v8 > v9 != v12 >= 0 != v12 != 0) { | |
// 0x1400031be | |
*v6 = v12 - 1; | |
v9 = v13 & 0xffffffff; | |
v10 = v9 % v8 + 48; | |
v11 = v10; | |
*(char *)*v5 = v11 < 58 ? v11 : (char)(v10 + (32 * a4 ^ 39)); | |
*v5 = *v5 - 1; | |
v12 = *v6; | |
v13 = v9 / v8; | |
result = v12; | |
} | |
} | |
// 0x1400031ed | |
*(int32_t *)(a1 + 80) = (int32_t)v3 - *(int32_t *)v4; | |
*v5 = *v5 + 1; | |
return result; | |
} | |
// Address range: 0x140003200 - 0x14000328d | |
int64_t function_140003200(int64_t a1, int64_t a2, int64_t a3, int64_t a4) { | |
int64_t v1 = a1 + 88; // 0x14000321c | |
int64_t v2 = 512; // 0x14000321c | |
if (v1 != 0) { | |
// 0x140003225 | |
v2 = *(int64_t *)(a1 + 1112) / 2; | |
} | |
int64_t v3 = v1 - 1 + v2; // 0x140003236 | |
int64_t v4 = a1 + 72; // 0x140003239 | |
int64_t * v5 = (int64_t *)v4; // 0x140003239 | |
*v5 = v3; | |
int32_t * v6 = (int32_t *)(a1 + 56); // 0x14000323d | |
int32_t v7 = *v6; // 0x14000323d | |
int32_t result = v7; // 0x140003243 | |
if (a2 == 0 != v7 >= 0 != v7 != 0) { | |
uint64_t v8 = a3 & 0xffffffff; // 0x140003213 | |
uint64_t v9 = a2; | |
*v6 = v7 - 1; | |
int64_t v10 = v9 % v8 + 48; // 0x140003258 | |
char v11 = v10; | |
*(char *)*v5 = v11 < 58 ? v11 : (char)(v10 + (32 * a4 ^ 39)); | |
*v5 = *v5 - 1; | |
int32_t v12 = *v6; // 0x14000323d | |
int64_t v13 = v9 / v8; // 0x140003243 | |
result = v12; | |
while (v8 > v9 != v12 >= 0 != v12 != 0) { | |
// 0x14000324a | |
v9 = v13; | |
*v6 = v12 - 1; | |
v10 = v9 % v8 + 48; | |
v11 = v10; | |
*(char *)*v5 = v11 < 58 ? v11 : (char)(v10 + (32 * a4 ^ 39)); | |
*v5 = *v5 - 1; | |
v12 = *v6; | |
v13 = v9 / v8; | |
result = v12; | |
} | |
} | |
// 0x14000327b | |
*(int32_t *)(a1 + 80) = (int32_t)v3 - *(int32_t *)v4; | |
*v5 = *v5 + 1; | |
return result; | |
} | |
// Address range: 0x140003290 - 0x14000331b | |
int64_t function_140003290(int64_t a1, int64_t a2, int64_t a3, int64_t a4) { | |
int64_t v1 = a4; | |
int64_t result; // 0x140003290 | |
if ((int32_t)a3 < 1) { | |
// 0x14000331a | |
return result; | |
} | |
int64_t v2 = 0x100000000000000 * a2 / 0x100000000000000 & 0xffffffff; | |
int32_t * v3 = (int32_t *)a4; | |
uint32_t v4 = (int32_t)a4; // 0x1400032bf | |
int64_t v5 = a1; // 0x1400032bf | |
int64_t v6 = 0; // 0x1400032bf | |
int64_t v7; // 0x1400032c7 | |
while (true) { | |
lab_0x1400032c1:; | |
uint32_t v8 = *(int32_t *)(v5 + 20); // 0x1400032c4 | |
v7 = v8 / 0x1000; | |
if ((v8 & 0x1000) == 0) { | |
goto lab_0x1400032d9; | |
} else { | |
// 0x1400032cf | |
v5 = v7; | |
if (*(int64_t *)(v7 + 8) == 0) { | |
goto lab_0x1400032f5; | |
} else { | |
goto lab_0x1400032d9; | |
} | |
} | |
} | |
lab_0x1400032f5_2: | |
// 0x1400032f5 | |
*v3 = -1; | |
// 0x14000331a | |
return 0xffffffff; | |
lab_0x1400032d9:; | |
int64_t v9 = function_140008bc0(v2, v7); // 0x1400032df | |
v5 = v2; | |
if ((int32_t)v9 == -1) { | |
// break -> 0x1400032f5 | |
goto lab_0x1400032f5_2; | |
} | |
goto lab_0x1400032f5; | |
lab_0x1400032f5: | |
// 0x1400032f5 | |
*v3 = v4 + 1; | |
v4 = *(int32_t *)&v1; | |
result = 0xffffffff; | |
if (v4 == -1) { | |
lab_0x14000331a_2: | |
// 0x14000331a | |
return result; | |
} | |
// 0x1400032fa | |
v6 = v6 + 1 & 0xffffffff; | |
if (v6 >= (a3 & 0xffffffff)) { | |
// 0x14000331a | |
result = v4; | |
goto lab_0x14000331a_2; | |
} | |
goto lab_0x1400032c1; | |
} | |
// Address range: 0x14000331c - 0x1400033b7 | |
int64_t function_14000331c(int64_t * a1, int64_t a2) { | |
int64_t result = (int64_t)a1; | |
char * v1 = (char *)(result + 24); // 0x14000332b | |
*v1 = 0; | |
int64_t v2 = result + 8; // 0x140003332 | |
if (a2 != 0) { | |
// 0x140003350 | |
int64_t v3; // 0x14000331c | |
__asm_movdqu(*(int128_t *)v2, __asm_movups(*(int128_t *)&v3)); | |
// 0x1400033a4 | |
return result; | |
} | |
// 0x140003340 | |
if (g78 == 0) { | |
// 0x140003350 | |
__asm_movdqu(*(int128_t *)v2, __asm_movups(*(int128_t *)0x14001d308)); | |
// 0x1400033a4 | |
return result; | |
} | |
int64_t v4 = function_140007b44(); // 0x140003356 | |
*a1 = v4; | |
*(int64_t *)v2 = *(int64_t *)(v4 + 144); | |
int64_t v5 = result + 16; // 0x140003372 | |
*(int64_t *)v5 = *(int64_t *)(v4 + 136); | |
__acrt_update_locale_info(v4, v2); | |
__acrt_update_locale_info2(v4, v5); | |
int32_t * v6 = (int32_t *)(v4 + 936); // 0x14000338d | |
int32_t v7 = *v6; // 0x14000338d | |
if ((v7 & 2) == 0) { | |
// 0x140003397 | |
*v6 = v7 | 2; | |
*v1 = 1; | |
} | |
// 0x1400033a4 | |
return result; | |
} | |
// Address range: 0x1400033b8 - 0x1400034e5 | |
int64_t function_1400033b8(int64_t a1) { | |
int64_t v1 = function_140008c38(a1); // 0x1400033f2 | |
int64_t v2; // bp-1224, 0x1400033b8 | |
function_14000331c(&v2, *(int64_t *)*(int64_t *)(a1 + 8)); | |
int64_t v3 = *(int64_t *)*(int64_t *)(a1 + 16); // bp-1192, 0x140003469 | |
function_1400036ac(&v3); | |
_free_base(NULL); | |
int64_t v4 = 0; // 0x1400034a3 | |
char v5; // 0x1400033b8 | |
if (v5 != 0) { | |
int32_t * v6 = (int32_t *)(v2 + 936); // 0x1400034aa | |
*v6 = *v6 & -3; | |
v4 = v2 & -256; | |
} | |
// 0x1400034b1 | |
function_140008d00(v4 | v1 & 255, a1); | |
return function_140011ed0(g29); | |
} | |
// Address range: 0x1400034f0 - 0x140003583 | |
int64_t function_1400034f0(int64_t a1, int64_t a2) { | |
char v1 = *(char *)*(int64_t *)*(int64_t *)(a2 + 248); // 0x1400034fd | |
if ((char)a1 == 0) { | |
// 0x140003582 | |
return 0; | |
} | |
int64_t v2 = a1; // 0x140003518 | |
int64_t result = a1 & 255; // 0x140003518 | |
char v3 = v1; // 0x140003516 | |
while (v1 != (char)result) { | |
// 0x140003518 | |
v2++; | |
unsigned char v4 = *(char *)v2; // 0x140003518 | |
result = v4; | |
v3 = v4; | |
if (v4 == 0) { | |
// break -> 0x140003526 | |
break; | |
} | |
v3 = v1; | |
} | |
// 0x140003526 | |
if (v3 == 0) { | |
// 0x140003582 | |
return result; | |
} | |
int64_t v5 = v2 + 1; // 0x140003526 | |
char v6 = *(char *)v5; // 0x14000352d | |
int64_t v7 = v5; // 0x140003532 | |
char v8 = v6; // 0x140003532 | |
int64_t v9 = v5; // 0x140003532 | |
if (v6 != 0) { | |
v9 = v7; | |
while ((v8 - 69 & -33) != 0) { | |
// 0x14000353a | |
v7++; | |
v8 = *(char *)v7; | |
v9 = v7; | |
if (v8 == 0) { | |
// break -> 0x140003545 | |
break; | |
} | |
v9 = v7; | |
} | |
} | |
int64_t v10 = v9 - 1; // 0x140003545 | |
char v11 = *(char *)v10; // 0x140003545 | |
int64_t v12 = v10; // 0x140003551 | |
int64_t v13 = v10; // 0x140003551 | |
char v14 = v11; // 0x140003551 | |
if (v11 == 48) { | |
v12--; | |
char v15 = *(char *)v12; // 0x140003553 | |
v13 = v12; | |
v14 = v15; | |
while (v15 == 48) { | |
// 0x140003553 | |
v12--; | |
v15 = *(char *)v12; | |
v13 = v12; | |
v14 = v15; | |
} | |
} | |
int64_t v16 = v13 + (int64_t)(v14 == v1); // 0x140003569 | |
int64_t v17 = v9; // 0x140003569 | |
unsigned char result2 = *(char *)v17; // 0x140003570 | |
v16++; | |
*(char *)v16 = result2; | |
v17++; | |
while (result2 != 0) { | |
// 0x140003570 | |
result2 = *(char *)v17; | |
v16++; | |
*(char *)v16 = result2; | |
v17++; | |
} | |
// 0x140003582 | |
return result2; | |
} | |
// Address range: 0x140003590 - 0x140003607 | |
int64_t function_140003590(int64_t a1, int64_t a2) { | |
int64_t v1 = a1 & 255; // 0x140003593 | |
int64_t v2 = *(int64_t *)(a2 + 272); // 0x140003597 | |
int64_t v3 = a1; // 0x1400035a3 | |
int64_t v4 = v1; // 0x1400035a3 | |
int64_t v5; // 0x140003590 | |
int64_t v6; // 0x140003590 | |
if (*(char *)(v2 + v1) == 101) { | |
goto lab_0x1400035bf; | |
} else { | |
int64_t v7 = v3; | |
v3 = v7 + 1; | |
v4 = (int64_t)*(char *)v3; | |
while ((*(char *)(2 * v4 + v2) & 4) != 0) { | |
// 0x1400035b0 | |
v7 = v3; | |
v3 = v7 + 1; | |
v4 = (int64_t)*(char *)v3; | |
} | |
// 0x1400035bf | |
if (*(char *)(v2 + v4) != 120) { | |
goto lab_0x1400035bf; | |
} else { | |
int64_t v8 = v7 + 3; | |
v6 = (int64_t)*(char *)v8; | |
v5 = v8; | |
goto lab_dec_label_pc_unknown; | |
} | |
} | |
lab_0x1400035bf: | |
// 0x1400035bf | |
v6 = v4; | |
v5 = v3; | |
goto lab_dec_label_pc_unknown; | |
lab_dec_label_pc_unknown:; | |
int64_t v9 = *(int64_t *)*(int64_t *)(a2 + 248); // 0x1400035dd | |
*(char *)v5 = *(char *)v9; | |
int64_t v10 = v5 + 1; // 0x1400035e9 | |
char * v11 = (char *)v10; // 0x1400035f0 | |
char v12 = v6; // 0x1400035f7 | |
*v11 = v12; | |
int64_t result = v10 + 1; // 0x1400035fa | |
v10 = result; | |
int64_t v13 = (int64_t)*v11; // 0x140003604 | |
while (v12 != 0) { | |
// 0x1400035f0 | |
v11 = (char *)v10; | |
v12 = v13; | |
*v11 = v12; | |
result = v10 + 1; | |
v10 = result; | |
v13 = (int64_t)*v11; | |
} | |
// 0x140003606 | |
return result; | |
} | |
// Address range: 0x140003608 - 0x1400036a9 | |
int64_t function_140003608(int64_t a1, int64_t a2) { | |
int64_t * v1 = (int64_t *)(a1 + 16); // 0x14000361a | |
int64_t v2 = *v1; // 0x14000361a | |
int64_t v3 = v2; // 0x140003627 | |
if (v2 == 0) { | |
// 0x140003629 | |
v3 = (int64_t)_errno(); | |
*v1 = v3; | |
} | |
int32_t * v4 = (int32_t *)v3; // 0x140003635 | |
int32_t v5 = *v4; // 0x140003635 | |
*v4 = 0; | |
int64_t * v6 = (int64_t *)(a1 + 24); // 0x140003644 | |
int64_t v7 = 0; // 0x140003648 | |
*(int32_t *)a2 = (int32_t)function_140007154(*v6 - 1, &v7); | |
int64_t v8 = *v1; // 0x14000365d | |
int64_t v9 = v8; // 0x140003664 | |
if (v8 == 0) { | |
// 0x140003666 | |
v9 = (int64_t)_errno(); | |
*v1 = v9; | |
} | |
int64_t v10 = v9; // 0x140003672 | |
int64_t v11 = 0; // 0x140003672 | |
if (*(int32_t *)v9 != 34) { | |
// 0x140003674 | |
v10 = v7; | |
v11 = 0; | |
if (v7 >= *v6) { | |
// 0x14000367f | |
*v6 = v7; | |
v10 = v7; | |
v11 = 1; | |
} | |
} | |
// 0x140003688 | |
if (!((v5 == 0 | *v4 != 0))) { | |
// 0x140003691 | |
*v4 = v5; | |
} | |
// 0x140003693 | |
return v10 & -256 | v11; | |
} | |
// Address range: 0x1400036ac - 0x1400038bf | |
int64_t function_1400036ac(int64_t * a1) { | |
int64_t v1 = (int64_t)a1; | |
int64_t v2 = *(int64_t *)(v1 + 1128); // 0x1400036c2 | |
int64_t v3 = v2; // 0x1400036cc | |
int64_t v4; // 0x1400036ac | |
int64_t v5; // 0x1400036ac | |
int64_t v6; // 0x1400036ac | |
int64_t v7; // 0x1400036ac | |
char * v8; // 0x140003895 | |
int64_t v9; // 0x1400036ac | |
int64_t * v10; // 0x1400036fa | |
if (v2 == 0) { | |
goto lab_0x1400036ce_2; | |
lab_0x140003887: | |
// 0x140003887 | |
if ((char)v4 == 0) { | |
// 0x1400036e0 | |
return 0xffffffff; | |
} | |
goto lab_0x14000388f; | |
lab_0x14000388f:; | |
char v11 = *(char *)*v10; // 0x140003893 | |
*v8 = v11; | |
*v10 = *v10 + 1; | |
if (v11 == 0) { | |
// break -> 0x1400038a4 | |
goto lab_0x1400038a4; | |
} | |
goto lab_0x14000373d; | |
lab_0x1400037da: | |
// 0x1400037da | |
v4 = function_140003608(v1, v6); | |
goto lab_0x140003887; | |
lab_0x1400036ce_2: | |
// 0x1400036ce | |
*_errno() = 22; | |
function_140006270(v3, v5, v9, v7); | |
// 0x1400036e0 | |
return 0xffffffff; | |
} | |
// 0x1400036f1 | |
if ((char)function_1400043d0(v2) == 0) { | |
// 0x1400036e0 | |
return 0xffffffff; | |
} | |
// 0x1400036fa | |
v10 = (int64_t *)(v1 + 24); | |
if (*v10 == 0) { | |
// 0x140003701 | |
*_errno() = 22; | |
int64_t v31; // 0x1400036ac | |
function_140006270(v2, v31, v9, v7); | |
// 0x1400036e0 | |
return 0xffffffff; | |
} | |
int32_t * v32 = (int32_t *)(v1 + 1136); // 0x140003716 | |
int32_t v33 = *v32 + 1; // 0x140003716 | |
*v32 = v33; | |
if (v33 == 2) { | |
// 0x1400036e0 | |
return (int64_t)*(int32_t *)(v1 + 40); | |
} | |
int32_t * v17 = (int32_t *)(v1 + 44); // 0x140003734 | |
v8 = (char *)(v1 + 65); | |
int32_t * v12 = (int32_t *)(v1 + 40); | |
int64_t v26 = v1 + 56; | |
int64_t * v24 = (int64_t *)(v1 + 32); | |
int32_t * v21 = (int32_t *)v26; | |
int64_t v22 = v1 + 52; | |
int32_t * v19 = (int32_t *)v22; | |
int32_t * v20 = (int32_t *)(v1 + 48); | |
while (true) { | |
// 0x140003730 | |
*(int32_t *)(v1 + 80) = 0; | |
*v17 = 0; | |
char v34 = *(char *)*v10; // 0x140003893 | |
*v8 = v34; | |
*v10 = *v10 + 1; | |
if (v34 != 0) { | |
while (true) { | |
lab_0x14000373d: | |
// 0x14000373d | |
if (*v12 < 0) { | |
// break -> 0x1400038a4 | |
break; | |
} | |
char v13 = *v8; // 0x14000374b | |
int64_t v14 = v13; // 0x14000374b | |
int32_t v15 = 0; // 0x140003755 | |
if (v13 < 123) { | |
// 0x140003757 | |
v15 = *(int32_t *)((8 * v14 + 768 & 1016) + (int64_t)&g17 + 4); | |
} | |
uint32_t v16 = *v17 + 8 * v15 & 127; // 0x14000376d | |
int32_t v18 = *(int32_t *)((int64_t)(8 * v16) + (int64_t)&g17); // 0x140003770 | |
*v17 = v18; | |
switch (v18) { | |
case 8: { | |
// 0x1400036ce | |
v5 = v14; | |
v3 = v16; | |
goto lab_0x1400036ce_2; | |
} | |
case 0: { | |
// 0x14000387f | |
v4 = function_1400038c0(v1, v13); | |
goto lab_0x140003887; | |
} | |
case 1: { | |
// 0x140003866 | |
*v19 = 0; | |
*v20 = 0; | |
*(int32_t *)(v1 + 60) = 0; | |
*(char *)(v1 + 64) = 0; | |
*v21 = -1; | |
*(char *)(v1 + 84) = 0; | |
goto lab_0x14000388f; | |
} | |
case 2: { | |
switch (v13) { | |
case 32: { | |
// 0x140003860 | |
*v20 = *v20 | 2; | |
// break -> 0x14000388f | |
break; | |
} | |
case 35: { | |
// 0x14000385a | |
*v20 = *v20 | 32; | |
// break -> 0x14000388f | |
break; | |
} | |
case 43: { | |
// 0x140003854 | |
*v20 = *v20 | 1; | |
// break -> 0x14000388f | |
break; | |
} | |
case 45: { | |
// 0x14000384e | |
*v20 = *v20 | 4; | |
// break -> 0x14000388f | |
break; | |
} | |
default: { | |
if (v13 == 48) { | |
// 0x140003848 | |
*v20 = *v20 | 8; | |
} | |
// break -> 0x14000388f | |
break; | |
} | |
} | |
goto lab_0x14000388f; | |
} | |
case 3: { | |
// 0x140003806 | |
v6 = v22; | |
if (v13 == 42) { | |
int64_t v23 = *v24; // 0x140003811 | |
*v24 = v23 + 8; | |
int32_t v25 = *(int32_t *)v23; // 0x14000381a | |
*v19 = v25; | |
if (v25 < 0) { | |
// 0x140003824 | |
*v20 = *v20 | 4; | |
*v19 = -v25; | |
} | |
goto lab_0x14000388f; | |
} else { | |
goto lab_0x1400037da; | |
} | |
} | |
case 4: { | |
// 0x1400037fd | |
*v21 = 0; | |
goto lab_0x14000388f; | |
} | |
case 5: { | |
// 0x1400037d1 | |
v6 = v26; | |
if (v13 == 42) { | |
int64_t v27 = *v24; // 0x1400037e7 | |
*v24 = v27 + 8; | |
int32_t v28 = *(int32_t *)v27; // 0x1400037f0 | |
*v21 = v28 > -1 ? v28 : -1; | |
goto lab_0x14000388f; | |
} else { | |
goto lab_0x1400037da; | |
} | |
} | |
default: { | |
int32_t v29 = v18 - 6; // 0x1400037a9 | |
if (v29 == 0) { | |
// 0x1400037c4 | |
v4 = function_1400039d4(v1); | |
} else { | |
// 0x1400037ae | |
if (v29 != 1) { | |
// 0x1400036e0 | |
int64_t v30; // 0x1400036ac | |
int64_t result = v30; | |
return result; | |
} | |
// 0x1400037b7 | |
v4 = function_140003b44(v1, v13, v9); | |
} | |
goto lab_0x140003887; | |
} | |
} | |
} | |
} | |
lab_0x1400038a4:; | |
int32_t v35 = *v32 + 1; // 0x1400038a4 | |
*v32 = v35; | |
if (v35 == 2) { | |
// break -> 0x1400038b7 | |
break; | |
} | |
} | |
// 0x1400036e0 | |
return (int64_t)*v12; | |
} | |
// Address range: 0x1400038c0 - 0x140003930 | |
int64_t function_1400038c0(int64_t a1, char a2) { | |
// 0x1400038c0 | |
if ((char)function_140003930(a1) == 0) { | |
// 0x140003918 | |
*_errno() = 22; | |
// 0x14000392a | |
int64_t v1; // 0x1400038c0 | |
int64_t v2; // 0x1400038c0 | |
return function_140006270(a1, 0, v2, v1) & -256; | |
} | |
int64_t v3 = *(int64_t *)(a1 + 1128); // 0x1400038d4 | |
int64_t v4; // 0x1400038c0 | |
if ((*(int32_t *)(v3 + 20) & 0x1000) == 0) { | |
goto lab_0x1400038f8; | |
} else { | |
// 0x1400038ea | |
v4 = v3; | |
if (*(int64_t *)(v3 + 8) == 0) { | |
goto lab_0x14000390b; | |
} else { | |
goto lab_0x1400038f8; | |
} | |
} | |
lab_0x1400038f8:; | |
int64_t v5 = function_140008bc0((int64_t)*(char *)(a1 + 65) & 0xffffffff, v3); // 0x140003901 | |
v4 = v5; | |
if ((int32_t)v5 == -1) { | |
// 0x140003910 | |
*(int32_t *)(a1 + 40) = -1; | |
// 0x14000392a | |
return v5 & -256 | 1; | |
} | |
goto lab_0x14000390b; | |
lab_0x14000390b:; | |
int32_t * v6 = (int32_t *)(a1 + 40); // 0x14000390b | |
*v6 = *v6 + 1; | |
// 0x14000392a | |
return v4 & -256 | 1; | |
} | |
// Address range: 0x140003930 - 0x1400039d2 | |
int64_t function_140003930(int64_t a1) { | |
char * v1 = (char *)(a1 + 65); // 0x140003936 | |
char v2 = *v1; // 0x140003936 | |
*(char *)(a1 + 84) = 0; | |
if (v2 < -1) { | |
// 0x1400039cc | |
int64_t v3; // 0x140003930 | |
return v3 & -256 | 1; | |
} | |
int64_t v4 = v2; // 0x140003936 | |
int64_t v5 = *(int64_t *)*(int64_t *)*(int64_t *)(a1 + 8); // 0x14000394f | |
uint16_t v6 = *(int16_t *)(v5 + 2 * v4) & -0x8000; | |
if (v6 == 0) { | |
// 0x1400039cc | |
return v5 & -256 | 1; | |
} | |
int64_t v7 = *(int64_t *)(a1 + 1128); // 0x140003965 | |
uint32_t v8 = *(int32_t *)(v7 + 20); // 0x14000396c | |
int64_t v9; // 0x140003930 | |
int64_t v10; // 0x140003930 | |
if ((v8 & 0x1000) == 0) { | |
goto lab_0x140003985; | |
} else { | |
// 0x140003977 | |
v9 = v6; | |
v10 = v8 / 0x1000; | |
if (*(int64_t *)(v7 + 8) == 0) { | |
goto lab_0x140003999; | |
} else { | |
goto lab_0x140003985; | |
} | |
} | |
lab_0x140003985:; | |
int64_t v11 = v4 & 0xffffffff; // 0x14000398c | |
int64_t v12 = function_140008bc0(v11, v7); // 0x14000398f | |
v9 = v11; | |
v10 = v7; | |
int64_t v13; // 0x140003930 | |
int64_t v14; // 0x140003930 | |
if ((int32_t)v12 == -1) { | |
// 0x14000399e | |
*(int32_t *)(a1 + 40) = -1; | |
v13 = v11; | |
v14 = v7; | |
goto lab_0x1400039a2; | |
} else { | |
goto lab_0x140003999; | |
} | |
lab_0x140003999:; | |
int32_t * v15 = (int32_t *)(a1 + 40); // 0x140003999 | |
*v15 = *v15 + 1; | |
v13 = v9; | |
v14 = v10; | |
goto lab_0x1400039a2; | |
lab_0x1400039a2:; | |
int64_t * v16 = (int64_t *)(a1 + 24); // 0x1400039a2 | |
int64_t v17 = *v16; // 0x1400039a2 | |
unsigned char v18 = *(char *)v17; // 0x1400039a6 | |
int64_t v19 = v17 + 1; // 0x1400039a8 | |
*v1 = v18; | |
*v16 = v19; | |
if (v18 != 0) { | |
// 0x1400039cc | |
return v19 & -256 | 1; | |
} | |
// 0x1400039b6 | |
*_errno() = 22; | |
// 0x1400039cc | |
int64_t v20; // 0x140003930 | |
return function_140006270(v13 & -256 | (int64_t)v18, v14, v4, v20) & -256; | |
} | |
// Address range: 0x1400039d4 - 0x140003b41 | |
int64_t function_1400039d4(int64_t a1) { | |
char v1 = *(char *)(a1 + 65); // 0x1400039d8 | |
int64_t v2; // 0x1400039d4 | |
int64_t v3 = v2 & -256; // 0x1400039d8 | |
char v4 = a1; | |
int64_t v5; // 0x1400039d4 | |
int64_t v6; // 0x1400039d4 | |
if (v1 == 70) { | |
// 0x1400039df | |
if ((v4 & 8) != 0) { | |
// 0x140003b3c | |
return v3 & -256 | 1; | |
} | |
// 0x1400039e8 | |
*(int32_t *)(a1 + 44) = 7; | |
return function_140003b44(a1, (char)v6, v5); | |
} | |
if (v1 != 78) { | |
int32_t * v7 = (int32_t *)(a1 + 60); | |
if (*v7 == 0) { | |
int64_t v8; // 0x1400039d4 | |
switch (v1) { | |
case 73: { | |
int64_t * v9 = (int64_t *)(a1 + 24); // 0x140003ae1 | |
int64_t v10 = *v9; // 0x140003ae1 | |
unsigned char v11 = *(char *)v10; // 0x140003ae5 | |
if (v11 == 51) { | |
// 0x140003aeb | |
if (*(char *)(v10 + 1) == 50) { | |
int64_t v12 = v10 + 2; // 0x140003af1 | |
*v7 = 10; | |
*v9 = v12; | |
// 0x140003b3c | |
return v12 & -256 | 1; | |
} | |
} | |
if (v11 == 54) { | |
// 0x140003b06 | |
if (*(char *)(v10 + 1) == 52) { | |
int64_t v13 = v10 + 2; // 0x140003b0c | |
*v7 = 11; | |
*v9 = v13; | |
// 0x140003b3c | |
return v13 & -256 | 1; | |
} | |
} | |
int64_t v14 = (v3 | (int64_t)v11) + 168; // 0x140003b1d | |
if ((char)v14 >= 33) { | |
// 0x140003b3c | |
return v3 & -256 | 1; | |
} | |
// 0x140003b23 | |
if ((1 << (v14 & 63) & 0x120821001) != 0) { | |
// 0x140003b33 | |
*v7 = 9; | |
} | |
// 0x140003b3c | |
return v3 & -256 | 1; | |
} | |
case 76: { | |
// 0x140003ad8 | |
*v7 = 8; | |
// 0x140003b3c | |
return v3 & -256 | 1; | |
} | |
case 84: { | |
// 0x140003acf | |
*v7 = 13; | |
// 0x140003b3c | |
return v3 & -256 | 1; | |
} | |
case 104: { | |
int64_t * v15 = (int64_t *)(a1 + 24); // 0x140003ab1 | |
int64_t v16 = *v15; // 0x140003ab1 | |
v8 = 2; | |
if (*(char *)v16 == 104) { | |
// 0x140003aba | |
*v15 = v16 + 1; | |
v8 = 1; | |
} | |
// break -> 0x140003a9d | |
break; | |
} | |
case 106: { | |
// 0x140003aa5 | |
*v7 = 5; | |
// 0x140003b3c | |
return v3 & -256 | 1; | |
} | |
case 108: { | |
int64_t * v17 = (int64_t *)(a1 + 24); // 0x140003a81 | |
int64_t v18 = *v17; // 0x140003a81 | |
v8 = 3; | |
if (*(char *)v18 == 108) { | |
// 0x140003a8a | |
*v17 = v18 + 1; | |
v8 = 4; | |
} | |
// break -> 0x140003a9d | |
break; | |
} | |
case 116: { | |
// 0x140003a75 | |
*v7 = 7; | |
// 0x140003b3c | |
return v3 & -256 | 1; | |
} | |
case 119: { | |
// 0x140003a69 | |
*v7 = 12; | |
// 0x140003b3c | |
return v3 & -256 | 1; | |
} | |
default: { | |
// 0x140003a55 | |
if (v1 == 122) { | |
// 0x140003a5d | |
*v7 = 6; | |
} | |
// 0x140003b3c | |
return v3 & -256 | 1; | |
} | |
} | |
// 0x140003a9d | |
*v7 = (int32_t)v8; | |
// 0x140003b3c | |
return v8 & -256 | 1; | |
} | |
} else { | |
// 0x1400039fc | |
if ((v4 & 8) != 0) { | |
// 0x140003b3c | |
return v3 & -256 | 1; | |
} | |
// 0x140003a05 | |
*(int32_t *)(a1 + 44) = 8; | |
} | |
// 0x140003a0c | |
*_errno() = 22; | |
// 0x140003b3c | |
int64_t v19; // 0x1400039d4 | |
return function_140006270(a1, v6, v5, v19) & -256; | |
} | |
// Address range: 0x140003b44 - 0x140003dc8 | |
int64_t function_140003b44(int64_t a1, char a2, int64_t a3) { | |
char * v1 = (char *)(a1 + 65); // 0x140003b5c | |
char v2 = *v1; // 0x140003b5c | |
int64_t v3; // 0x140003b44 | |
int64_t v4 = v3 & -256; // 0x140003b5c | |
int32_t v5; // 0x140003b44 | |
int64_t v6; // 0x140003b44 | |
int64_t v7; // 0x140003b44 | |
if (v2 > 100) { | |
if (v2 < 104) { | |
// 0x140003c4a | |
v6 = function_140003eac(a1); | |
goto lab_0x140003c4f; | |
} else { | |
// 0x140003bcf | |
v7 = 10; | |
v5 = 0; | |
switch (v2) { | |
case 105: { | |
goto lab_0x140003c37; | |
} | |
case 110: { | |
// 0x140003c30 | |
v6 = function_1400042b0(a1); | |
goto lab_0x140003c4f; | |
} | |
case 111: { | |
int32_t * v8 = (int32_t *)(a1 + 48); // 0x140003c12 | |
int32_t v9 = *v8; // 0x140003c12 | |
v7 = 8; | |
v5 = 0; | |
if ((v9 & 32) != 0) { | |
// 0x140003c1f | |
*v8 = v9 | 128; | |
v7 = 8; | |
v5 = 0; | |
} | |
goto lab_0x140003c43; | |
} | |
case 112: { | |
// 0x140003bfa | |
*(int32_t *)(a1 + 56) = 16; | |
*(int32_t *)(a1 + 60) = 11; | |
// 0x140003c08 | |
v7 = 16; | |
v5 = (int32_t)a3 & -256 | 1; | |
goto lab_0x140003c43; | |
} | |
case 115: { | |
// 0x140003bf3 | |
v6 = function_140004338(a1); | |
goto lab_0x140003c4f; | |
} | |
case 117: { | |
goto lab_0x140003c43; | |
} | |
default: { | |
// 0x140003be7 | |
v7 = 16; | |
v5 = 0; | |
if (v2 != 120) { | |
// 0x140003daf | |
return v4 & -256; | |
} | |
goto lab_0x140003c43; | |
} | |
} | |
} | |
} else { | |
switch (v2) { | |
case 100: { | |
goto lab_0x140003c37; | |
} | |
case 65: { | |
// 0x140003c4a | |
v6 = function_140003eac(a1); | |
goto lab_0x140003c4f; | |
} | |
case 67: { | |
// 0x140003bb5 | |
v6 = function_140004068(a1, 0); | |
goto lab_0x140003c4f; | |
} | |
default: { | |
// 0x140003b88 | |
if (v2 < 69) { | |
// 0x140003daf | |
return v4 & -256; | |
} | |
if (v2 < 72) { | |
// 0x140003c4a | |
v6 = function_140003eac(a1); | |
goto lab_0x140003c4f; | |
} else { | |
switch (v2) { | |
case 83: { | |
// 0x140003bf3 | |
v6 = function_140004338(a1); | |
goto lab_0x140003c4f; | |
} | |
case 88: { | |
// 0x140003c08 | |
v7 = 16; | |
v5 = (int32_t)a3 & -256 | 1; | |
goto lab_0x140003c43; | |
} | |
case 90: { | |
// 0x140003bc1 | |
v6 = function_140003e38(a1); | |
goto lab_0x140003c4f; | |
} | |
case 97: { | |
// 0x140003c4a | |
v6 = function_140003eac(a1); | |
goto lab_0x140003c4f; | |
} | |
default: { | |
// 0x140003bad | |
if (v2 != 99) { | |
// 0x140003daf | |
return v4 & -256; | |
} | |
// 0x140003bb5 | |
v6 = function_140004068(a1, 0); | |
goto lab_0x140003c4f; | |
} | |
} | |
} | |
} | |
} | |
} | |
lab_0x140003c37:; | |
int32_t * v10 = (int32_t *)(a1 + 48); // 0x140003c37 | |
*v10 = *v10 | 16; | |
v7 = 10; | |
v5 = 0; | |
goto lab_0x140003c43; | |
lab_0x140003c4f: | |
// 0x140003c4f | |
if ((char)v6 == 0) { | |
// 0x140003daf | |
return v6 & -256; | |
} | |
// 0x140003c5a | |
if (*(char *)(a1 + 64) != 0) { | |
// 0x140003daf | |
return v6 & -256 | 1; | |
} | |
int32_t * v12 = (int32_t *)(a1 + 48); // 0x140003c64 | |
uint32_t v13 = *v12; // 0x140003c64 | |
int64_t v14 = v13; // 0x140003c64 | |
int16_t v15 = 0; // 0x140003c69 | |
int64_t v16 = 0; // 0x140003c7c | |
if ((v13 & 16) != 0) { | |
if ((v14 & 64) == 0) { | |
if ((v13 & 1) == 0) { | |
// 0x140003c9b | |
v16 = 0; | |
if ((v13 & 2) != 0) { | |
// 0x140003ca4 | |
v15 = 32; | |
v16 = 1; | |
} | |
} else { | |
// 0x140003c94 | |
v15 = 43; | |
v16 = 1; | |
} | |
} else { | |
// 0x140003c88 | |
v15 = 45; | |
v16 = 1; | |
} | |
} | |
char v17 = *v1; // 0x140003cac | |
int64_t v18; // 0x140003b44 | |
if ((v14 & 32) != 0 == (v17 - 88 & -33) == 0) { | |
goto lab_0x140003cdd; | |
} else { | |
// 0x140003cd9 | |
v18 = v16; | |
if ((v17 - 65 & -33) != 0) { | |
goto lab_0x140003cf8; | |
} else { | |
goto lab_0x140003cdd; | |
} | |
} | |
lab_0x140003c43:; | |
// 0x140003c43 | |
int64_t v11; // 0x140003b44 | |
v6 = function_140004130(a1, v7, v5, v11); | |
goto lab_0x140003c4f; | |
lab_0x140003cdd:; | |
// 0x140003cdd | |
int64_t v19; // bp-72, 0x140003b44 | |
int64_t v20 = &v19; // 0x140003b58 | |
*(char *)(v16 | v20 + 80) = 48; | |
*(char *)(v20 + 81 + v16) = v17 != 88 == (v17 != 65) ? 120 : 88; | |
v18 = v16 | 2; | |
goto lab_0x140003cf8; | |
lab_0x140003cf8:; | |
int32_t v21 = v18; // 0x140003cfe | |
int64_t v22 = (int64_t)(*(int32_t *)(a1 + 52) - v21 - *(int32_t *)(a1 + 80)); // 0x140003cfe | |
int64_t v23; // 0x140003b44 | |
int64_t v24; // 0x140003b44 | |
int64_t v25; // 0x140003b44 | |
if ((v14 & 12) != 0) { | |
// 0x140003cf8 | |
v23 = a1 + 40; | |
v24 = a1 + 1128; | |
v25 = v14; | |
} else { | |
int64_t v26 = a1 + 40; | |
int64_t v27 = a1 + 1128; | |
int64_t v28 = v14 & 0xffffff00 | 32; // 0x140003d13 | |
function_140003290(v27, v28, v22, v26); | |
v23 = v26; | |
v24 = v27; | |
v25 = v28; | |
} | |
int64_t v29 = *(int64_t *)v24; // 0x140003d21 | |
int64_t v30; // 0x140003b44 | |
if ((*(int32_t *)(v29 + 20) & 0x1000) == 0) { | |
// 0x140003d41 | |
function_140004590(v24, &v15, v18 & 0xffffffff, v23, a1 + 16); | |
v30 = &v15; | |
goto lab_0x140003d5d; | |
} else { | |
// 0x140003d33 | |
if (*(int64_t *)(v29 + 8) != 0) { | |
// 0x140003d41 | |
function_140004590(v24, &v15, v18 & 0xffffffff, v23, a1 + 16); | |
v30 = &v15; | |
goto lab_0x140003d5d; | |
} else { | |
int32_t * v31 = (int32_t *)v23; // 0x140003d3d | |
*v31 = *v31 + v21; | |
v30 = v25; | |
goto lab_0x140003d5d; | |
} | |
} | |
lab_0x140003d5d:; | |
int32_t v32 = *v12; // 0x140003d5d | |
if ((v32 & 8) != 0) { | |
if ((v32 & 4) == 0) { | |
// 0x140003d72 | |
function_140003290(v24, v30 & -256 | 48, v22, v23); | |
} | |
} | |
int64_t v33 = function_14000446c(a1); // 0x140003d87 | |
if (*(int32_t *)v23 < 0) { | |
// 0x140003daf | |
return v33 & -256 | 1; | |
} | |
int64_t v34 = v33; // 0x140003d9a | |
if ((*v12 & 4) != 0) { | |
// 0x140003d9c | |
v34 = function_140003290(v24, 32, v22, v23); | |
} | |
// 0x140003daf | |
return v34 & -256 | 1; | |
} | |
// Address range: 0x140003dd0 - 0x140003e06 | |
int64_t function_140003dd0(uint32_t result) { | |
if (result < 12) { | |
// 0x140003dd5 | |
return result; | |
} | |
// 0x140003e03 | |
return 0; | |
} | |
// Address range: 0x140003e0a - 0x140003e0e | |
int64_t function_140003e0a(void) { | |
// 0x140003e0a | |
int64_t result; // 0x140003e0a | |
*(char *)result = 2 * (char)result; | |
return result; | |
} | |
// Address range: 0x140003e38 - 0x140003eab | |
int64_t function_140003e38(int64_t a1) { | |
int64_t * v1 = (int64_t *)(a1 + 32); // 0x140003e38 | |
int64_t v2 = *v1; // 0x140003e38 | |
*v1 = v2 + 8; | |
int64_t v3 = *(int64_t *)v2; // 0x140003e41 | |
int64_t v4; // 0x140003e38 | |
int64_t v5; // 0x140003e38 | |
int64_t v6; // 0x140003e4a | |
if (v3 == 0) { | |
// 0x140003e91 | |
*(int64_t *)(a1 + 72) = (int64_t)"(null)"; | |
v5 = 6; | |
goto lab_0x140003ea1; | |
} else { | |
// 0x140003e4a | |
v6 = *(int64_t *)(v3 + 8); | |
if (v6 == 0) { | |
// 0x140003e91 | |
*(int64_t *)(a1 + 72) = (int64_t)"(null)"; | |
v5 = 6; | |
goto lab_0x140003ea1; | |
} else { | |
// 0x140003e53 | |
switch (*(int32_t *)(a1 + 60)) { | |
case 2: { | |
goto lab_0x140003e7d; | |
} | |
case 3: { | |
goto lab_0x140003e7d_2; | |
} | |
case 12: { | |
goto lab_0x140003e7d_2; | |
} | |
case 13: { | |
goto lab_0x140003e7d; | |
} | |
default: { | |
// 0x140003e7d | |
*(int64_t *)(a1 + 72) = v6; | |
int64_t v7 = (int64_t)*(int16_t *)v3; // 0x140003e81 | |
v4 = v7; | |
v5 = v7; | |
if ((*(char *)(a1 + 65) - 99 & -17) == 0) { | |
goto lab_0x140003ea1; | |
} else { | |
goto lab_0x140003e89; | |
} | |
} | |
} | |
} | |
} | |
lab_0x140003ea1: | |
// 0x140003ea1 | |
*(char *)(a1 + 84) = 0; | |
// 0x140003ea5 | |
*(int32_t *)(a1 + 80) = (int32_t)v5; | |
return v5 & -256 | 1; | |
lab_0x140003e7d: | |
// 0x140003e7d | |
*(int64_t *)(a1 + 72) = v6; | |
v5 = (int64_t)*(int16_t *)v3; | |
goto lab_0x140003ea1; | |
lab_0x140003e7d_2: | |
// 0x140003e7d | |
*(int64_t *)(a1 + 72) = v6; | |
v4 = (int64_t)*(int16_t *)v3; | |
goto lab_0x140003e89; | |
lab_0x140003e89: | |
// 0x140003e89 | |
*(char *)(a1 + 84) = 1; | |
int64_t v8 = v4 / 2; // 0x140003e8f | |
// 0x140003ea5 | |
*(int32_t *)(a1 + 80) = (int32_t)v8; | |
return v8 & -256 | 1; | |
} | |
// Address range: 0x140003eac - 0x140004067 | |
int64_t function_140003eac(int64_t a1) { | |
int32_t * v1 = (int32_t *)(a1 + 48); // 0x140003eb6 | |
*v1 = *v1 | 16; | |
int32_t * v2 = (int32_t *)(a1 + 56); // 0x140003ebd | |
uint32_t v3 = *v2; // 0x140003ebd | |
int64_t v4; // 0x140003eac | |
if (v3 >= 0) { | |
// 0x140003eda | |
v4 = v3; | |
if (v3 == 0) { | |
char v5 = *(char *)(a1 + 65); // 0x140003edc | |
v4 = 0; | |
if (v5 != 103 != v5 != 71) { | |
// 0x140003eea | |
*v2 = 1; | |
v4 = 1; | |
} | |
} | |
} else { | |
int64_t v6 = (*(char *)(a1 + 65) - 65 & -33) == 0 ? 13 : 6; // 0x140003ed2 | |
*v2 = (int32_t)v6; | |
v4 = v6; | |
} | |
int64_t v7 = a1 + 88; // 0x140003ef6 | |
int64_t * v8 = (int64_t *)(a1 + 1120); | |
if ((char)function_1400030d0(v7, (0x100000000 * v4 + 0x15d00000000) / 0x100000000) == 0) { | |
int32_t v9 = 163; // 0x140003f1c | |
if (*v8 != 0) { | |
// 0x140003f23 | |
v9 = (int32_t)(*(int64_t *)(a1 + 1112) / 2) - 349; | |
} | |
// 0x140003f2d | |
*v2 = v9; | |
} | |
int64_t v10 = *v8; // 0x140003f35 | |
int64_t * v11 = (int64_t *)(a1 + 72); // 0x140003f43 | |
*v11 = v10 == 0 ? v7 : v10; | |
int64_t * v12 = (int64_t *)(a1 + 32); // 0x140003f47 | |
int64_t v13 = *v12; // 0x140003f47 | |
*v12 = v13 + 8; | |
int64_t v14 = *v8; // 0x140003f50 | |
int64_t v15 = __asm_movsd_8(__asm_movsd(*(int64_t *)v13)); // 0x140003f5c | |
int64_t v16; // 0x140003eac | |
int64_t v17; // 0x140003eac | |
int64_t v18; // 0x140003eac | |
if (v14 != 0) { | |
int64_t v19 = *(int64_t *)(a1 + 1112) / 2; | |
v18 = v19; | |
v17 = v14; | |
v16 = v19 + v14; | |
} else { | |
// 0x140003f7b | |
v18 = 512; | |
v17 = v7; | |
v16 = a1 + 600; | |
} | |
int64_t v20 = v18; | |
int64_t * v21 = (int64_t *)(a1 + 8); // 0x140003f9e | |
int64_t v22 = *v21; // 0x140003f9e | |
char * v23 = (char *)(a1 + 65); // 0x140003fa2 | |
int64_t v24 = (int64_t)*v23; // 0x140003fa2 | |
int32_t v25 = *v2; // 0x140003fbb | |
function_140008860(&v15, v17, v20, v16, v20, v24, (int64_t)v25, v24, v22, 1); | |
uint32_t v26 = *v1; // 0x140003fd8 | |
int64_t v27 = v26 / 32; // 0x140003fdb | |
int64_t v28 = v27; // 0x140003fe0 | |
if ((v26 & 32) != 0) { | |
// 0x140003fe2 | |
v28 = v27; | |
if (*v2 == 0) { | |
// 0x140003fe8 | |
v28 = function_140003590(*v11, *v21); | |
} | |
} | |
int64_t v29 = v28 & -256; // 0x140003ffc | |
if ((*v23 - 71 & -33) == 0) { | |
uint32_t v30 = *v1; // 0x140003ffe | |
v29 = v30 / 32; | |
if ((v30 & 32) == 0) { | |
// 0x140004008 | |
v29 = function_1400034f0(*v11, *v21); | |
} | |
} | |
int64_t v31 = *v11; // 0x140004015 | |
char v32 = *(char *)v31; // 0x140004019 | |
char v33 = v32; // 0x14000401d | |
int64_t v34 = v31; // 0x14000401d | |
if (v32 == 45) { | |
// 0x14000401f | |
*v1 = *v1 | 64; | |
v34 = v31 + 1; | |
*v11 = v34; | |
v33 = *(char *)v34; | |
} | |
int64_t v35 = v29 & -256; // 0x140004019 | |
int64_t v36 = (v35 | (int64_t)v33) + 183; // 0x14000402c | |
if ((char)v36 < 38) { | |
if ((1 << (v36 & 63) & 0x2100000021) != 0) { | |
// 0x140004042 | |
*v1 = *v1 & -9; | |
*v23 = 115; | |
} | |
} | |
int64_t v37 = -1; // 0x14000404a | |
v37++; | |
while (*(char *)(v37 + v34) != 0) { | |
// 0x14000404e | |
v37++; | |
} | |
// 0x140004057 | |
*(int32_t *)(a1 + 80) = (int32_t)v37; | |
return v35 | 1; | |
} | |
// Address range: 0x140004068 - 0x14000412d | |
int64_t function_140004068(int64_t a1, int32_t a2) { | |
// 0x140004068 | |
switch (*(int32_t *)(a1 + 60)) { | |
case 2: { | |
goto lab_0x1400040e7; | |
} | |
case 3: { | |
goto lab_0x14000409b; | |
} | |
case 12: { | |
goto lab_0x14000409b; | |
} | |
case 13: { | |
goto lab_0x1400040e7; | |
} | |
default: { | |
// 0x140004089 | |
if ((*(char *)(a1 + 65) - 99 & -17) == 0) { | |
goto lab_0x1400040e7; | |
} else { | |
goto lab_0x14000409b; | |
} | |
} | |
} | |
lab_0x1400040e7:; | |
int64_t v1 = a1 + 88; // 0x1400040e7 | |
int64_t * v2 = (int64_t *)(a1 + 1120); | |
int64_t v3 = *v2; // 0x1400040eb | |
int64_t * v4 = (int64_t *)(a1 + 32); // 0x1400040f9 | |
int64_t v5 = *v4; // 0x1400040f9 | |
*v4 = v5 + 8; | |
*(char *)(v3 == 0 ? v1 : v3) = *(char *)v5; | |
*(int32_t *)(a1 + 80) = 1; | |
int64_t * v6 = v2; // 0x140004108 | |
int64_t v7 = v1; // 0x140004108 | |
goto lab_0x14000410f; | |
lab_0x14000409b:; | |
int64_t * v9 = (int64_t *)(a1 + 32); // 0x14000409b | |
int64_t v10 = *v9; // 0x14000409b | |
*v9 = v10 + 8; | |
int64_t * v11 = (int64_t *)(a1 + 1120); | |
int64_t v12 = *v11; // 0x1400040a4 | |
int64_t v13; // 0x140004068 | |
int64_t v14; // 0x140004068 | |
if (v12 != 0) { | |
// 0x1400040c1 | |
v14 = v12; | |
v13 = *(int64_t *)(a1 + 1112) / 2; | |
} else { | |
// 0x1400040b5 | |
v14 = a1 + 88; | |
v13 = 512; | |
} | |
int64_t v15 = *(int64_t *)(a1 + 8); // 0x1400040cb | |
int64_t v16 = function_140007308(a1 + 80, v14, v13, *(int16_t *)v10, v15); // 0x1400040d8 | |
v6 = v11; | |
v7 = v16; | |
if ((int32_t)v16 != 0) { | |
// 0x1400040e1 | |
*(char *)(a1 + 64) = 1; | |
v6 = v11; | |
v7 = v16; | |
} | |
goto lab_0x14000410f; | |
lab_0x14000410f:; | |
int64_t v8 = *v6; // 0x140004115 | |
*(int64_t *)(a1 + 72) = v8 == 0 ? a1 + 88 : v8; | |
return v7 & -256 | 1; | |
} | |
// Address range: 0x140004130 - 0x1400042af | |
int64_t function_140004130(int64_t a1, int64_t a2, int32_t a3, int64_t a4) { | |
int64_t v1 = function_140003dd0(*(int32_t *)(a1 + 60)); // 0x140004155 | |
int32_t * v2; // 0x140004130 | |
int64_t v3; // 0x140004130 | |
switch (v1) { | |
case 1: { | |
int32_t * v4 = (int32_t *)(a1 + 48); | |
int64_t * v5 = (int64_t *)(a1 + 32); // 0x1400041e7 | |
int64_t v6 = *v5; // 0x1400041e7 | |
*v5 = v6 + 8; | |
unsigned char v7 = *(char *)v6; | |
if ((*v4 & 16) == 0) { | |
// 0x1400041fe | |
v2 = v4; | |
v3 = v7; | |
} else { | |
// 0x1400041f7 | |
v2 = v4; | |
v3 = v7; | |
} | |
// break -> 0x140004202 | |
break; | |
} | |
case 2: { | |
int32_t * v8 = (int32_t *)(a1 + 48); | |
int64_t * v9 = (int64_t *)(a1 + 32); // 0x1400041c7 | |
int64_t v10 = *v9; // 0x1400041c7 | |
*v9 = v10 + 8; | |
uint16_t v11 = *(int16_t *)v10; | |
if ((*v8 & 16) == 0) { | |
// 0x1400041de | |
v2 = v8; | |
v3 = v11; | |
} else { | |
// 0x1400041d7 | |
v2 = v8; | |
v3 = v11; | |
} | |
// break -> 0x140004202 | |
break; | |
} | |
case 4: { | |
int32_t * v12 = (int32_t *)(a1 + 48); | |
int64_t * v13 = (int64_t *)(a1 + 32); // 0x1400041a9 | |
int64_t v14 = *v13; // 0x1400041a9 | |
*v13 = v14 + 8; | |
uint32_t v15 = *(int32_t *)v14; | |
if ((*v12 & 16) == 0) { | |
// 0x1400041bf | |
v2 = v12; | |
v3 = v15; | |
} else { | |
// 0x1400041b9 | |
v2 = v12; | |
v3 = v15; | |
} | |
// break -> 0x140004202 | |
break; | |
} | |
case 8: { | |
int64_t * v16 = (int64_t *)(a1 + 32); // 0x140004192 | |
int64_t v17 = *v16; // 0x140004192 | |
*v16 = v17 + 8; | |
v2 = (int32_t *)(a1 + 48); | |
v3 = *(int64_t *)v17; | |
// break -> 0x140004202 | |
break; | |
} | |
default: { | |
// 0x140004178 | |
*_errno() = 22; | |
// 0x140004294 | |
return function_140006270(v1 - 4, a2, (int64_t)a3, a4) & -256; | |
} | |
} | |
int32_t * v18 = v2; | |
uint32_t v19 = *v18; // 0x140004202 | |
int64_t v20 = v19; // 0x140004202 | |
int64_t v21 = v20; // 0x14000420c | |
int64_t v22 = v3; // 0x14000420c | |
if (v3 < 0 && (v19 & 16) != 0) { | |
// 0x140004213 | |
v21 = v20 | 64; | |
*v18 = (int32_t)v21; | |
v22 = -v3; | |
} | |
int32_t * v23 = (int32_t *)(a1 + 56); // 0x14000421c | |
int32_t v24 = *v23; // 0x14000421c | |
if (v24 >= 0) { | |
// 0x14000422b | |
*v18 = (int32_t)v21 & -9; | |
function_1400030d0(a1 + 88, (int64_t)v24); | |
} else { | |
// 0x140004222 | |
*v23 = 1; | |
} | |
if (v22 == 0) { | |
// 0x140004243 | |
*v18 = *v18 & -33; | |
} | |
int64_t v25 = a2 & 0xffffffff; // 0x140004152 | |
*(char *)(a1 + 84) = 0; | |
int64_t v26 = a4 & -256 | (int64_t)(a3 & 255); // 0x14000424b | |
if (v1 != 8) { | |
// 0x140004264 | |
function_140003178(a1, v22 & 0xffffffff, v25, v26); | |
} else { | |
// 0x14000425a | |
function_140003200(a1, v22, v25, v26); | |
} | |
uint32_t v27 = *v18; // 0x14000426b | |
if ((char)v27 > -1) { | |
// 0x140004294 | |
return v27 / 128 & 0x1ffff00 | 1; | |
} | |
int32_t * v28 = (int32_t *)(a1 + 80); // 0x140004275 | |
int64_t * v29 = (int64_t *)(a1 + 72); | |
int64_t v30 = *v29; | |
if (*v28 != 0) { | |
// 0x14000427b | |
if (*(char *)v30 == 48) { | |
// 0x140004294 | |
return v27 / 128 & 0x1ffff00 | 1; | |
} | |
} | |
int64_t v31 = v30 - 1; // 0x140004284 | |
*v29 = v31; | |
*(char *)v31 = 48; | |
*v28 = *v28 + 1; | |
// 0x140004294 | |
return v27 / 128 & 0x1ffff00 | 1; | |
} | |
// Address range: 0x1400042b0 - 0x140004336 | |
int64_t function_1400042b0(int64_t a1) { | |
int64_t * v1 = (int64_t *)(a1 + 32); // 0x1400042ba | |
int64_t v2 = *v1; // 0x1400042ba | |
*v1 = v2 + 8; | |
int64_t v3 = *(int64_t *)v2; // 0x1400042c6 | |
int64_t v4 = a1; // 0x1400042d1 | |
if (_get_printf_count_output() != 0) { | |
uint32_t v5 = *(int32_t *)(a1 + 60); // 0x1400042e7 | |
int64_t v6 = function_140003dd0(v5); // 0x1400042ea | |
switch (v6) { | |
case 1: { | |
// 0x140004320 | |
*(char *)v3 = *(char *)(a1 + 40); | |
// 0x140004325 | |
*(char *)(a1 + 64) = 1; | |
// 0x14000432b | |
return 1; | |
} | |
case 2: { | |
uint16_t v7 = *(int16_t *)(a1 + 40); // 0x140004317 | |
*(int16_t *)v3 = v7; | |
// 0x140004325 | |
*(char *)(a1 + 64) = 1; | |
// 0x14000432b | |
return (int64_t)v7 & -256 | 1; | |
} | |
} | |
int64_t v8 = v6 - 4; // 0x1400042fb | |
if (v8 == 0) { | |
uint32_t v9 = *(int32_t *)(a1 + 40); // 0x140004310 | |
*(int32_t *)v3 = v9; | |
// 0x140004325 | |
*(char *)(a1 + 64) = 1; | |
// 0x14000432b | |
return (int64_t)v9 & -256 | 1; | |
} | |
// 0x140004301 | |
v4 = v5; | |
if (v8 == 4) { | |
int64_t v10 = (int64_t)*(int32_t *)(a1 + 40); // 0x140004307 | |
*(int64_t *)v3 = v10; | |
// 0x140004325 | |
*(char *)(a1 + 64) = 1; | |
// 0x14000432b | |
return v10 & -256 | 1; | |
} | |
} | |
// 0x1400042d3 | |
*_errno() = 22; | |
// 0x14000432b | |
int64_t v11; // 0x1400042b0 | |
int64_t v12; // 0x1400042b0 | |
int64_t v13; // 0x1400042b0 | |
return function_140006270(v4, v13, v12, v11) & -256; | |
} | |
// Address range: 0x140004338 - 0x1400043ce | |
int64_t function_140004338(int64_t a1) { | |
int64_t * v1 = (int64_t *)(a1 + 32); // 0x14000433e | |
int64_t v2 = *v1; // 0x14000433e | |
*v1 = v2 + 8; | |
int32_t v3 = *(int32_t *)(a1 + 56); // 0x14000434a | |
int64_t v4 = *(int64_t *)v2; // 0x140004352 | |
int32_t * v5 = (int32_t *)(a1 + 60); // 0x14000435b | |
int32_t v6 = v3 == -1 ? 0x7fffffff : v3; // 0x14000435e | |
int64_t * v7 = (int64_t *)(a1 + 72); // 0x140004362 | |
*v7 = v4; | |
switch (*v5) { | |
case 2: { | |
goto lab_0x1400043ab; | |
} | |
case 3: { | |
goto lab_0x14000438d; | |
} | |
case 12: { | |
goto lab_0x14000438d; | |
} | |
default: { | |
// 0x140004375 | |
if (*v5 == 13) { | |
goto lab_0x1400043ab; | |
} else { | |
// 0x14000437b | |
if ((*(char *)(a1 + 65) - 99 & -17) == 0) { | |
goto lab_0x1400043ab; | |
} else { | |
goto lab_0x14000438d; | |
} | |
} | |
} | |
} | |
lab_0x1400043ab:; | |
int64_t v8 = v4; // 0x1400043ae | |
if (v4 == 0) { | |
// 0x1400043b0 | |
*v7 = (int64_t)"(null)"; | |
v8 = (int64_t)"(null)"; | |
} | |
int64_t v9 = function_1400074a4(v8, (int64_t)v6); // 0x1400043be | |
// 0x1400043c3 | |
*(int32_t *)(a1 + 80) = (int32_t)v9; | |
return v9 & -256 | 1; | |
lab_0x14000438d:; | |
int64_t v10 = v4; // 0x140004390 | |
if (v4 == 0) { | |
// 0x140004392 | |
*v7 = (int64_t)L"(null)"; | |
v10 = (int64_t)L"(null)"; | |
} | |
// 0x14000439d | |
*(char *)(a1 + 84) = 1; | |
v9 = function_1400075f4(v10, (int64_t)v6); | |
// 0x1400043c3 | |
*(int32_t *)(a1 + 80) = (int32_t)v9; | |
return v9 & -256 | 1; | |
} | |
// Address range: 0x1400043d0 - 0x14000446a | |
int64_t function_1400043d0(int64_t a1) { | |
uint32_t v1 = *(int32_t *)(a1 + 20); // 0x1400043d4 | |
if ((v1 & 0x1000) != 0) { | |
// 0x140004465 | |
return (int64_t)(v1 / 0x1000) & -256 | 1; | |
} | |
int32_t v2 = _fileno((struct _IO_FILE *)a1); // 0x1400043e2 | |
int64_t v3 = v2; // 0x1400043e7 | |
int64_t v4 = a1; // 0x140004402 | |
int64_t v5 = &g35; // 0x140004402 | |
if (v2 <= 0xfffffffd) { | |
int64_t v6 = v3 & 63; // 0x14000440e | |
int64_t v7 = *(int64_t *)(8 * v3 / 64 + (int64_t)&g85); // 0x140004415 | |
v4 = 9 * v6; | |
v5 = v7 + 72 * v6; | |
} | |
int64_t v8 = v4; // 0x140004426 | |
int64_t v9 = v3; // 0x140004426 | |
if (*(char *)(v5 + 57) == 0) { | |
int64_t v10 = v3 + 2; // 0x140004428 | |
int64_t v11 = v10 & 0xffffffff; // 0x14000442f | |
v8 = v4; | |
v9 = v3; | |
int64_t v12 = &g35; // 0x14000442f | |
if ((int32_t)v10 >= 2) { | |
// 0x140004431 | |
v9 = v3 & 63; | |
v11 = *(int64_t *)(8 * v3 / 64 + (int64_t)&g85); | |
v8 = 9 * v9; | |
v12 = v11 + 72 * v9; | |
} | |
// 0x140004448 | |
if ((*(char *)(v12 + 61) & 1) == 0) { | |
// 0x140004465 | |
return v11 & -256 | 1; | |
} | |
} | |
// 0x14000444f | |
*_errno() = 22; | |
// 0x140004465 | |
return function_140006270(v8, v5, v9, v3) & -256; | |
} | |
// Address range: 0x14000446c - 0x14000458d | |
int64_t function_14000446c(int64_t a1) { | |
int32_t * v1 = (int32_t *)(a1 + 80); | |
uint32_t v2 = *v1; | |
if (*(char *)(a1 + 84) == 0 || v2 < 1) { | |
int64_t v3 = a1 + 1128; // 0x140004531 | |
int64_t v4 = *(int64_t *)v3; // 0x140004538 | |
int64_t v5 = a1 + 40; // 0x14000453b | |
int64_t v6 = *(int64_t *)(a1 + 72); // 0x14000453f | |
if ((*(int32_t *)(v4 + 20) & 0x1000) == 0 || *(int64_t *)(v4 + 8) != 0) { | |
// 0x14000455d | |
function_140004590(v3, (int16_t *)v6, (int64_t)v2, v5, a1 + 16); | |
// 0x14000456e | |
return function_140011ed0(g29); | |
} | |
int32_t * v7 = (int32_t *)v5; // 0x140004558 | |
*v7 = *v7 + v2; | |
// 0x14000456e | |
return function_140011ed0(g29); | |
} | |
int64_t * v8 = (int64_t *)(a1 + 8); // 0x1400044a7 | |
int64_t v9; // bp-36, 0x14000446c | |
int64_t v10 = &v9; // 0x1400044ab | |
int32_t v11; // bp-40, 0x14000446c | |
int64_t v12 = &v11; // 0x1400044b4 | |
int64_t v13 = a1 + 1128; | |
int64_t v14 = a1 + 40; | |
int32_t * v15 = (int32_t *)v14; | |
int64_t v16 = a1 + 16; | |
int64_t v17 = *(int64_t *)(a1 + 72); // 0x1400044a5 | |
int64_t v18 = 0; // 0x1400044a5 | |
while (true) { | |
lab_0x1400044a7: | |
// 0x1400044a7 | |
v11 = 0; | |
if ((int32_t)function_140007308(v12, v10, 6, *(int16_t *)v17, *v8) != 0) { | |
// break -> 0x140004527 | |
break; | |
} | |
uint32_t v19 = v11; // 0x1400044d6 | |
if (v19 == 0) { | |
// break -> 0x140004527 | |
break; | |
} | |
int64_t v20 = *(int64_t *)v13; // 0x1400044e7 | |
if ((*(int32_t *)(v20 + 20) & 0x1000) == 0) { | |
// 0x140004508 | |
function_140004590(v13, (int16_t *)&v9, (int64_t)v19, v14, v16); | |
goto lab_0x14000451e; | |
} else { | |
// 0x1400044f9 | |
if (*(int64_t *)(v20 + 8) != 0) { | |
// 0x140004508 | |
function_140004590(v13, (int16_t *)&v9, (int64_t)v19, v14, v16); | |
goto lab_0x14000451e; | |
} else { | |
// 0x140004503 | |
*v15 = *v15 + v19; | |
goto lab_0x14000451e; | |
} | |
} | |
} | |
// 0x140004527 | |
*v15 = -1; | |
// 0x14000456e | |
return function_140011ed0(g29); | |
lab_0x14000451e:; | |
int64_t v21 = v18 + 1; // 0x14000451e | |
v17 += 2; | |
v18 = v21 & 0xffffffff; | |
if (*v1 == (int32_t)v21) { | |
// 0x14000456e | |
return function_140011ed0(g29); | |
} | |
goto lab_0x1400044a7; | |
} | |
// Address range: 0x140004590 - 0x140004685 | |
int64_t function_140004590(int64_t a1, int16_t * a2, int64_t a3, int64_t a4, int64_t a5) { | |
int64_t * v1 = (int64_t *)a5; // 0x1400045be | |
int64_t v2 = *v1; // 0x1400045be | |
int64_t v3 = v2; // 0x1400045c4 | |
if (v2 == 0) { | |
// 0x1400045c6 | |
v3 = (int64_t)_errno(); | |
*v1 = v3; | |
} | |
int64_t v4 = 0x100000000 * a3; | |
int32_t * v5 = (int32_t *)v3; // 0x1400045d1 | |
int32_t v6 = *v5; // 0x1400045d1 | |
*v5 = 0; | |
int64_t result = v3; // 0x140004652 | |
int64_t v7; // 0x140004590 | |
int64_t v8; // 0x140004590 | |
int64_t v9; // 0x140004590 | |
int64_t v10; // 0x140004590 | |
char v11; // 0x1400045df | |
int64_t v12; // 0x140004590 | |
int32_t * v13; // 0x140004590 | |
if (v4 != 0) { | |
// 0x1400045dc | |
v12 = (int64_t)a2; | |
v13 = (int32_t *)a4; | |
v10 = v12; | |
v9 = a1; | |
while (true) { | |
lab_0x1400045dc: | |
// 0x1400045dc | |
v11 = *(char *)v10; | |
uint32_t v14 = *(int32_t *)(v9 + 20); // 0x1400045e2 | |
if ((v14 & 0x1000) == 0) { | |
goto lab_0x1400045f7; | |
} else { | |
int64_t v15 = v14 / 0x1000; // 0x1400045e5 | |
v7 = v15; | |
v8 = v15; | |
if (*(int64_t *)(v15 + 8) == 0) { | |
goto lab_0x140004645; | |
} else { | |
goto lab_0x1400045f7; | |
} | |
} | |
} | |
} | |
goto lab_0x140004659_2; | |
lab_0x1400045f7:; | |
int64_t v16 = (int64_t)v11 & 0xffffffff; // 0x1400045f7 | |
int64_t v17 = function_140008bc0(v16, v16); // 0x1400045fc | |
v7 = v17; | |
v8 = v16; | |
int64_t v18; // 0x140004621 | |
if ((int32_t)v17 != -1) { | |
goto lab_0x140004645; | |
} else { | |
int64_t v19 = *v1; // 0x140004606 | |
int64_t v20 = v19; // 0x14000460c | |
if (v19 == 0) { | |
// 0x14000460e | |
v20 = (int64_t)_errno(); | |
*v1 = v20; | |
} | |
int64_t v21 = v20; | |
if (*(int32_t *)v21 != 42) { | |
// 0x140004656 | |
*v13 = -1; | |
result = v21; | |
goto lab_0x140004659_2; | |
} | |
uint32_t v22 = *(int32_t *)(v16 + 20); // 0x14000461e | |
v18 = v22 / 0x1000; | |
if ((v22 & 0x1000) == 0) { | |
goto lab_0x140004633; | |
} else { | |
// 0x140004629 | |
v7 = v18; | |
v8 = v18; | |
if (*(int64_t *)(v18 + 8) == 0) { | |
goto lab_0x140004645; | |
} else { | |
goto lab_0x140004633; | |
} | |
} | |
} | |
lab_0x140004645:; | |
// 0x140004645 | |
int64_t v23; // 0x140004590 | |
int32_t v24 = *(int32_t *)&v23 + 1; // 0x140004647 | |
int64_t v25 = v7; // 0x140004647 | |
int64_t v26 = v8; // 0x140004647 | |
goto lab_0x14000464c; | |
lab_0x14000464c: | |
// 0x14000464c | |
*v13 = v24; | |
int64_t v27 = v10 + 1; // 0x14000464c | |
v10 = v27; | |
v9 = v26; | |
result = v25; | |
if (v27 == v4 / 0x100000000 + v12) { | |
// break -> 0x140004659 | |
goto lab_0x140004659_2; | |
} | |
goto lab_0x1400045dc; | |
lab_0x140004633:; | |
int64_t v28 = function_140008bc0(63, v18); // 0x14000463b | |
v7 = v28; | |
v8 = 63; | |
v24 = -1; | |
v25 = v28; | |
v26 = 63; | |
if ((int32_t)v28 == -1) { | |
goto lab_0x14000464c; | |
} else { | |
goto lab_0x140004645; | |
} | |
lab_0x140004659_2: | |
// 0x140004659 | |
if (!((v6 == 0 | *v5 != 0))) { | |
// 0x140004663 | |
*v5 = v6; | |
} | |
// 0x140004666 | |
return result; | |
} | |
// Address range: 0x140004714 - 0x140004896 | |
int64_t function_140004714(int32_t a1, int64_t a2) { | |
int64_t v1 = function_140007cc0(); // 0x14000472d | |
if (v1 == 0) { | |
// 0x140004881 | |
return 0; | |
} | |
int64_t v2 = *(int64_t *)v1; // 0x140004741 | |
int64_t v3 = v2 + 176; | |
int64_t v4 = v2; | |
int32_t * v5 = (int32_t *)v4; | |
while (*v5 != a1) { | |
// 0x140004757 | |
if (v4 == v3) { | |
// 0x140004881 | |
return 0; | |
} | |
v4 += 16; | |
v5 = (int32_t *)v4; | |
} | |
// 0x140004763 | |
if (v4 == 0) { | |
// 0x140004881 | |
return 0; | |
} | |
int64_t * v6 = (int64_t *)(v4 + 8); // 0x14000476c | |
int64_t v7 = *v6; // 0x14000476c | |
if (v7 == 0) { | |
// 0x140004881 | |
return 0; | |
} | |
if (v7 == 5) { | |
// 0x14000477f | |
*v6 = 0; | |
// 0x140004881 | |
return v7 + 0xfffffffc & 0xffffffff; | |
} | |
// 0x14000478c | |
if (v7 == 1) { | |
// 0x140004881 | |
return 0xffffffff; | |
} | |
int64_t * v8 = (int64_t *)(v1 + 8); // 0x14000479a | |
int64_t v9 = *v8; // 0x14000479a | |
*v8 = a2; | |
int32_t v10 = *(int32_t *)(v4 + 4); // 0x1400047a2 | |
if (v10 != 8) { | |
// 0x140004866 | |
*v6 = 0; | |
function_1400124a0(v10, a2, (int32_t)v7); | |
// 0x140004876 | |
*v8 = v9; | |
// 0x140004881 | |
return 0xffffffff; | |
} | |
int64_t v11 = v2 + 48; | |
*(int64_t *)(v11 + 8) = 0; | |
while (v11 != v3) { | |
// 0x1400047b9 | |
v11 += 16; | |
*(int64_t *)(v11 + 8) = 0; | |
} | |
int32_t v12 = *v5; // 0x1400047c6 | |
int32_t * v13 = (int32_t *)(v1 + 16); // 0x1400047cc | |
uint32_t v14 = *v13; // 0x1400047cc | |
int64_t v15 = 130; // 0x140004714 | |
int64_t v16; // 0x140004714 | |
switch (v12) { | |
case -0x3fffff73: { | |
goto lab_0x140004850; | |
} | |
case -0x3fffff72: { | |
// 0x140004844 | |
v15 = 131; | |
goto lab_0x140004850; | |
} | |
case -0x3fffff71: { | |
// 0x14000483d | |
v15 = 134; | |
goto lab_0x140004850; | |
} | |
case -0x3fffff70: { | |
// 0x140004836 | |
v15 = 129; | |
goto lab_0x140004850; | |
} | |
case -0x3fffff6f: { | |
// 0x14000482f | |
v15 = 132; | |
goto lab_0x140004850; | |
} | |
case -0x3fffff6e: { | |
// 0x140004828 | |
v15 = 138; | |
goto lab_0x140004850; | |
} | |
case -0x3fffff6d: { | |
// 0x140004821 | |
v15 = 133; | |
goto lab_0x140004850; | |
} | |
case -0x3ffffd4c: { | |
// 0x140004850 | |
v15 = 142; | |
goto lab_0x140004850; | |
} | |
default: { | |
// 0x140004809 | |
v15 = 141; | |
v16 = v14; | |
if (v12 != -0x3ffffd4b) { | |
goto lab_0x140004853; | |
} else { | |
goto lab_0x140004850; | |
} | |
} | |
} | |
lab_0x140004850: | |
// 0x140004850 | |
*v13 = (int32_t)v15; | |
v16 = v15; | |
goto lab_0x140004853; | |
lab_0x140004853: | |
// 0x140004853 | |
function_1400124a0(8, v16, (int32_t)v7); | |
*v13 = v14; | |
// 0x140004876 | |
*v8 = v9; | |
// 0x140004881 | |
return 0xffffffff; | |
} | |
// Address range: 0x140004898 - 0x14000489f | |
int64_t function_140004898(void) { | |
// 0x140004898 | |
return (uint32_t)g64; | |
} | |
// Address range: 0x1400048a0 - 0x1400048a7 | |
int64_t function_1400048a0(int64_t a1) { | |
// 0x1400048a0 | |
g64 = a1; | |
int64_t result; // 0x1400048a0 | |
return result; | |
} | |
// Address range: 0x1400048c8 - 0x1400048d0 | |
int64_t function_1400048c8(int64_t a1) { | |
// 0x1400048c8 | |
g65 = a1; | |
int64_t result; // 0x1400048c8 | |
return result; | |
} | |
// Address range: 0x140004928 - 0x140004ae7 | |
int64_t function_140004928(int64_t a1, int32_t a2, int32_t a3, int64_t * a4, int64_t * a5) { | |
int64_t v1 = a3; | |
*a5 = 0; | |
*a4 = 1; | |
int64_t v2 = 0; // 0x140004964 | |
if (a2 != 0) { | |
int64_t v3 = a2; | |
*(int64_t *)v3 = v1; | |
v2 = v3 + 8; | |
} | |
int64_t v4 = (int64_t)a4; | |
int64_t v5; // 0x140004928 | |
int64_t v6 = &v5; // 0x14000496d | |
int64_t v7 = v1; // 0x14000496d | |
int64_t v8 = 0; // 0x14000496d | |
int64_t v9 = a1; // 0x14000496d | |
int64_t v10; // 0x140004928 | |
int64_t v11; // 0x140004928 | |
int64_t v12; // 0x140004928 | |
int64_t v13; // 0x140004928 | |
int64_t v14; // 0x140004928 | |
int64_t v15; // 0x140004928 | |
while (true) { | |
int64_t v16 = v9; | |
int64_t v17 = v8; | |
int64_t v18 = v7; | |
char * v19 = (char *)v16; // 0x140004970 | |
int64_t v20; // 0x140004928 | |
int64_t v21; // 0x140004928 | |
int64_t v22; // 0x140004928 | |
int64_t v23; // 0x140004928 | |
char v24; // 0x140004928 | |
if (*v19 != 34) { | |
// 0x140004984 | |
*a5 = *a5 + 1; | |
int64_t v25 = 0; // 0x14000498a | |
if (v18 != 0) { | |
// 0x14000498c | |
*(char *)v18 = *v19; | |
v25 = v18 + 1; | |
} | |
int64_t v26 = v25; | |
char v27 = *v19; // 0x140004993 | |
int64_t v28 = v16 + 1; // 0x140004996 | |
int64_t v29 = function_14000a40c((int64_t)v27 & 0xffffffff); // 0x14000499b | |
int64_t v30 = v29; // 0x1400049a2 | |
int64_t v31 = v26; // 0x1400049a2 | |
int64_t v32 = v28; // 0x1400049a2 | |
if ((int32_t)v29 != 0) { | |
// 0x1400049a4 | |
*a5 = *a5 + 1; | |
int64_t v33 = v29; // 0x1400049aa | |
int64_t v34 = 0; // 0x1400049aa | |
if (v26 != 0) { | |
// 0x1400049ac | |
*(char *)v26 = *(char *)v28; | |
v33 = v29 & -256; | |
v34 = v26 + 1; | |
} | |
// 0x1400049b3 | |
v30 = v33; | |
v31 = v34; | |
v32 = v16 + 2; | |
} | |
// 0x1400049b6 | |
v14 = v32; | |
v12 = v31; | |
v10 = v30; | |
v20 = v10; | |
v22 = v12; | |
v21 = v17; | |
v24 = v27; | |
v23 = v14; | |
if (v27 == 0) { | |
// break -> 0x1400049d7 | |
break; | |
} | |
} else { | |
// 0x140004975 | |
v20 = v6; | |
v22 = v18; | |
v21 = (char)v17 == 0; | |
v24 = 34; | |
v23 = v16 + 1; | |
} | |
// 0x1400049bb | |
v9 = v23; | |
v8 = v21; | |
v7 = v22; | |
int64_t v35 = v20; | |
if ((char)v8 == 0) { | |
char v36 = v24; | |
if (v36 != 32 != v36 != 9) { | |
// 0x1400049cc | |
v11 = v35; | |
v13 = 0; | |
v15 = v9; | |
if (v7 == 0) { | |
goto lab_0x1400049da; | |
} else { | |
// 0x1400049d1 | |
*(char *)(v7 - 1) = 0; | |
v11 = v35; | |
v13 = v7; | |
v15 = v9; | |
goto lab_0x1400049da; | |
} | |
} | |
} | |
// 0x140004970 | |
v6 = v35; | |
} | |
// 0x1400049d7 | |
v11 = v10; | |
v13 = v12; | |
v15 = v14 - 1; | |
goto lab_0x1400049da; | |
lab_0x140004a58:; | |
// 0x140004a58 | |
int64_t v77; // 0x140004928 | |
int64_t v87 = v77; | |
int64_t v76; // 0x140004928 | |
int64_t v88 = v76; | |
int32_t v75; // 0x140004928 | |
int32_t v89 = v75; | |
int64_t v61; // 0x140004928 | |
int64_t v90 = v61; // 0x140004a5a | |
int64_t v74; // 0x140004928 | |
int64_t v91 = v74; // 0x140004a5a | |
int64_t v92 = v74; // 0x140004a5a | |
int64_t v93 = v61; // 0x140004a5a | |
if ((int32_t)v74 != 0) { | |
int64_t v94 = v90; | |
int64_t v95 = 0; // 0x140004a4d | |
if (v94 != 0) { | |
// 0x140004a4f | |
*(char *)v94 = 92; | |
v95 = v94 + 1; | |
} | |
int64_t v96 = v91 + 0xffffffff; // 0x140004a48 | |
int64_t v97 = v96 & 0xffffffff; // 0x140004a48 | |
*a5 = *a5 + 1; | |
v92 = v97; | |
v93 = v95; | |
while ((int32_t)v96 != 0) { | |
// 0x140004a48 | |
v94 = v95; | |
v95 = 0; | |
if (v94 != 0) { | |
// 0x140004a4f | |
*(char *)v94 = 92; | |
v95 = v94 + 1; | |
} | |
// 0x140004a55 | |
v96 = v97 + 0xffffffff; | |
v97 = v96 & 0xffffffff; | |
*a5 = *a5 + 1; | |
v92 = v97; | |
v93 = v95; | |
} | |
} | |
int64_t v83 = v93; | |
int64_t v86 = v92; | |
char * v85 = (char *)v87; | |
char v98 = *v85; // 0x140004a5c | |
if (v98 == 0) { | |
// break -> 0x140004aa8 | |
goto lab_0x140004aa8_2; | |
} | |
if ((char)v88 != 0) { | |
goto lab_0x140004a6f; | |
} else { | |
switch (v98) { | |
case 32: { | |
goto lab_0x140004aa8_2; | |
} | |
case 9: { | |
goto lab_0x140004aa8_2; | |
} | |
default: { | |
goto lab_0x140004a6f; | |
} | |
} | |
} | |
lab_0x140004a6f:; | |
int64_t v99 = v83; // 0x140004a71 | |
int64_t v100 = v87; // 0x140004a71 | |
if (v89 != 0) { | |
char v101 = v98; // 0x140004a76 | |
int64_t v102 = 0; // 0x140004a76 | |
if (v83 != 0) { | |
// 0x140004a78 | |
*(char *)v83 = v98; | |
v101 = *v85; | |
v102 = v83 + 1; | |
} | |
int64_t v103 = v102; | |
int64_t v104 = v103; // 0x140004a89 | |
int64_t v105 = v87; // 0x140004a89 | |
if ((int32_t)function_14000a40c((int64_t)v101) != 0) { | |
// 0x140004a8b | |
*a5 = *a5 + 1; | |
int64_t v106 = v87 + 1; // 0x140004a8e | |
v104 = 0; | |
v105 = v106; | |
if (v103 != 0) { | |
// 0x140004a96 | |
*(char *)v103 = *(char *)v106; | |
v104 = v103 + 1; | |
v105 = v106; | |
} | |
} | |
// 0x140004a9d | |
*a5 = *a5 + 1; | |
v99 = v104; | |
v100 = v105; | |
} | |
int64_t v57 = v99; // 0x140004aa3 | |
int64_t v58 = v88; // 0x140004aa3 | |
int64_t v59 = v100 + 1; // 0x140004aa3 | |
goto lab_0x140004a0e; | |
lab_0x140004a44:; | |
// 0x140004a44 | |
int64_t v72; // 0x140004928 | |
v74 = v72 / 2; | |
int32_t v78; // 0x140004928 | |
v75 = v78; | |
int64_t v79; // 0x140004928 | |
v76 = v79; | |
int64_t v80; // 0x140004928 | |
v77 = v80; | |
goto lab_0x140004a58; | |
lab_0x140004a3b: | |
// 0x140004a3b | |
v78 = 0; | |
int64_t v60; // 0x140004928 | |
v79 = (char)v60 == 0; | |
int64_t v73; // 0x140004928 | |
v80 = v73; | |
goto lab_0x140004a44; | |
lab_0x1400049da:; | |
unsigned char v37 = *(char *)v15; // 0x1400049dd | |
int64_t v38 = v11 & -256 | (int64_t)v37; // 0x1400049dd | |
int64_t v39 = v2; // 0x1400049e1 | |
int64_t result = v38; // 0x1400049e1 | |
if (v37 != 0) { | |
int64_t v40 = v38; // 0x1400049dd | |
int64_t v41 = v2; | |
int64_t v42 = v15; // 0x140004928 | |
int64_t v43 = 0; // 0x140004928 | |
int64_t v44 = v13; // 0x140004928 | |
while (true) { | |
int64_t v45 = v44; | |
int64_t v46 = v41; | |
char v47 = v40; // 0x1400049e7 | |
int64_t v48 = v42; // 0x1400049e9 | |
int64_t v49 = v40; // 0x1400049e9 | |
int64_t v50 = v40; // 0x1400049e9 | |
int64_t v51 = v42; // 0x1400049e9 | |
char v52 = v47; // 0x1400049e9 | |
if (v47 != 32 != v47 != 9) { | |
int64_t v53 = v48 + 1; // 0x1400049ef | |
unsigned char v54 = *(char *)v53; // 0x1400049f2 | |
int64_t v55 = v49 & -256 | (int64_t)v54; // 0x1400049f2 | |
v48 = v53; | |
v49 = v55; | |
v50 = v55; | |
v51 = v53; | |
v52 = v54; | |
while (v54 != 32 != v54 != 9) { | |
// 0x1400049ef | |
v53 = v48 + 1; | |
v54 = *(char *)v53; | |
v55 = v49 & -256 | (int64_t)v54; | |
v48 = v53; | |
v49 = v55; | |
v50 = v55; | |
v51 = v53; | |
v52 = v54; | |
} | |
} | |
// 0x1400049f6 | |
v39 = v46; | |
result = v50; | |
if (v52 == 0) { | |
// break -> 0x140004abb | |
break; | |
} | |
int64_t v56 = 0; // 0x140004a01 | |
if (v46 != 0) { | |
// 0x140004a03 | |
*(int64_t *)v46 = v45; | |
v56 = v46 + 8; | |
} | |
// 0x140004a0a | |
v41 = v56; | |
*a4 = v4 + 1; | |
v57 = v45; | |
v58 = v43; | |
v59 = v51; | |
while (true) { | |
lab_0x140004a0e: | |
// 0x140004a0e | |
v60 = v58; | |
v61 = v57; | |
char v62 = *(char *)v59; // 0x140004a1c | |
int64_t v63 = v59; // 0x140004a21 | |
int64_t v64 = v59; // 0x140004a21 | |
int64_t v65 = 0; // 0x140004a21 | |
char v66 = v62; // 0x140004a21 | |
if (v62 == 92) { | |
int64_t v67 = v63 + 1; // 0x140004a17 | |
int64_t v68 = 1; // 0x140004a1a | |
char v69 = *(char *)v67; // 0x140004a1c | |
int64_t v70 = v68; // 0x140004a21 | |
v63 = v67; | |
v64 = v67; | |
v65 = v68; | |
v66 = v69; | |
while (v69 == 92) { | |
// 0x140004a17 | |
v67 = v63 + 1; | |
v68 = v70 + 1 & 0xffffffff; | |
v69 = *(char *)v67; | |
v70 = v68; | |
v63 = v67; | |
v64 = v67; | |
v65 = v68; | |
v66 = v69; | |
} | |
} | |
char v71 = v66; | |
v72 = v65; | |
v73 = v64; | |
v74 = v72; | |
v75 = 1; | |
v76 = v60; | |
v77 = v73; | |
if (v71 != 34) { | |
goto lab_0x140004a58; | |
} else { | |
// 0x140004a28 | |
v78 = 1; | |
v79 = v60; | |
v80 = v73; | |
if ((v72 & 1) != 0) { | |
goto lab_0x140004a44; | |
} else { | |
if ((char)v60 == 0) { | |
goto lab_0x140004a3b; | |
} else { | |
int64_t v81 = v73 + 1; // 0x140004a31 | |
v78 = 1; | |
v79 = v60; | |
v80 = v81; | |
if (*(char *)v81 != v71) { | |
goto lab_0x140004a3b; | |
} else { | |
goto lab_0x140004a44; | |
} | |
} | |
} | |
} | |
} | |
lab_0x140004aa8_2:; | |
int64_t v82 = 0; // 0x140004aab | |
if (v83 != 0) { | |
// 0x140004aad | |
*(char *)v83 = 0; | |
v82 = v83 + 1; | |
} | |
// 0x140004ab3 | |
*a5 = *a5 + 1; | |
unsigned char v84 = *v85; // 0x1400049dd | |
v40 = v86 & -256 | (int64_t)v84; | |
v42 = v87; | |
v43 = v88; | |
v44 = v82; | |
v39 = v41; | |
result = v40; | |
if (v84 == 0) { | |
// break -> 0x140004abb | |
break; | |
} | |
} | |
} | |
// 0x140004abb | |
if (v39 != 0) { | |
// 0x140004ac0 | |
*(int64_t *)v39 = 0; | |
} | |
// 0x140004ac4 | |
*a4 = v4 + 1; | |
return result; | |
} | |
// Address range: 0x140004ae8 - 0x140004b45 | |
int64_t function_140004ae8(uint64_t a1, uint64_t a2, uint64_t a3) { | |
// 0x140004ae8 | |
if (a1 >= 0x1fffffffffffffff || 0xffffffffffffffff / a3 <= a2) { | |
// 0x140004b3f | |
return 0; | |
} | |
int64_t v1 = 8 * a1; // 0x140004b0e | |
uint64_t v2 = a3 * a2; // 0x140004b12 | |
int64_t result = 0; // 0x140004b1f | |
if (v2 < -1 - v1) { | |
int64_t * v3 = _calloc_base((int32_t)(v2 + v1), 1); // 0x140004b29 | |
_free_base(NULL); | |
result = (int64_t)v3; | |
} | |
// 0x140004b3f | |
return result; | |
} | |
// Address range: 0x140004b48 - 0x140004cce | |
int64_t function_140004b48(int64_t a1) { | |
int32_t v1 = a1; // 0x140004b60 | |
if (v1 == 0) { | |
// 0x140004cbb | |
return 0; | |
} | |
if (v1 >= 3) { | |
// 0x140004b70 | |
*_errno() = 22; | |
int64_t v2; // 0x140004b48 | |
int64_t v3; // 0x140004b48 | |
int64_t v4; // 0x140004b48 | |
function_140006270(a1, v4, v3, v2); | |
// 0x140004cbb | |
return 22; | |
} | |
// 0x140004b86 | |
__acrt_initialize_multibyte(); | |
function_140009814(0, (int64_t)&g66, 260); | |
g73 = &g66; | |
int64_t v5; // 0x140004b48 | |
if (g77 == NULL) { | |
// 0x140004bba | |
v5 = &g66; | |
goto lab_0x140004bbd; | |
} else { | |
// 0x140004bb5 | |
v5 = (int64_t)g77; | |
if (*g77 != 0) { | |
goto lab_0x140004bbd; | |
} else { | |
// 0x140004bba | |
v5 = &g66; | |
goto lab_0x140004bbd; | |
} | |
} | |
lab_0x140004bbd:; | |
int32_t v6 = 0; // bp+24, 0x140004bc1 | |
int64_t v7 = 0; // bp+32, 0x140004bd1 | |
function_140004928(v5, 0, 0, (int64_t *)&v6, &v7); | |
int64_t v8 = v6; // 0x140004bdf | |
int64_t v9 = function_140004ae8(v8, v7, 1); // 0x140004bf0 | |
if (v9 == 0) { | |
// 0x140004bfd | |
*_errno() = 12; | |
_free_base(NULL); | |
// 0x140004cbb | |
return 12; | |
} | |
// 0x140004c15 | |
function_140004928(v5, (int32_t)v9, (int32_t)(v9 + 8 * v8), (int64_t *)&v6, &v7); | |
if (v1 == 1) { | |
// 0x140004c37 | |
g75 = v9; | |
*(int32_t *)&g74 = v6 - 1; | |
// 0x140004cb6 | |
_free_base(NULL); | |
// 0x140004cbb | |
return 0; | |
} | |
int64_t v10 = 0; // bp+16, 0x140004c51 | |
int64_t v11 = function_1400096f8(v9, &v10); // 0x140004c58 | |
int64_t v12 = v10; | |
if ((int32_t)v11 != 0) { | |
// 0x140004c63 | |
_free_base((int64_t *)v12); | |
v10 = 0; | |
_free_base((int64_t *)v9); | |
// 0x140004cbb | |
return v11 & 0xffffffff; | |
} | |
int32_t v13 = 0; // 0x140004c89 | |
if (*(int64_t *)v12 != 0) { | |
int64_t v14 = v12 + 8; // 0x140004c8b | |
int64_t v15 = 1; // 0x140004c8f | |
int64_t v16 = v15; // 0x140004c95 | |
int64_t v17 = v14; // 0x140004c95 | |
while (*(int64_t *)v14 != 0) { | |
// 0x140004c8b | |
v14 = v17 + 8; | |
v15 = v16 + 1; | |
v16 = v15; | |
v17 = v14; | |
} | |
// 0x140004c97 | |
v13 = v15; | |
} | |
// 0x140004c97 | |
*(int32_t *)&g74 = v13; | |
v10 = 0; | |
g75 = v12; | |
_free_base(NULL); | |
v10 = 0; | |
// 0x140004cb6 | |
_free_base((int64_t *)v9); | |
// 0x140004cbb | |
return 0; | |
} | |
// Address range: 0x140004cd0 - 0x140004d3c | |
int64_t function_140004cd0(void) { | |
// 0x140004cd0 | |
if (g67 != 0) { | |
// 0x140004d31 | |
return 0; | |
} | |
// 0x140004ce9 | |
__acrt_initialize_multibyte(); | |
int64_t v1; // 0x140004cd0 | |
int64_t v2; // 0x140004cd0 | |
int64_t v3 = function_14000a52c(v2, v1); // 0x140004cee | |
if (v3 == 0) { | |
// 0x140004d27 | |
_free_base((int64_t *)v3); | |
// 0x140004d31 | |
return 0xffffffff; | |
} | |
int64_t v4 = function_140004d3c(v3, v1); // 0x140004d03 | |
int64_t v5 = 0xffffffff; // 0x140004d0b | |
if (v4 != 0) { | |
// 0x140004d12 | |
g69 = v4; | |
g67 = v4; | |
v5 = 0; | |
} | |
// 0x140004d20 | |
_free_base(NULL); | |
// 0x140004d27 | |
_free_base((int64_t *)v3); | |
// 0x140004d31 | |
return v5 & 0xffffffff; | |
} | |
// Address range: 0x140004d3c - 0x140004e44 | |
int64_t function_140004d3c(int64_t a1, int64_t a2) { | |
int64_t * v1 = _calloc_base(1, 8); // 0x140004d93 | |
if (v1 == NULL) { | |
// 0x140004e0c | |
_free_base(NULL); | |
return 0; | |
} | |
int64_t result = (int64_t)v1; // 0x140004d93 | |
char * v2 = (char *)a1; // 0x140004da3 | |
char v3 = *v2; // 0x140004da3 | |
int64_t v4 = a1; // 0x140004da8 | |
if (v3 == 0) { | |
// 0x140004e0c | |
_free_base(NULL); | |
return result; | |
} | |
int64_t v5 = -1; | |
int64_t v6 = v5 + 1; // 0x140004dae | |
while (*(char *)(v6 + v4) != 0) { | |
// 0x140004dae | |
v5 = v6; | |
v6 = v5 + 1; | |
} | |
int64_t v7 = v5 + 2; // 0x140004db7 | |
int64_t v8 = result; // 0x140004dbc | |
int64_t result2; // 0x140004d3c | |
int32_t v9; // 0x140004dc6 | |
int64_t * v10; // 0x140004dc6 | |
if (v3 != 61) { | |
// 0x140004dbe | |
v9 = v7; | |
v10 = _calloc_base(v9, 1); | |
if (v10 == NULL) { | |
// 0x140004df8 | |
_3f__3f__24_free_environment_40_D_40__40_YAXQEAPEAD_40_Z((char **)&g113); | |
_free_base(NULL); | |
result2 = 0; | |
goto lab_0x140004e0c; | |
} | |
// 0x140004dd3 | |
if (strcpy_s((char *)v10, v9, v2) != 0) { | |
// 0x140004e2f | |
function_140006290(0, 0, 0, 0, 0); | |
__asm_int3(); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
// 0x140004de7 | |
*(int64_t *)result = (int64_t)v10; | |
_free_base(NULL); | |
v8 = result + 8; | |
} | |
// 0x140004df3 | |
v4 += v7; | |
char * v11 = (char *)v4; // 0x140004da3 | |
char v12 = *v11; // 0x140004da3 | |
result2 = result; | |
while (v12 != 0) { | |
int64_t v13 = v8; | |
char * v14 = v11; | |
v5 = -1; | |
v6 = v5 + 1; | |
while (*(char *)(v6 + v4) != 0) { | |
// 0x140004dae | |
v5 = v6; | |
v6 = v5 + 1; | |
} | |
// 0x140004db7 | |
v7 = v5 + 2; | |
v8 = v13; | |
if (v12 != 61) { | |
// 0x140004dbe | |
v9 = v7; | |
v10 = _calloc_base(v9, 1); | |
if (v10 == NULL) { | |
// 0x140004df8 | |
_3f__3f__24_free_environment_40_D_40__40_YAXQEAPEAD_40_Z((char **)&g113); | |
_free_base(NULL); | |
result2 = 0; | |
goto lab_0x140004e0c; | |
} | |
// 0x140004dd3 | |
if (strcpy_s((char *)v10, v9, v14) != 0) { | |
// 0x140004e2f | |
function_140006290(0, 0, 0, 0, 0); | |
__asm_int3(); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
// 0x140004de7 | |
*(int64_t *)v13 = (int64_t)v10; | |
_free_base(NULL); | |
v8 = v13 + 8; | |
} | |
// 0x140004df3 | |
v4 += v7; | |
v11 = (char *)v4; | |
v12 = *v11; | |
result2 = result; | |
} | |
lab_0x140004e0c: | |
// 0x140004e0c | |
_free_base(NULL); | |
return result2; | |
} | |
// Address range: 0x140004e88 - 0x140004f59 | |
int64_t function_140004e88(void) { | |
// 0x140004e88 | |
if (g68 == 0) { | |
// 0x140004eaa | |
return 0xffffffff; | |
} | |
int64_t * v1 = (int64_t *)g68; // 0x140004f3b | |
int64_t result = *v1; // 0x140004f3b | |
int64_t * v2 = v1; // 0x140004f41 | |
if (result == 0) { | |
// 0x140004eaa | |
return result; | |
} | |
int64_t v3 = g68; // 0x140004f41 | |
int32_t v4 = function_14000a47c(0, 0, result, -1, 0, 0); | |
int64_t result2 = 0xffffffff; // 0x140004ee6 | |
while (v4 != 0) { | |
int64_t * v5 = _calloc_base(v4, 1); // 0x140004ef0 | |
if (v5 == NULL) { | |
// 0x140004f4c | |
_free_base(v5); | |
result2 = 0xffffffff; | |
return result2; | |
} | |
int64_t v6 = (int64_t)v5; // 0x140004ef0 | |
if ((int32_t)function_14000a47c(0, 0, *v2, -1, v6, v4) == 0) { | |
// 0x140004f4c | |
_free_base(v5); | |
result2 = 0xffffffff; | |
return result2; | |
} | |
// 0x140004f26 | |
function_14000aa38(v6, 0); | |
_free_base(NULL); | |
v3 += 8; | |
v2 = (int64_t *)v3; | |
int64_t v7 = *v2; // 0x140004f3b | |
result2 = v7; | |
if (v7 == 0) { | |
// break -> 0x140004eaa | |
break; | |
} | |
v4 = function_14000a47c(0, 0, v7, -1, 0, 0); | |
result2 = 0xffffffff; | |
} | |
lab_0x140004eaa: | |
// 0x140004eaa | |
return result2; | |
} | |
// Address range: 0x140005058 - 0x14000505d | |
int64_t function_140005058(void) { | |
// 0x140005058 | |
return function_140004cd0(); | |
} | |
// Address range: 0x140005104 - 0x14000513c | |
int64_t function_140005104(void) { | |
// 0x140005104 | |
int64_t v1; // 0x140005104 | |
__acrt_lock((int32_t)v1); | |
int64_t v2; // 0x140005104 | |
function_14000513c(v2); | |
int64_t v3; // 0x140005104 | |
return __acrt_lock2((int32_t)v3, v1); | |
} | |
// Address range: 0x14000513c - 0x1400051f7 | |
int64_t function_14000513c(int64_t a1) { | |
// 0x14000513c | |
int64_t result; // 0x14000513c | |
if (g72 != 0) { | |
// 0x1400051f1 | |
return result; | |
} | |
int32_t v1 = a1; | |
*(int32_t *)&g70 = 1; | |
int32_t v2; // 0x14000513c | |
int64_t v3; // 0x14000513c | |
if (v1 != 0) { | |
// 0x14000519a | |
v3 = &g82; | |
v2 = v1; | |
if (v1 != 1) { | |
goto lab_0x1400051ac; | |
} else { | |
goto lab_0x1400051a6; | |
} | |
} else { | |
// 0x140005166 | |
v3 = &g81; | |
if (g29 != (int64_t)g71) { | |
// 0x14000517e | |
function_1400124a0(0, 0, 0); | |
v3 = &g81; | |
} | |
goto lab_0x1400051a6; | |
} | |
lab_0x1400051ac: | |
// 0x1400051ac | |
if (v2 == 0) { | |
// 0x1400051b4 | |
_initterm((void (**)())&g5, (void (**)())&g6); | |
} | |
// 0x1400051c7 | |
_initterm((void (**)())&g7, (void (**)())&g8); | |
int64_t v4 = *(int64_t *)(a1 + 8); // 0x1400051da | |
result = v4; | |
if (*(int32_t *)v4 == 0) { | |
// 0x1400051e3 | |
g72 = 1; | |
int64_t v5 = *(int64_t *)(a1 + 16); // 0x1400051ea | |
*(char *)v5 = 1; | |
result = v5; | |
} | |
// 0x1400051f1 | |
return result; | |
lab_0x1400051a6: | |
// 0x1400051a6 | |
function_140005908((int64_t *)v3); | |
v2 = v3; | |
goto lab_0x1400051ac; | |
} | |
// Address range: 0x1400051f7 - 0x14000520c | |
int64_t function_1400051f7(int64_t a1) { | |
// 0x1400051f7 | |
int64_t v1; // 0x1400051f7 | |
int64_t v2; // 0x1400051f7 | |
terminate(a1, v2, v1); | |
__asm_int3(); | |
__asm_int3(); | |
__asm_int3(); | |
return (bool)((int32_t)a1 == -0x1f928c9d); | |
} | |
// Address range: 0x140005370 - 0x140005378 | |
int64_t function_140005370(int64_t a1) { | |
// 0x140005370 | |
g71 = a1; | |
int64_t result; // 0x140005370 | |
return result; | |
} | |
// Address range: 0x140005378 - 0x140005388 | |
void function_140005378(int32_t a1, int64_t a2, int64_t a3) { | |
// 0x140005378 | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z(a1, a2, a3); | |
} | |
// Address range: 0x140005388 - 0x140005395 | |
void function_140005388(int32_t a1, int64_t a2, int64_t a3) { | |
// 0x140005388 | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z(a1, a2, a3); | |
} | |
// Address range: 0x140005398 - 0x1400053a4 | |
void function_140005398(int32_t a1, int64_t a2, int64_t a3) { | |
// 0x140005398 | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z(a1, a2, a3); | |
} | |
// Address range: 0x1400053a4 - 0x1400053e0 | |
int64_t function_1400053a4(uint64_t a1) { | |
int64_t result = g29 & 63; // 0x1400053ba | |
int64_t v1 = 64 - result; // 0x1400053bd | |
if (g29 != (int64_t)g71) { | |
// 0x1400053da | |
terminate(v1, a1, g29); | |
return __asm_int3(); | |
} | |
uint64_t v2 = v1 & 63; // 0x1400053c8 | |
int64_t v3 = a1; // 0x1400053c8 | |
if (v2 != 0) { | |
v3 = a1 << 64 - v2 | a1 >> v2; | |
} | |
g71 = v3 ^ g29; | |
return result; | |
} | |
// Address range: 0x1400053e0 - 0x1400053ea | |
void function_1400053e0(int32_t a1, int64_t a2, int64_t a3) { | |
// 0x1400053e0 | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z(a1, a2, a3); | |
} | |
// Address range: 0x140005454 - 0x14000545c | |
int64_t function_140005454(void) { | |
// 0x140005454 | |
return &g74; | |
} | |
// Address range: 0x14000545c - 0x140005464 | |
int64_t function_14000545c(void) { | |
// 0x14000545c | |
return &g75; | |
} | |
// Address range: 0x140005464 - 0x1400054d2 | |
int64_t function_140005464(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t a6) { | |
int64_t v1 = (int64_t)a2; | |
__acrt_lock((int32_t)v1); | |
if ((int64_t)&g90 == (int64_t)&g91) { | |
// 0x1400054bb | |
int64_t v2; // 0x140005464 | |
return __acrt_lock2((int32_t)v2, v1); | |
} | |
int64_t v3 = &g90; | |
int64_t * v4 = (int64_t *)v3; // 0x1400054a2 | |
int64_t v5 = v1; // 0x1400054a5 | |
if (*v4 != (int64_t)&g37) { | |
// 0x1400054a7 | |
*v4 = function_14000b6b0(v3, (int64_t)&g37); | |
v5 = (int64_t)&g37; | |
} | |
int64_t v6 = v5; | |
int64_t v7 = v3 + 8; // 0x1400054b5 | |
while (v7 != (int64_t)&g91) { | |
// 0x1400054a2 | |
v3 = v7; | |
v4 = (int64_t *)v3; | |
v5 = v6; | |
if (*v4 != (int64_t)&g37) { | |
// 0x1400054a7 | |
*v4 = function_14000b6b0(v3, (int64_t)&g37); | |
v5 = (int64_t)&g37; | |
} | |
// 0x1400054b5 | |
v6 = v5; | |
v7 = v3 + 8; | |
} | |
// 0x1400054bb | |
int64_t v8; // 0x140005464 | |
return __acrt_lock2(*(int32_t *)&v8, v6); | |
} | |
// Address range: 0x1400054d4 - 0x1400054e0 | |
int64_t function_1400054d4(void) { | |
uint32_t result = g78; // 0x1400054d9 | |
g78 = 1; | |
return result; | |
} | |
// Address range: 0x1400054e0 - 0x14000550e | |
int64_t function_1400054e0(void) { | |
int64_t v1 = 4; // bp+16, 0x1400054f4 | |
int64_t v2 = 4; // bp+24, 0x1400054fc | |
int64_t v3; // 0x1400054e0 | |
return function_140005464(&v3, &v2, &v3, &v1, 4, 4); | |
} | |
// Address range: 0x14000557c - 0x140005583 | |
int64_t function_14000557c(void) { | |
// 0x14000557c | |
return (uint32_t)g79; | |
} | |
// Address range: 0x1400055b0 - 0x1400055b8 | |
int64_t function_1400055b0(void) { | |
// 0x1400055b0 | |
return &g80; | |
} | |
// Address range: 0x1400055b8 - 0x1400055f3 | |
int64_t function_1400055b8(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t * a6, int64_t * a7) { | |
// 0x1400055b8 | |
int64_t v1; // 0x1400055b8 | |
__acrt_lock((int32_t)v1); | |
int64_t v2 = function_140005630((int64_t)a3); // 0x1400055d8 | |
int64_t v3; // 0x1400055b8 | |
__acrt_lock2((int32_t)v3, (int64_t)a2); | |
return v2 & 0xffffffff; | |
} | |
// Address range: 0x1400055f4 - 0x14000562f | |
int64_t function_1400055f4(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t * a5) { | |
// 0x1400055f4 | |
int64_t v1; // 0x1400055f4 | |
__acrt_lock((int32_t)v1); | |
int64_t v2 = function_1400057e0((int64_t)a3); // 0x140005614 | |
int64_t v3; // 0x1400055f4 | |
__acrt_lock2((int32_t)v3, (int64_t)a2); | |
return v2 & 0xffffffff; | |
} | |
// Address range: 0x140005630 - 0x1400057e0 | |
int64_t function_140005630(int64_t a1) { | |
// 0x140005630 | |
if (a1 == 0) { | |
// 0x1400057c7 | |
return 0xffffffff; | |
} | |
int64_t * v1 = (int64_t *)(a1 + 8); // 0x140005663 | |
int64_t v2 = g29 ^ a1; // 0x14000566a | |
int64_t v3 = *v1 ^ g29; // 0x14000566d | |
uint64_t v4 = g29 & 63; // 0x140005677 | |
int64_t v5 = *(int64_t *)(a1 + 16) ^ g29; // 0x14000567a | |
int64_t v6 = v2; // 0x14000567d | |
int64_t v7 = v5; // 0x14000567d | |
int64_t v8 = v3; // 0x14000567d | |
if (v4 != 0) { | |
uint64_t v9 = 64 - v4; | |
v6 = v2 << v9 | v2 >> v4; | |
v7 = v5 >> v4 | v5 << v9; | |
v8 = v3 >> v4 | v3 << v9; | |
} | |
int64_t v10 = v7; // 0x140005689 | |
int64_t v11 = v6; // 0x140005689 | |
int64_t v12 = v8; // 0x140005689 | |
int64_t v13 = g29; // 0x140005689 | |
int64_t v14; // 0x140005630 | |
int64_t v15; // 0x140005630 | |
int64_t v16; // 0x14000568f | |
uint64_t v17; // 0x140005697 | |
if (v8 != v7) { | |
goto lab_0x140005736; | |
} else { | |
// 0x14000568f | |
v16 = v7 - v6; | |
v17 = v16 / 8; | |
int64_t v18 = (v17 < 512 ? v17 : 512) + v17; // 0x1400056a8 | |
int64_t v19 = v18 == 0 ? 32 : v18; // 0x1400056ab | |
if (v19 < v17) { | |
goto lab_0x1400056d2; | |
} else { | |
int64_t v20 = function_14000b718(v6, v19, 8); // 0x1400056be | |
_free_base(NULL); | |
v15 = v19; | |
v14 = v20; | |
if (v20 != 0) { | |
goto lab_0x1400056fa; | |
} else { | |
goto lab_0x1400056d2; | |
} | |
} | |
} | |
lab_0x140005736:; | |
int64_t v21 = v11; | |
int64_t v22 = v10; | |
uint64_t v23 = *(int64_t *)*v1; // 0x14000574f | |
uint64_t v24 = -v13 & 63; // 0x140005755 | |
int64_t v25 = v23; // 0x140005755 | |
if (v24 != 0) { | |
v25 = v23 >> v24 | v23 << 64 - v24; | |
} | |
*(int64_t *)v12 = v25 ^ v13; | |
uint32_t v26 = 64 - ((int32_t)g29 & 63); // 0x14000576a | |
uint32_t v27 = v26 & 63; | |
int64_t v28 = v21; // 0x140005771 | |
if (v27 != 0) { | |
uint64_t v29 = (int64_t)v27; // 0x140005771 | |
v28 = v21 << 64 - v29 | v21 >> v29; | |
} | |
int64_t v30 = v12 + 8; // 0x14000573c | |
*(int64_t *)(int64_t)v26 = v28 ^ g29; | |
int32_t v31 = 64 - ((int32_t)g29 & 63); // 0x14000578c | |
uint32_t v32 = v31 & 63; | |
int64_t v33 = v30; // 0x140005791 | |
if (v32 != 0) { | |
uint64_t v34 = (int64_t)v32; // 0x140005791 | |
v33 = v30 << 64 - v34 | v30 >> v34; | |
} | |
*(int64_t *)(int64_t)(v31 + 8) = v33 ^ g29; | |
int32_t v35 = 64 - ((int32_t)g29 & 63); // 0x1400057aa | |
uint32_t v36 = v35 & 63; | |
int64_t v37 = v22; // 0x1400057b3 | |
if (v36 != 0) { | |
uint64_t v38 = (int64_t)v36; // 0x1400057b3 | |
v37 = v22 << 64 - v38 | v22 >> v38; | |
} | |
*(int64_t *)(int64_t)(v35 + 16) = v37 ^ g29; | |
// 0x1400057c7 | |
return 0; | |
lab_0x1400056d2:; | |
int64_t v39 = v17 + 4; // 0x1400056d2 | |
int64_t v40 = function_14000b718(v6, v39, 8); // 0x1400056e2 | |
_free_base(NULL); | |
v15 = v39; | |
v14 = v40; | |
if (v40 == 0) { | |
// 0x1400057c7 | |
return 0xffffffff; | |
} | |
goto lab_0x1400056fa; | |
lab_0x1400056fa:; | |
int64_t v41 = v14 + (v16 & -8); // 0x140005701 | |
int64_t v42 = v14 + 8 * v15; // 0x140005705 | |
uint64_t v43 = 7 - v41 + v42; // 0x140005712 | |
v10 = v42; | |
v11 = v14; | |
v12 = v41; | |
v13 = g29; | |
if (v42 >= v41 && v43 >= 8) { | |
// 0x140005726 | |
__asm_rep_stosq_memset((char *)v41, g29, v43 / 8); | |
v10 = v42; | |
v11 = v14; | |
v12 = v41; | |
v13 = g29; | |
} | |
goto lab_0x140005736; | |
} | |
// Address range: 0x1400057e0 - 0x1400058f6 | |
int64_t function_1400057e0(int64_t a1) { | |
// 0x1400057e0 | |
if (a1 == 0) { | |
// 0x1400058dd | |
return 0xffffffff; | |
} | |
int64_t v1 = g29 & -0x100000000; // 0x14000581b | |
uint64_t v2 = g29 & 63; // 0x14000581e | |
int64_t v3 = *(int64_t *)(a1 + 8); // 0x140005821 | |
int64_t v4; // 0x1400057e0 | |
int64_t v5; // 0x1400057e0 | |
if (v2 == 0) { | |
// .thread | |
v5 = v1; | |
v4 = v3 ^ g29; | |
} else { | |
uint64_t v6 = 64 - v2; | |
uint64_t v7 = v3 ^ g29; // 0x140005828 | |
v5 = v1 << v6 | v1 >> v2; | |
v4 = v7 >> v2 | v7 << v6; | |
} | |
int64_t v8 = v2; // 0x140005836 | |
int64_t v9 = v4; // 0x140005836 | |
int64_t v10 = v4; // 0x140005836 | |
int64_t v11 = v5; // 0x140005836 | |
if (v5 >= 0xffffffffffffffff) { | |
// 0x1400058dd | |
return 0; | |
} | |
int64_t v12 = v5; // 0x140005836 | |
int64_t v13; // 0x1400057e0 | |
int64_t v14; // 0x1400057e0 | |
while (true) { | |
int64_t v15 = v12; | |
v14 = v11; | |
int64_t v16 = v10; | |
v13 = v8; | |
int64_t v17 = v9 - 8; // 0x14000584b | |
if (v17 < v14) { | |
// break (via goto) -> 0x1400058a9 | |
goto lab_0x1400058a9; | |
} | |
int64_t * v18 = (int64_t *)v17; | |
int64_t v19 = v17; // 0x14000585a | |
while (*v18 == g29) { | |
// 0x14000584b | |
v17 = v19 - 8; | |
if (v17 < v14) { | |
// break (via goto) -> 0x1400058a9 | |
goto lab_0x1400058a9; | |
} | |
// 0x140005854 | |
v18 = (int64_t *)v17; | |
v19 = v17; | |
} | |
// 0x14000585c | |
*v18 = g29; | |
int64_t v20; // 0x1400057e0 | |
function_1400124a0((int32_t)v13, v20, (int32_t)g29); | |
v8 = g29 & 63; | |
int64_t v21 = g29 & -64; // 0x140005885 | |
int64_t v22 = *(int64_t *)(v8 + 8) ^ g29; // 0x140005888 | |
int64_t v23 = v21; // 0x14000588b | |
int64_t v24 = v22; // 0x14000588b | |
if (v8 != 0) { | |
uint64_t v25 = 64 - v8; | |
v23 = v21 << v25 | v21 >> v8; | |
v24 = v22 >> v8 | v22 << v25; | |
} | |
int64_t v26 = v24; | |
int64_t v27 = v23; | |
v9 = v27 == v15 == v26 == v16 ? v17 : v26; | |
v10 = v27 == v15 == v26 == v16 ? v16 : v26; | |
v11 = v27 == v15 == v26 == v16 ? v14 : v27; | |
v12 = v27 == v15 == v26 == v16 ? v15 : v27; | |
v20 = v8; | |
} | |
lab_0x1400058a9:; | |
int64_t * v28; // 0x1400057e0 | |
int64_t v29; // 0x1400057e0 | |
int64_t v30; // 0x1400057e0 | |
if (v14 == -1) { | |
// 0x1400058a9 | |
v28 = (int64_t *)v13; | |
v30 = v13; | |
v29 = g29; | |
} else { | |
int64_t * v31 = (int64_t *)v14; | |
_free_base(v31); | |
v28 = v31; | |
v30 = v14; | |
v29 = g29; | |
} | |
// 0x1400058be | |
*v28 = v29; | |
*(int64_t *)(v30 + 8) = v29; | |
*(int64_t *)(v30 + 16) = v29; | |
// 0x1400058dd | |
return 0; | |
} | |
// Address range: 0x1400058f8 - 0x140005907 | |
int64_t function_1400058f8(int64_t a1) { | |
// 0x1400058f8 | |
return function_14000596c(&g81, a1); | |
} | |
// Address range: 0x140005908 - 0x140005942 | |
int64_t function_140005908(int64_t * a1) { | |
int64_t v1 = (int64_t)a1; // 0x14000590b | |
int64_t v2 = &v1; // bp-24, 0x140005917 | |
int64_t v3 = 2; // bp+24, 0x14000592c | |
int64_t v4 = 2; // bp+32, 0x140005934 | |
int64_t v5; // bp+16, 0x140005908 | |
return function_1400055f4(&v5, &v4, &v2, &v3, &v1); | |
} | |
// Address range: 0x140005944 - 0x14000596b | |
int64_t function_140005944(int64_t * a1) { | |
// 0x140005944 | |
if (a1 == NULL) { | |
// 0x140005949 | |
return 0xffffffff; | |
} | |
int64_t v1 = (int64_t)a1; | |
int64_t * v2 = (int64_t *)(v1 + 16); // 0x14000594d | |
if (*v2 == v1) { | |
// 0x140005956 | |
*a1 = g29; | |
*(int64_t *)(v1 + 8) = g29; | |
*v2 = g29; | |
} | |
// 0x140005949 | |
return 0; | |
} | |
// Address range: 0x14000596c - 0x1400059b4 | |
int64_t function_14000596c(int64_t * a1, int64_t a2) { | |
int64_t v1 = a2; // bp+16, 0x14000596c | |
int64_t v2 = (int64_t)a1; // 0x140005971 | |
int64_t v3 = &v2; // bp-32, 0x140005982 | |
int64_t v4 = 2; // bp+32, 0x1400059a3 | |
int64_t v5 = 2; // bp-40, 0x1400059a6 | |
int64_t v6; // bp+24, 0x14000596c | |
int64_t result = function_1400055b8(&v6, &v5, &v3, &v4, 2, &v2, &v1); // 0x1400059a9 | |
return result; | |
} | |
// Address range: 0x1400059ec - 0x1400059fc | |
int64_t function_1400059ec(void) { | |
// 0x1400059ec | |
return __dcrt_uninitialize_environments_nolock() & -256 | 1; | |
} | |
// Address range: 0x1400059fc - 0x140005a39 | |
int64_t function_1400059fc(void) { | |
// 0x1400059fc | |
function_1400061b8(g29); | |
function_14000b894(g29); | |
__acrt_initialize_signal_handlers(g29); | |
function_1400048c8(g29); | |
return function_140005370(g29) & -256 | 1; | |
} | |
// Address range: 0x140005a3c - 0x140005a43 | |
int64_t function_140005a3c(int64_t a1) { | |
// 0x140005a3c | |
return function_140001d60(0); | |
} | |
// Address range: 0x140005a44 - 0x140005a84 | |
int64_t function_140005a44(void) { | |
int32_t * v1 = (int32_t *)g93; // 0x140005a54 | |
uint32_t v2 = *v1; // 0x140005a54 | |
*v1 = v2 - 1; | |
int64_t v3 = v2; // 0x140005a54 | |
if (v2 != 1) { | |
// 0x140005a7c | |
return v3 & -256 | 1; | |
} | |
int64_t v4 = v3; // 0x140005a6e | |
if (g93 != (int64_t)&g39) { | |
// 0x140005a70 | |
_free_base((int64_t *)g93); | |
g93 = &g39; | |
v4 = &g113; | |
} | |
// 0x140005a7c | |
return v4 & -256 | 1; | |
} | |
// Address range: 0x140005a84 - 0x140005adf | |
int64_t function_140005a84(void) { | |
// 0x140005a84 | |
_free_base((int64_t *)g88); | |
g88 = 0; | |
_free_base((int64_t *)g89); | |
g89 = 0; | |
_free_base((int64_t *)g75); | |
g75 = 0; | |
_free_base((int64_t *)g76); | |
g76 = 0; | |
return (int64_t)&g113 & -256 | 1; | |
} | |
// Address range: 0x140005ae0 - 0x140005af3 | |
int64_t function_140005ae0(void) { | |
// 0x140005ae0 | |
return function_14000b7d8(&g18, (int64_t *)&g19); | |
} | |
// Address range: 0x140005af4 - 0x140005b29 | |
int64_t function_140005af4(int64_t a1) { | |
if ((char)a1 == 0) { | |
// 0x140005b12 | |
return function_14000b858(&g18, (int64_t *)&g19); | |
} | |
// 0x140005afc | |
int64_t v1; // 0x140005af4 | |
if (g61 != 0) { | |
// 0x140005b06 | |
v1 = function_140006e34(a1); | |
} | |
// 0x140005b0b | |
return v1 & -256 | 1; | |
} | |
// Address range: 0x140005bc0 - 0x140005c1d | |
int64_t function_140005bc0(void) { | |
// 0x140005bc0 | |
if (function_14000b948() != 0) { | |
// 0x140005bce | |
function_14000b998(22); | |
} | |
// 0x140005bd8 | |
int64_t v1; // 0x140005bc0 | |
if ((g34 & 2) != 0) { | |
// 0x140005be1 | |
if (IsProcessorFeaturePresent(23)) { | |
// 0x140005bf0 | |
__asm_int(41); | |
} | |
// 0x140005bf7 | |
__acrt_call_reportfault(3, 0x40000015, 1); | |
v1 = 0x40000015; | |
} | |
// 0x140005c0b | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z((int32_t)&g113, (int64_t)&g113, (int64_t)&g113); | |
__asm_int3(); | |
__asm_int3(); | |
__asm_int3(); | |
return (int64_t)_calloc_base(3, (int32_t)v1); | |
} | |
// Address range: 0x140005c20 - 0x140005f22 | |
int64_t function_140005c20(int32_t a1, int64_t * a2, int64_t a3, int64_t a4) { | |
int64_t v1 = (int64_t)a2; | |
int64_t v2 = a1; | |
int64_t v3; // 0x140005c20 | |
int32_t v4; // 0x140005c20 | |
char v5; // 0x140005c20 | |
int64_t v6; // 0x140005c20 | |
int64_t v7; // bp-48, 0x140005c20 | |
int64_t v8; // bp-56, 0x140005c20 | |
int32_t v9; // 0x140005c62 | |
int64_t v10; // 0x140005c41 | |
if (a2 != NULL) { | |
// 0x140005c62 | |
v9 = a3; | |
if (v9 == 0 || v9 < 37) { | |
// 0x140005c70 | |
function_14000331c(&v8, v2); | |
int64_t v11 = v1 & 255; | |
*a2 = v2 + 1; | |
int64_t v12 = function_140005f24(v11, 8, &v7); // 0x140005ca6 | |
v5 = v1; | |
int64_t v13 = v11; // 0x140005cad | |
if ((int32_t)v12 != 0) { | |
*a2 = 9; | |
int64_t v14 = function_140005f24(8, 8, &v7); // 0x140005ca6 | |
v5 = 8; | |
v13 = 8; | |
while ((int32_t)v14 != 0) { | |
// 0x140005c90 | |
*a2 = 9; | |
v14 = function_140005f24(8, 8, &v7); | |
v5 = 8; | |
v13 = 8; | |
} | |
} | |
// 0x140005caf | |
v6 = v13; | |
if ((v5 - 43 & -3) == 0) { | |
// 0x140005cc2 | |
*a2 = 9; | |
v6 = 8; | |
} | |
// 0x140005cce | |
v10 = a3 & 0xffffffff; | |
v3 = v10; | |
if ((a3 & 0xffffffef) != 0) { | |
goto lab_0x140005d78; | |
} else { | |
char v15 = v6; | |
if (v15 < 58) { | |
// 0x140005ce6 | |
v4 = 0x1000000 * (int32_t)v6 / 0x1000000 - 48; | |
goto lab_0x140005d12; | |
} else { | |
if (v15 < 123) { | |
// 0x140005cf6 | |
v4 = 0x1000000 * (int32_t)v6 / 0x1000000 - 87; | |
goto lab_0x140005d12; | |
} else { | |
if (v15 < 91) { | |
// 0x140005d06 | |
v4 = 0x1000000 * (int32_t)v6 / 0x1000000 - 55; | |
goto lab_0x140005d12; | |
} else { | |
// 0x140005d6e | |
v3 = v9 != 0 ? v10 : 10; | |
goto lab_0x140005d78; | |
} | |
} | |
} | |
} | |
} else { | |
goto lab_0x140005c4d; | |
} | |
} else { | |
goto lab_0x140005c4d; | |
} | |
lab_0x140005dde:; | |
// 0x140005dde | |
int64_t v16; // 0x140005c20 | |
*a2 = v16 + 1; | |
int64_t v17; // 0x140005c20 | |
int64_t v18; // 0x140005c20 | |
int64_t v19 = v18 | v17 & 0xfffffff7; // 0x140005dec | |
int64_t v20; // 0x140005c20 | |
int64_t v21 = v20; // 0x140005dec | |
uint32_t v22; // 0x140005c20 | |
int64_t v23 = v22 & 255; // 0x140005dec | |
goto lab_0x140005d83; | |
lab_0x140005c4d: | |
// 0x140005c4d | |
*_errno() = 22; | |
function_140006270(v2, v1, a3, a4); | |
int64_t v37 = v1; // 0x140005c5d | |
goto lab_0x140005e2d; | |
lab_0x140005e2d:; | |
int64_t v38 = *(int64_t *)(v1 + 8); // 0x140005e2d | |
if (v38 != 0) { | |
// 0x140005e36 | |
*(int64_t *)v38 = v37; | |
} | |
// 0x140005f03 | |
return 0; | |
lab_0x140005d78:; | |
int64_t v39 = a4 & 255; // 0x140005c44 | |
uint32_t v33 = (int32_t)v3; | |
uint32_t v35 = 0xffffffff / v33; | |
v22 = 0xffffffff % v33; | |
v16 = v22; | |
int64_t v36 = 0x100000000 * v3 / 0x100000000; | |
v19 = v5 != 45 ? v39 : v39 | 2; | |
v21 = 0; | |
v23 = v6; | |
int64_t v29; // 0x140005c20 | |
int64_t v32; // 0x140005c20 | |
int64_t v30; // 0x140005c20 | |
int64_t v25; // 0x140005c20 | |
char v26; // 0x140005c20 | |
while (true) { | |
lab_0x140005d83:; | |
int64_t v24 = v23; | |
v25 = v21; | |
v17 = v19; | |
v26 = v24; | |
int32_t v27; // 0x140005c20 | |
if (v26 < 58) { | |
// 0x140005d8b | |
v27 = 0x1000000 * (int32_t)v24 / 0x1000000 - 48; | |
} else { | |
if (v26 < 123) { | |
// 0x140005d9b | |
v27 = 0x1000000 * (int32_t)v24 / 0x1000000 - 87; | |
} else { | |
if (v26 >= 91) { | |
int64_t v28 = v16 - 1; // 0x140005df1 | |
*a2 = v28; | |
v29 = v28; | |
v30 = 0xffffffff; | |
if (v26 == 0) { | |
goto lab_0x140005e11; | |
} else { | |
goto lab_0x140005dfc; | |
} | |
} | |
// 0x140005dab | |
v27 = 0x1000000 * (int32_t)v24 / 0x1000000 - 55; | |
} | |
} | |
uint32_t v31 = v27; | |
v32 = v31; | |
if (v31 == -1 || v31 >= v33) { | |
// break -> 0x140005dee | |
break; | |
} | |
uint32_t v34 = (int32_t)v25; // 0x140005dc1 | |
if (v35 > v34) { | |
// 0x140005dd3 | |
v20 = 0x100000000 * v25 / 0x100000000 * v36 + v32 & 0xffffffff; | |
v18 = 8; | |
goto lab_0x140005dde; | |
} else { | |
// 0x140005dc6 | |
v20 = v25; | |
v18 = 12; | |
if (v35 != v34 || v31 > v22) { | |
goto lab_0x140005dde; | |
} else { | |
// 0x140005dd3 | |
v20 = 0x100000000 * v25 / 0x100000000 * v36 + v32 & 0xffffffff; | |
v18 = 8; | |
goto lab_0x140005dde; | |
} | |
} | |
} | |
int64_t v40 = v16 - 1; // 0x140005df1 | |
*a2 = v40; | |
v29 = v40; | |
v30 = v32; | |
goto lab_0x140005dfc; | |
lab_0x140005dfc: | |
// 0x140005dfc | |
if (*(char *)v29 != v26) { | |
// 0x140005e01 | |
*_errno() = 22; | |
function_140006270(v30, v16, (int64_t)v35, a4); | |
} | |
goto lab_0x140005e11; | |
lab_0x140005e11:; | |
int64_t v41; // 0x140005c20 | |
int64_t v42; // 0x140005e4b | |
char v43; // 0x140005c20 | |
if ((v17 & 8) != 0) { | |
// 0x140005e43 | |
v42 = v17 & 1; | |
if ((v17 & 4) != 0) { | |
goto lab_0x140005e69; | |
} else { | |
if (v42 == 0) { | |
// 0x140005ea9 | |
v41 = v25; | |
if ((v17 & 2) == 0) { | |
goto lab_0x140005e7e; | |
} else { | |
// 0x140005eaf | |
v41 = -v25 & 0xffffffff; | |
goto lab_0x140005e7e; | |
} | |
} else { | |
int32_t v44 = v25; | |
if ((v17 & 2) == 0) { | |
// 0x140005ea4 | |
v41 = v25; | |
if (v44 < 0) { | |
goto lab_0x140005e69; | |
} else { | |
goto lab_0x140005e7e; | |
} | |
} else { | |
if (v44 > 0x80000000) { | |
goto lab_0x140005e69; | |
} else { | |
// 0x140005eaf | |
v41 = -v25 & 0xffffffff; | |
goto lab_0x140005e7e; | |
} | |
} | |
} | |
} | |
} else { | |
// 0x140005e17 | |
*a2 = v2; | |
v37 = v16; | |
if (v43 != 0) { | |
int32_t * v45 = (int32_t *)(v8 + 936); // 0x140005e26 | |
*v45 = *v45 & -3; | |
v37 = v16; | |
} | |
goto lab_0x140005e2d; | |
} | |
lab_0x140005d12: | |
// 0x140005d12 | |
if (v4 == 0) { | |
// 0x140005d49 | |
*a2 = 8; | |
int64_t v46 = v9 != 0 ? v10 : 8; // 0x140005d42 | |
v3 = v46; | |
if (*(char *)8 != 8) { | |
// 0x140005d4d | |
*_errno() = 22; | |
function_140006270(8, 8, (int64_t)&v7, a4); | |
v3 = v46; | |
} | |
goto lab_0x140005d78; | |
} else { | |
// 0x140005d6e | |
v3 = v9 != 0 ? v10 : 10; | |
goto lab_0x140005d78; | |
} | |
lab_0x140005e69: | |
// 0x140005e69 | |
*_errno() = 34; | |
v41 = 0xffffffff; | |
if (v42 == 0) { | |
goto lab_0x140005e7e; | |
lab_0x140005e7e: | |
// 0x140005e7e | |
if (v43 != 0) { | |
int32_t * v47 = (int32_t *)(v8 + 936); // 0x140005e8a | |
*v47 = *v47 & -3; | |
} | |
int64_t v48 = *(int64_t *)(v1 + 8); // 0x140005e91 | |
if (v48 != 0) { | |
// 0x140005e9a | |
*(int64_t *)v48 = v16; | |
} | |
// 0x140005f03 | |
return v41 & 0xffffffff; | |
} | |
int64_t result; // 0x140005c20 | |
if ((v17 & 2) == 0) { | |
if (v43 != 0) { | |
int32_t * v49 = (int32_t *)(v8 + 936); // 0x140005eea | |
*v49 = *v49 & -3; | |
} | |
int64_t v50 = *(int64_t *)(v1 + 8); // 0x140005ef1 | |
result = 0x7fffffff; | |
if (v50 != 0) { | |
// 0x140005efa | |
*(int64_t *)v50 = v50; | |
result = 0x7fffffff; | |
} | |
} else { | |
if (v43 != 0) { | |
int32_t * v51 = (int32_t *)(v8 + 936); // 0x140005ec3 | |
*v51 = *v51 & -3; | |
} | |
int64_t v52 = *(int64_t *)(v1 + 8); // 0x140005eca | |
result = 0x80000000; | |
if (v52 != 0) { | |
// 0x140005ed3 | |
*(int64_t *)v52 = v52; | |
result = 0x80000000; | |
} | |
} | |
// 0x140005f03 | |
return result; | |
} | |
// Address range: 0x140005f24 - 0x140005f9a | |
int64_t function_140005f24(int64_t a1, int64_t a2, int64_t * a3) { | |
int64_t v1 = 0x100000000 * a1; | |
int64_t v2 = v1 / 0x100000000; // 0x140005f38 | |
int64_t v3 = v2 + 1; // 0x140005f3f | |
int64_t result; // 0x140005f24 | |
if (a3 == NULL) { | |
int16_t * v4 = __pctype_func(); // 0x140005f70 | |
result = 0; | |
if ((int32_t)v3 < 257) { | |
uint16_t v5 = *(int16_t *)(v1 / 0x80000000 + (int64_t)v4); // 0x140005f7d | |
result = (int64_t)v5 & a2; | |
} | |
// 0x140005f85 | |
return result; | |
} | |
int64_t v6 = (int64_t)a3; | |
if ((int32_t)v3 < 257) { | |
// 0x140005f85 | |
return (int64_t)*(int16_t *)(v1 / 0x80000000 + v6) & a2; | |
} | |
// 0x140005f5d | |
result = 0; | |
if (*(int32_t *)(v6 + 8) >= 2) { | |
// 0x140005f63 | |
result = function_14000bc04(v2 & 0xffffffff, a2, v6); | |
} | |
// 0x140005f85 | |
return result; | |
} | |
// Address range: 0x140005fb0 - 0x14000602d | |
int64_t function_140005fb0(int64_t a1, int64_t a2, int64_t a3) { | |
if (a3 == 0) { | |
// 0x140006022 | |
return 0; | |
} | |
int64_t v1 = a2 - a1; // 0x140005fb0 | |
int64_t v2 = a1; // 0x140005fbe | |
int64_t v3 = a3; // 0x140005fbe | |
int64_t v4 = a1; // 0x140005fbe | |
int64_t v5 = a3; // 0x140005fbe | |
if ((a1 & 7) == 0) { | |
lab_0x140005fdd:; | |
int64_t v6 = v5; | |
int64_t v7 = v4; | |
int64_t v8 = v7 + v1; // 0x140005ff1 | |
v2 = v7; | |
v3 = v6; | |
while ((v8 & 4095) < 4089) { | |
int64_t v9 = *(int64_t *)v7; // 0x140006000 | |
v2 = v7; | |
v3 = v6; | |
if (v9 != *(int64_t *)v8) { | |
// break -> 0x140005fc0 | |
break; | |
} | |
int64_t v10 = v6 - 8; // 0x14000600d | |
if (v6 < 8 || v10 == 0) { | |
// 0x140006022 | |
return 0; | |
} | |
// 0x140006013 | |
if (((v9 & -0x7f7f7f7f7f7f7f80 ^ -0x7f7f7f7f7f7f7f80) & v9 - 0x101010101010101) != 0) { | |
// 0x140006022 | |
return 0; | |
} | |
v6 = v10; | |
v7 += 8; | |
v8 = v7 + v1; | |
v2 = v7; | |
v3 = v6; | |
} | |
} | |
int64_t v11 = v2; // 0x140005fc8 | |
int64_t v12 = v3; // 0x140005fcb | |
unsigned char v13 = *(char *)v11; // 0x140005fc0 | |
unsigned char v14 = *(char *)(v11 + v1); // 0x140005fc3 | |
while (v13 == v14) { | |
// 0x140005fc8 | |
v12--; | |
if (v12 == 0 || v13 == 0) { | |
// 0x140006022 | |
return 0; | |
} | |
// 0x140005fd4 | |
v11++; | |
v4 = v11; | |
v5 = v12; | |
if ((v11 & 7) == 0) { | |
goto lab_0x140005fdd; | |
} | |
v13 = *(char *)v11; | |
v14 = *(char *)(v11 + v1); | |
} | |
// 0x140006025 | |
return v13 < v14 ? -1 : 1; | |
} | |
// Address range: 0x1400061b8 - 0x1400061c0 | |
int64_t function_1400061b8(int64_t a1) { | |
// 0x1400061b8 | |
g83 = a1; | |
int64_t result; // 0x1400061b8 | |
return result; | |
} | |
// Address range: 0x140006270 - 0x14000628e | |
int64_t function_140006270(int64_t a1, int64_t a2, int64_t a3, int64_t a4) { | |
// 0x140006270 | |
_invalid_parameter(NULL, NULL, NULL, 0, 0); | |
return &g113; | |
} | |
// Address range: 0x140006290 - 0x1400062d7 | |
int64_t function_140006290(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int64_t a5) { | |
// 0x140006290 | |
if (IsProcessorFeaturePresent(23)) { | |
// 0x1400062a3 | |
__asm_int(41); | |
} | |
// 0x1400062aa | |
__acrt_call_reportfault(2, 0xc0000417, 1); | |
return TerminateProcess(GetCurrentProcess(), -0x3ffffbe9); | |
} | |
// Address range: 0x1400062d8 - 0x14000631d | |
int64_t function_1400062d8(int64_t a1) { | |
int32_t v1 = a1; | |
int64_t v2 = (int64_t)&g19; // 0x1400062e4 | |
int64_t v3 = 0; | |
while (*(int32_t *)v2 != v1) { | |
int64_t v4 = v3 + 1; // 0x1400062ec | |
v2 += 8; | |
if ((int32_t)v4 >= 45) { | |
if (v1 < 37) { | |
// 0x1400062fe | |
return 13; | |
} | |
// 0x140006304 | |
return v1 < 203 ? 8 : 22; | |
} | |
v3 = v4 & 0xffffffff; | |
} | |
uint32_t result = *(int32_t *)(8 * v3 + (int64_t)&g19 + 4); // 0x140006317 | |
return result; | |
} | |
// Address range: 0x140006468 - 0x14000663e | |
int64_t function_140006468(int64_t a1, int64_t lpProcName, int64_t a3, int64_t a4) { | |
int64_t * v1 = (int64_t *)((8 * a1 & 0x7fffffff8) + 0x14001dea0); // 0x140006497 | |
int64_t v2 = g29 ^ *v1; // 0x1400064b0 | |
uint64_t v3 = g29 & 63; // 0x1400064b3 | |
int64_t v4 = v2; // 0x1400064b8 | |
if (v3 != 0) { | |
v4 = v2 << 64 - v3 | v2 >> v3; | |
} | |
int64_t result = v4; // 0x1400065c0 | |
int64_t v5; // 0x140006468 | |
int64_t v6; // 0x140006468 | |
int64_t * v7; // 0x140006468 | |
int64_t hModule; // 0x140006468 | |
int64_t * v8; // 0x140006468 | |
switch (v4) { | |
case -1: { | |
return 0; | |
} | |
case 0: { | |
// 0x1400064d1 | |
v6 = a3; | |
v5 = g29; | |
if (a3 == a4) { | |
goto lab_0x140006604; | |
} else { | |
while (true) { | |
lab_0x1400064da:; | |
int64_t v9 = 8 * (int64_t)*(int32_t *)v6; // 0x1400064dd | |
v8 = (int64_t *)(v9 + 0x14001de00); | |
int64_t v10 = *v8; // 0x1400064dd | |
hModule = v10; | |
switch (v10) { | |
case 0: { | |
int16_t * lpLibFileName = (int16_t *)*(int64_t *)(v9 + 0x1400149d0); // 0x14000650b | |
int64_t * v11 = LoadLibraryExW(lpLibFileName, NULL, 2048); // 0x14000650b | |
v7 = v11; | |
if (v11 != NULL) { | |
goto lab_0x140006568; | |
} else { | |
int32_t errorCode = GetLastError(); // 0x140006519 | |
if (errorCode != 87) { | |
// 0x140006574 | |
*v8 = -1; | |
goto lab_0x14000659f; | |
} else { | |
int32_t n = errorCode - 80; // 0x140006524 | |
if (wcsncmp(lpLibFileName, L"api-ms-", n) == 0) { | |
// 0x140006574 | |
*v8 = -1; | |
goto lab_0x14000659f; | |
} else { | |
// 0x14000653d | |
if (wcsncmp(lpLibFileName, L"ext-ms-", n) == 0) { | |
// 0x140006574 | |
*v8 = -1; | |
goto lab_0x14000659f; | |
} else { | |
// 0x140006553 | |
v7 = LoadLibraryExW(lpLibFileName, NULL, 0); | |
goto lab_0x140006568; | |
} | |
} | |
} | |
} | |
} | |
case -1: { | |
goto lab_0x14000659f; | |
} | |
default: { | |
goto lab_0x1400065ba; | |
} | |
} | |
} | |
} | |
} | |
default: { | |
return result; | |
} | |
} | |
lab_0x14000659f:; | |
int64_t v12 = v6 + 4; // 0x14000659f | |
v6 = v12; | |
if (v12 == a4) { | |
// 0x1400065ac | |
v5 = g29; | |
goto lab_0x140006604; | |
} | |
goto lab_0x1400064da; | |
lab_0x1400065ba:; | |
int32_t (*func)() = GetProcAddress((int64_t *)hModule, (char *)lpProcName); // 0x1400065c0 | |
v5 = g29; | |
if (func != NULL) { | |
// 0x1400065cb | |
result = (int64_t)func; | |
uint64_t v13 = -g29 & 63; // 0x1400065e4 | |
int64_t v14 = result; // 0x1400065e4 | |
if (v13 != 0) { | |
v14 = result << 64 - v13 | result >> v13; | |
} | |
*v1 = v14 ^ g29; | |
// 0x140006621 | |
return result; | |
} | |
goto lab_0x140006604; | |
lab_0x140006568:; | |
int64_t * hLibModule = v7; | |
if (hLibModule != NULL) { | |
int64_t v17 = (int64_t)hLibModule; | |
*v8 = v17; | |
hModule = v17; | |
if (*v8 == 0) { | |
goto lab_0x1400065ba; | |
} else { | |
// 0x140006591 | |
FreeLibrary(hLibModule); | |
hModule = v17; | |
goto lab_0x1400065ba; | |
} | |
} | |
// 0x140006574 | |
*v8 = -1; | |
goto lab_0x14000659f; | |
lab_0x140006604:; | |
uint64_t v15 = -v5 & 63; // 0x140006611 | |
int64_t v16 = -1; // 0x140006611 | |
if (v15 != 0) { | |
v16 = -1 << 64 - v15 | 0xffffffffffffffff >> v15; | |
} | |
*v1 = v16 ^ v5; | |
// 0x140006621 | |
return 0; | |
} | |
// Address range: 0x140006a64 - 0x140006a95 | |
int64_t function_140006a64(int64_t a1) { | |
// 0x140006a64 | |
__asm_rep_stosq_memset((char *)&g84, g29, (int64_t)((int32_t)(-(int64_t)((int64_t)&g85 < (int64_t)&g84) ^ -1) & 34)); | |
return g29 & -256 | 1; | |
} | |
// Address range: 0x140006adc - 0x140006b8d | |
int64_t function_140006adc(void) { | |
// 0x140006adc | |
__acrt_lock(8); | |
int64_t v1 = 3; // 0x140006b05 | |
int64_t v2; // 0x140006adc | |
if (g60 == 3) { | |
// 0x140006b74 | |
__acrt_lock2(8, v2); | |
return 0; | |
} | |
int32_t v3 = 0; | |
int64_t v4 = 0x100000000 * v1 / 0x20000000; // 0x140006b11 | |
int64_t v5 = *(int64_t *)(g61 + v4); // 0x140006b11 | |
int32_t v6 = g60; // 0x140006b18 | |
int32_t v7 = v3; // 0x140006b18 | |
int64_t v8; // 0x140006adc | |
int64_t v9; // 0x140006b31 | |
if (v5 != 0) { | |
// 0x140006b1c | |
v8 = v5; | |
v7 = v3; | |
if ((*(int32_t *)(v5 + 20) & 0x2000) != 0) { | |
// 0x140006b26 | |
v9 = function_14000be40(v5); | |
v8 = *(int64_t *)(g61 + v4); | |
v7 = v3 + (int32_t)((int32_t)v9 != -1); | |
} | |
// 0x140006b3f | |
DeleteCriticalSection((struct _RTL_CRITICAL_SECTION *)(v8 + 48)); | |
_free_base((int64_t *)*(int64_t *)(g61 + v4)); | |
*(int64_t *)(g61 + v4) = 0; | |
v6 = g60; | |
} | |
int32_t v10 = v7; | |
int64_t v11 = v1 + 1; // 0x140006b70 | |
v1 = v11 & 0xffffffff; | |
int32_t result = v10; // 0x140006b05 | |
while (v6 != (int32_t)v11) { | |
// 0x140006b07 | |
v3 = v10; | |
v4 = 0x100000000 * v1 / 0x20000000; | |
v5 = *(int64_t *)(g61 + v4); | |
int32_t v12 = v3; // 0x140006b18 | |
if (v5 != 0) { | |
// 0x140006b1c | |
v8 = v5; | |
v7 = v3; | |
if ((*(int32_t *)(v5 + 20) & 0x2000) != 0) { | |
// 0x140006b26 | |
v9 = function_14000be40(v5); | |
v8 = *(int64_t *)(g61 + v4); | |
v7 = v3 + (int32_t)((int32_t)v9 != -1); | |
} | |
// 0x140006b3f | |
DeleteCriticalSection((struct _RTL_CRITICAL_SECTION *)(v8 + 48)); | |
_free_base((int64_t *)*(int64_t *)(g61 + v4)); | |
*(int64_t *)(g61 + v4) = 0; | |
v6 = g60; | |
v12 = v7; | |
} | |
// 0x140006b70 | |
v10 = v12; | |
v11 = v1 + 1; | |
v1 = v11 & 0xffffffff; | |
result = v10; | |
} | |
// 0x140006b74 | |
__acrt_lock2(8, v2); | |
return result; | |
} | |
// Address range: 0x140006b90 - 0x140006c2a | |
int64_t function_140006b90(int64_t * a1, int64_t * lpCriticalSection, int64_t * a3, int64_t * lpCriticalSection2, int64_t a5, int64_t a6, int64_t a7, int64_t a8, int64_t * a9, int64_t a10, int64_t a11, int64_t a12) { | |
// 0x140006b90 | |
EnterCriticalSection((struct _RTL_CRITICAL_SECTION *)lpCriticalSection); | |
if (a3 == NULL) { | |
// 0x140006c17 | |
LeaveCriticalSection((struct _RTL_CRITICAL_SECTION *)lpCriticalSection2); | |
return &g113; | |
} | |
int64_t v1 = (int64_t)a3; | |
uint32_t v2 = *(int32_t *)(v1 + 20); // 0x140006bbd | |
if ((v2 & 0x2000) == 0) { | |
// 0x140006c17 | |
LeaveCriticalSection((struct _RTL_CRITICAL_SECTION *)lpCriticalSection2); | |
return &g113; | |
} | |
int64_t * v3 = (int64_t *)(v1 + 8); // 0x140006bae | |
int64_t v4 = v2; // 0x140006bbd | |
if ((v4 & 3) != 2) { | |
goto lab_0x140006bd6; | |
} else { | |
if ((v4 & 192) != 0) { | |
goto lab_0x140006be0; | |
} else { | |
goto lab_0x140006bd6; | |
} | |
} | |
lab_0x140006bd6: | |
if ((v4 & 2048) == 0) { | |
int32_t * v5 = (int32_t *)*v3; // 0x140006bdc | |
*v5 = *v5 + 1; | |
// 0x140006c17 | |
LeaveCriticalSection((struct _RTL_CRITICAL_SECTION *)lpCriticalSection2); | |
return &g113; | |
} | |
goto lab_0x140006be0; | |
lab_0x140006be0: | |
// 0x140006be0 | |
if ((v2 & 2) == 0 == *(char *)*(int64_t *)(v1 + 16) == 0) { | |
// 0x140006c17 | |
LeaveCriticalSection((struct _RTL_CRITICAL_SECTION *)lpCriticalSection2); | |
return &g113; | |
} | |
// 0x140006bf8 | |
if ((int32_t)function_140006de8(v1) == -1) { | |
// 0x140006c10 | |
*(int32_t *)*(int64_t *)(v1 + 24) = -1; | |
} else { | |
int32_t * v6 = (int32_t *)*v3; // 0x140006c0c | |
*v6 = *v6 + 1; | |
} | |
// 0x140006c17 | |
LeaveCriticalSection((struct _RTL_CRITICAL_SECTION *)lpCriticalSection2); | |
return &g113; | |
} | |
// Address range: 0x140006c2c - 0x140006d0c | |
int64_t function_140006c2c(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t a6, int32_t * a7, char * a8, int32_t * a9, int64_t a10) { | |
int64_t v1 = (int64_t)a2; | |
__acrt_lock((int32_t)v1); | |
if (g60 == 0) { | |
// 0x140006cf4 | |
int64_t v2; // 0x140006c2c | |
return __acrt_lock2((int32_t)v2, v1); | |
} | |
int64_t v3 = (int64_t)a3; | |
int64_t v4; // bp-88, 0x140006c2c | |
int64_t v5 = &v4; | |
int64_t v6; // bp-56, 0x140006c2c | |
int64_t v7 = &v6; | |
int64_t v8; // bp-72, 0x140006c2c | |
int64_t v9 = &v8; | |
int64_t v10 = v3; // 0x140006c2c | |
int64_t v11 = g61; // 0x140006c9d | |
int64_t v12; // 0x140006c2c | |
int64_t v13; // 0x140006c2c | |
int64_t v14; // 0x140006c2c | |
int64_t v15; // 0x140006c6c | |
int64_t v16; // 0x140006c7c | |
while (true) { | |
lab_0x140006c6c: | |
// 0x140006c6c | |
v13 = v11; | |
v12 = v10; | |
v15 = *(int64_t *)v13; | |
v4 = v15; | |
v14 = v12; | |
v10 = v12; | |
if (v15 == 0) { | |
goto lab_0x140006c9d; | |
} else { | |
uint32_t v17 = *(int32_t *)(v15 + 20); // 0x140006c7c | |
v14 = v12; | |
v10 = v12; | |
if ((v17 & 0x2000) == 0) { | |
goto lab_0x140006c9d; | |
} else { | |
// 0x140006c88 | |
v16 = v17; | |
if ((v16 & 3) != 2) { | |
goto lab_0x140006c95; | |
} else { | |
if ((v16 & 192) != 0) { | |
goto lab_0x140006ca3; | |
} else { | |
goto lab_0x140006c95; | |
} | |
} | |
} | |
} | |
} | |
lab_0x140006c5e:; | |
// 0x140006cf4 | |
int64_t v18; // 0x140006c2c | |
return __acrt_lock2(*(int32_t *)&v18, v14); | |
lab_0x140006c9d: | |
// 0x140006c9d | |
v11 = v13 + 8; | |
if (v11 == 8 * (int64_t)g60 + g61) { | |
// break -> 0x140006c5e | |
goto lab_0x140006c5e; | |
} | |
goto lab_0x140006c6c; | |
lab_0x140006c95: | |
if ((v16 & 2048) == 0) { | |
// 0x140006c9b | |
*(int32_t *)v12 = (int32_t)v12 + 1; | |
v14 = v12; | |
v10 = v12; | |
goto lab_0x140006c9d; | |
} else { | |
goto lab_0x140006ca3; | |
} | |
lab_0x140006ca3:; | |
int64_t v19 = *(int64_t *)(v3 + 16); // 0x140006ca3 | |
int64_t v20 = *(int64_t *)(v3 + 8); // 0x140006ca7 | |
v6 = v5; | |
int64_t v21 = v15; // bp-80, 0x140006ccc | |
v8 = v15; | |
int64_t v22; // bp+16, 0x140006c2c | |
function_140006b90(&v22, &v8, &v6, &v21, v15, v15, v15, v13, &v4, v12, v20, v19); | |
v14 = v9; | |
v10 = v7; | |
goto lab_0x140006c9d; | |
} | |
// Address range: 0x140006d0c - 0x140006d69 | |
int64_t function_140006d0c(int64_t a1) { | |
int64_t v1 = 0x100000000000000 * a1 / 0x100000000000000; // 0x140006d0c | |
int32_t v2 = 0; // bp+32, 0x140006d18 | |
int32_t v3 = 0; // bp+24, 0x140006d20 | |
int32_t * v4 = &v2; // bp-32, 0x140006d28 | |
int64_t v5 = 8; // bp-40, 0x140006d4d | |
int64_t v6 = 8; // bp-36, 0x140006d50 | |
int64_t v7; // bp+16, 0x140006d0c | |
int64_t v8; // 0x140006d0c | |
function_140006c2c(&v7, &v6, (int64_t *)&v4, &v5, 8, 8, &v2, (char *)&v1, &v3, v8); | |
return (char)v1 != 0 ? v2 : v3; | |
} | |
// Address range: 0x140006d6c - 0x140006de6 | |
int64_t function_140006d6c(int64_t a1) { | |
int32_t * v1 = (int32_t *)(a1 + 20); // 0x140006d7e | |
int32_t v2 = *v1; // 0x140006d7e | |
if ((v2 & 192) == 0 || (v2 & 3) != 2) { | |
// 0x140006dd6 | |
return 0; | |
} | |
int64_t v3 = a1 + 8; // 0x140006d90 | |
int32_t v4 = v2 - *(int32_t *)v3; // 0x140006d90 | |
*(int32_t *)(a1 + 16) = 0; | |
int64_t v5 = *(int64_t *)v3; // 0x140006d97 | |
*(int64_t *)a1 = v5; | |
if (v4 < 1) { | |
// 0x140006dd6 | |
return 0; | |
} | |
int64_t v6 = function_14000c840((int64_t)_fileno((struct _IO_FILE *)a1), v5, (int64_t)v4); // 0x140006db2 | |
int32_t v7 = *v1; | |
if (v4 != (int32_t)v6) { | |
// 0x140006dbb | |
*v1 = v7 | 16; | |
// 0x140006dd6 | |
return 0xffffffff; | |
} | |
// 0x140006dc5 | |
if ((v7 & 4) != 0) { | |
// 0x140006dcf | |
*v1 = v7 & -3; | |
} | |
// 0x140006dd6 | |
return 0; | |
} | |
// Address range: 0x140006de8 - 0x140006e33 | |
int64_t function_140006de8(int64_t a1) { | |
if (a1 == 0) { | |
// 0x140006df6 | |
return function_140006d0c(a1); | |
} | |
// 0x140006e00 | |
if ((int32_t)function_140006d6c(a1) == 0) { | |
// 0x140006e09 | |
if ((*(int32_t *)(a1 + 20) & 2048) == 0) { | |
// 0x140006e2d | |
return 0; | |
} | |
uint32_t v1 = _fileno((struct _IO_FILE *)a1); // 0x140006e16 | |
if ((int32_t)function_14000bf30((int64_t)v1) == 0) { | |
// 0x140006e2d | |
return 0; | |
} | |
} | |
// 0x140006e2d | |
return 0xffffffff; | |
} | |
// Address range: 0x140006e34 - 0x140006e3b | |
int64_t function_140006e34(int64_t a1) { | |
// 0x140006e34 | |
return function_140006d0c(a1 & -256 | 1); | |
} | |
// Address range: 0x140006e3c - 0x140006e7c | |
int64_t function_140006e3c(int64_t a1) { | |
int32_t * v1 = (int32_t *)(a1 + 20); // 0x140006e42 | |
uint32_t v2 = *v1; // 0x140006e42 | |
if ((v2 & 0x2000) == 0) { | |
// 0x140006e76 | |
return v2 / 0x2000; | |
} | |
int32_t result = v2 / 64; // 0x140006e57 | |
if ((v2 & 64) != 0) { | |
int64_t * v3 = (int64_t *)(a1 + 8); // 0x140006e59 | |
_free_base((int64_t *)*v3); | |
*v1 = *v1 & -321; | |
*v3 = (int64_t)((int32_t)&g113 ^ (int32_t)&g113); | |
*(int64_t *)a1 = (int64_t)((int32_t)&g113 ^ (int32_t)&g113); | |
*(int32_t *)(a1 + 16) = (int32_t)&g113 ^ (int32_t)&g113; | |
result = (int32_t)&g113 ^ (int32_t)&g113; | |
} | |
// 0x140006e76 | |
return result; | |
} | |
// Address range: 0x140006e7c - 0x140006f69 | |
int64_t function_140006e7c(void) { | |
// 0x140006e7c | |
int64_t lpStartupInfo; // bp-120, 0x140006e7c | |
GetStartupInfoW((struct _STARTUPINFOW *)&lpStartupInfo); | |
int16_t v1; // 0x140006e7c | |
if (v1 == 0) { | |
// 0x140006f4b | |
return &g113; | |
} | |
// 0x140006eb1 | |
int32_t * v2; // 0x140006e7c | |
int64_t result = (int64_t)v2; // 0x140006eb1 | |
if (v2 == NULL) { | |
// 0x140006f4b | |
return result; | |
} | |
uint32_t v3 = *v2; | |
int64_t v4 = v3 < 0x2000 == (0x1fff - v3 & v3) < 0 ? 0x2000 : (int64_t)v3; // 0x140006ed0 | |
int64_t result2 = function_14000ac2c(v4); // 0x140006ed5 | |
int32_t v5 = v4; // 0x140006eda | |
int32_t v6 = g86; // 0x140006eda | |
int32_t v7 = v5 - v6; // 0x140006eda | |
uint32_t v8 = v7 < 0 == ((v7 ^ v5) & (v6 ^ v5)) < 0 == (v7 != 0) ? v6 : v5; // 0x140006ee0 | |
if (v8 == 0) { | |
// 0x140006f4b | |
return result2; | |
} | |
int64_t v9 = result + 4; // 0x140006ec2 | |
int64_t v10 = result2; // 0x140006eeb | |
int64_t v11 = v9 + (int64_t)v3; // 0x140006eeb | |
int64_t v12 = 0; // 0x140006eeb | |
int64_t v13 = v9; // 0x140006eeb | |
int64_t v14 = v8; // 0x140006eeb | |
int64_t v15; // 0x140006e7c | |
int64_t v16; // 0x140006e7c | |
int64_t v17; // 0x140006e7c | |
int64_t v18; // 0x140006e7c | |
char * v19; // 0x140006efa | |
while (true) { | |
lab_0x140006eee: | |
// 0x140006eee | |
v18 = v13; | |
v17 = v12; | |
int64_t v20 = v10; | |
int64_t * v21 = (int64_t *)v11; // 0x140006eee | |
uint64_t hFile = *v21; // 0x140006eee | |
v16 = v20; | |
if (hFile > 0xfffffffffffffffd) { | |
goto lab_0x140006f3b; | |
} else { | |
// 0x140006efa | |
v19 = (char *)v18; | |
char v22 = *v19; // 0x140006efa | |
v16 = v20; | |
if ((v22 & 1) == 0) { | |
goto lab_0x140006f3b; | |
} else { | |
// 0x140006eff | |
v15 = hFile; | |
if ((v22 & 8) != 0) { | |
goto lab_0x140006f11; | |
} else { | |
// 0x140006f04 | |
v16 = 0; | |
if (GetFileType((int64_t *)hFile) == 0) { | |
goto lab_0x140006f3b; | |
} else { | |
// 0x140006f04 | |
v15 = *v21; | |
goto lab_0x140006f11; | |
} | |
} | |
} | |
} | |
} | |
lab_0x140006f4b:; | |
// 0x140006f4b | |
int64_t result3; // 0x140006e7c | |
return result3; | |
lab_0x140006f3b: | |
// 0x140006f3b | |
v10 = v16; | |
v14--; | |
v11 += 8; | |
v12 = v17 + 1; | |
v13 = v18 + 1; | |
result3 = v10; | |
if (v14 == 0) { | |
// break -> 0x140006f4b | |
goto lab_0x140006f4b; | |
} | |
goto lab_0x140006eee; | |
lab_0x140006f11:; | |
int64_t v23 = *(int64_t *)(8 * v17 / 64 + (int64_t)&g85); // 0x140006f25 | |
int64_t v24 = v23 + 72 * (v17 & 63); | |
*(int64_t *)(v24 + 40) = v15; | |
unsigned char v25 = *v19; // 0x140006f35 | |
*(char *)(v24 + 56) = v25; | |
v16 = v15 & -256 | (int64_t)v25; | |
goto lab_0x140006f3b; | |
} | |
// Address range: 0x140006f6c - 0x140007078 | |
int64_t function_140006f6c(void) { | |
int64_t v1 = 0; // 0x140006f87 | |
int64_t v2 = 0; // 0x140006f87 | |
int64_t v3; // 0x140006f6c | |
int64_t result; // 0x140006f6c | |
int64_t v4; // 0x140006f6c | |
int64_t * v5; // 0x140006fa6 | |
char * v6; // 0x140006f6c | |
while (true) { | |
lab_0x140006f8a: | |
// 0x140006f8a | |
v3 = v2; | |
v4 = v1; | |
int64_t v7 = *(int64_t *)(8 * 0x100000000 * v4 / 0x4000000000 + (int64_t)&g85); // 0x140006fa2 | |
int64_t v8 = 72 * (v4 & 63) + v7; | |
v5 = (int64_t *)(v8 + 40); | |
int64_t v9 = *v5; // 0x140006fa6 | |
int64_t v10 = v9 + 2; // 0x140006fab | |
v6 = (char *)(v8 + 56); | |
if (v9 == -1 || v10 == 0) { | |
// 0x140006fbf | |
*v6 = -127; | |
int64_t * hFile = GetStdHandle(v4 == 0 ? -10 : v4 == 1 ? -11 : -12); // 0x140006fe5 | |
int64_t v11 = (int64_t)hFile; // 0x140006fe5 | |
switch (v11) { | |
case -1: { | |
goto lab_0x140007029; | |
} | |
case 0: { | |
goto lab_0x140007029; | |
} | |
default: { | |
int32_t v12 = GetFileType(hFile); // 0x140006ffb | |
if (v12 == 0) { | |
goto lab_0x140007029; | |
} else { | |
int64_t v13 = v12; // 0x140006ffb | |
int64_t v14 = v13 & 255; // 0x140007009 | |
*v5 = v11; | |
if (v14 != 2) { | |
// 0x14000701d | |
result = v13; | |
if (v14 == 3) { | |
// 0x140007022 | |
*v6 = *v6 | 8; | |
result = v13; | |
} | |
} else { | |
// 0x140007016 | |
*v6 = *v6 | 64; | |
result = v13; | |
} | |
goto lab_0x14000704e; | |
} | |
} | |
} | |
} else { | |
// 0x140006fb5 | |
*v6 = *v6 | -128; | |
result = v10; | |
goto lab_0x14000704e; | |
} | |
} | |
lab_0x14000705d: | |
// 0x14000705d | |
return result; | |
lab_0x140007029: | |
// 0x140007029 | |
*v6 = *v6 | 64; | |
*v5 = -2; | |
result = 0; | |
if (g61 != 0) { | |
int64_t v15 = *(int64_t *)(g61 + v3); // 0x140007043 | |
*(int32_t *)(v15 + 24) = -2; | |
result = v15; | |
} | |
goto lab_0x14000704e; | |
lab_0x14000704e:; | |
int64_t v16 = v4 + 1; // 0x14000704e | |
v1 = v16 & 0xffffffff; | |
v2 = v3 + 8; | |
if ((int32_t)v16 == 3) { | |
// break -> 0x14000705d | |
goto lab_0x14000705d; | |
} | |
goto lab_0x140006f8a; | |
} | |
// Address range: 0x140007078 - 0x1400070b3 | |
int64_t function_140007078(void) { | |
// 0x140007078 | |
__acrt_lock(7); | |
int64_t v1 = 0; // 0x140007093 | |
if ((int32_t)function_14000ac2c(0) == 0) { | |
// 0x140007095 | |
function_140006e7c(); | |
function_140006f6c(); | |
v1 = 1; | |
} | |
// 0x1400070a1 | |
int64_t v2; // 0x140007078 | |
return __acrt_lock2(7, v2) & -256 | v1; | |
} | |
// Address range: 0x1400070b4 - 0x1400070f4 | |
int64_t function_1400070b4(void) { | |
int64_t v1 = 0; // 0x1400070be | |
int64_t * v2 = (int64_t *)(v1 + (int64_t)&g85); // 0x1400070c7 | |
int64_t v3 = *v2; // 0x1400070c7 | |
int64_t v4; // 0x1400070b4 | |
int64_t v5 = v4; // 0x1400070ce | |
if (v3 != 0) { | |
// 0x1400070d0 | |
v5 = function_14000abdc(v3); | |
*v2 = 0; | |
} | |
int64_t v6 = v5; | |
v1 += 8; | |
while (v1 < 1024) { | |
// 0x1400070c0 | |
v2 = (int64_t *)(v1 + (int64_t)&g85); | |
v3 = *v2; | |
v5 = v6; | |
if (v3 != 0) { | |
// 0x1400070d0 | |
v5 = function_14000abdc(v3); | |
*v2 = 0; | |
} | |
// 0x1400070da | |
v6 = v5; | |
v1 += 8; | |
} | |
// 0x1400070e7 | |
return v6 & -256 | 1; | |
} | |
// Address range: 0x140007154 - 0x14000717e | |
int64_t function_140007154(int64_t a1, int64_t * a2) { | |
int64_t v1 = a1; // bp-24, 0x140007158 | |
if (a2 != NULL) { | |
// 0x140007167 | |
*a2 = a1; | |
} | |
// 0x14000716a | |
int64_t v2; // 0x140007154 | |
int64_t v3; // 0x140007154 | |
return function_140005c20(0, &v1, v3, v2 & -256 | 1); | |
} | |
// Address range: 0x140007180 - 0x1400072fe | |
int64_t function_140007180(int64_t a1, int64_t a2, uint64_t a3, int32_t a4) { | |
// 0x140007180 | |
if (a2 == 0 || a3 == 0) { | |
// 0x1400072e0 | |
g87 = 0; | |
// 0x1400072e9 | |
return 0; | |
} | |
// 0x1400071b1 | |
int64_t v1; // 0x140007180 | |
char v2 = v1; | |
if (v2 == 0) { | |
// 0x1400071b6 | |
if (a1 != 0) { | |
// 0x1400071bf | |
*(int16_t *)a1 = 0; | |
} | |
// 0x1400072e9 | |
return 0; | |
} | |
// 0x1400071c7 | |
int64_t v3; // bp-40, 0x140007180 | |
function_14000331c(&v3, (int64_t)a4); | |
int32_t v4; // 0x140007180 | |
int64_t v5 = v4; // 0x1400071d4 | |
int32_t * v6 = (int32_t *)(v5 + 12); // 0x1400071d9 | |
int32_t v7; // 0x140007180 | |
int64_t v8; // 0x140007180 | |
if (*v6 != 0xfde9) { | |
// 0x140007204 | |
if (*(int64_t *)(v5 + 312) != 0) { | |
// 0x140007237 | |
if ((int32_t)function_14000cc10(v2) == 0) { | |
// 0x14000729a | |
v8 = 1; | |
if ((int32_t)function_14000a420(*v6, 9) != 0) { | |
goto lab_0x14000721d; | |
} else { | |
goto lab_0x1400072cd; | |
} | |
} else { | |
int32_t * v9 = (int32_t *)(v5 + 8); | |
int32_t v10 = *v9; // 0x14000724d | |
v7 = v10; | |
if (v10 < 2 || (int64_t)v10 > a3) { | |
goto lab_0x140007286; | |
} else { | |
int64_t v11 = function_14000a420(*v6, 9); // 0x140007278 | |
v7 = *v9; | |
if ((int32_t)v11 != 0) { | |
// 0x140007295 | |
v8 = v7; | |
goto lab_0x14000721d; | |
} else { | |
goto lab_0x140007286; | |
} | |
} | |
} | |
} else { | |
// 0x14000720d | |
v8 = 1; | |
if (a1 != 0) { | |
// 0x140007212 | |
*(int16_t *)a1 = (int16_t)v1 & 255; | |
v8 = 1; | |
} | |
goto lab_0x14000721d; | |
} | |
} else { | |
int64_t v12 = function_14000cc5c(a1); // 0x1400071f2 | |
v8 = (int32_t)v12 < 0 ? 0xffffffff : v12 & 0xffffffff; | |
goto lab_0x14000721d; | |
} | |
lab_0x14000721d:; | |
// 0x14000721d | |
char v13; // 0x140007180 | |
if (v13 != 0) { | |
int32_t * v14 = (int32_t *)(v3 + 936); // 0x140007229 | |
*v14 = *v14 & -3; | |
} | |
// 0x1400072e9 | |
return v8 & 0xffffffff; | |
lab_0x1400072cd: | |
// 0x1400072cd | |
*_errno() = 42; | |
v8 = 0xffffffff; | |
goto lab_0x14000721d; | |
lab_0x140007286: | |
// 0x140007286 | |
if ((int64_t)v7 > a3) { | |
goto lab_0x1400072cd; | |
} else { | |
// 0x14000728f | |
if (*(char *)(a2 + 1) == 0) { | |
goto lab_0x1400072cd; | |
} else { | |
// 0x140007295 | |
v8 = v7; | |
goto lab_0x14000721d; | |
} | |
} | |
} | |
// Address range: 0x140007300 - 0x140007308 | |
int64_t function_140007300(int32_t * a1, int64_t a2, int64_t a3) { | |
// 0x140007300 | |
return function_140007180((int64_t)a1, a2, a3, 0); | |
} | |
// Address range: 0x140007308 - 0x1400074a4 | |
int64_t function_140007308(int64_t a1, int64_t a2, uint64_t a3, int16_t a4, int64_t a5) { | |
int64_t v1 = a5; | |
int16_t v2 = a4; // bp+32, 0x14000730d | |
if (a2 == 0 && a3 != 0) { | |
// 0x140007330 | |
if (a1 != 0) { | |
// 0x140007335 | |
*(int32_t *)a1 = (int32_t)(a2 & a1); | |
} | |
// 0x1400073fd | |
return 0; | |
} | |
if (a1 != 0) { | |
// 0x140007343 | |
*(int32_t *)a1 = -1; | |
} | |
int64_t v3 = a4; | |
if (a3 >= 0x80000000) { | |
// 0x14000734f | |
*_errno() = 22; | |
function_140006270(a1, a2, a3, v3); | |
// 0x1400073fd | |
return 22; | |
} | |
// 0x140007365 | |
int32_t v4; // 0x140007308 | |
int64_t v5 = v4; // 0x140007365 | |
int64_t v6; // bp-56, 0x140007308 | |
function_14000331c(&v6, v5); | |
int64_t v7; // 0x140007308 | |
uint32_t v8 = *(int32_t *)(v7 + 12); // 0x140007376 | |
int64_t v9; // 0x140007308 | |
int64_t v10; // 0x140007308 | |
int64_t v11; // 0x140007308 | |
int64_t v12; // 0x140007308 | |
int64_t v13; // 0x140007308 | |
if (v8 != 0xfde9) { | |
// 0x1400073af | |
if (*(int64_t *)(v7 + 312) != 0) { | |
// 0x140007426 | |
v1 = 0; | |
int64_t v14 = &v2; // 0x140007433 | |
int32_t v15 = function_14000a47c(v8, 0, v14, 1, a2, (int32_t)a3); // 0x140007453 | |
if (v15 == 0) { | |
// 0x140007468 | |
if (GetLastError() != 122) { | |
goto lab_0x1400073de; | |
} else { | |
// 0x140007477 | |
v9 = v8; | |
v13 = 0; | |
v10 = v14; | |
v11 = 1; | |
if (a2 != 0 && a3 != 0) { | |
// 0x140007481 | |
function_140001e50((int64_t *)a2, 0, a3, 1); | |
v9 = a2; | |
v13 = 0; | |
v10 = a3; | |
v11 = 1; | |
} | |
goto lab_0x14000748e; | |
} | |
} else { | |
// 0x140007457 | |
if ((int32_t)v1 != 0) { | |
goto lab_0x1400073de; | |
} else { | |
// 0x14000745d | |
v12 = 0; | |
if (a1 != 0) { | |
// 0x140007462 | |
*(int32_t *)a1 = v15; | |
v12 = 0; | |
} | |
goto lab_0x1400073ea; | |
} | |
} | |
} else { | |
if (a4 < 256) { | |
if (a2 == 0) { | |
goto lab_0x140007419; | |
} else { | |
// 0x140007412 | |
v9 = 255; | |
v13 = v5; | |
v10 = 0; | |
v11 = v3; | |
if (a3 == 0) { | |
goto lab_0x14000748e; | |
} else { | |
// 0x140007417 | |
*(char *)a2 = (char)a4; | |
goto lab_0x140007419; | |
} | |
} | |
} else { | |
if (a2 != 0 && a3 != 0) { | |
// 0x1400073d1 | |
function_140001e50((int64_t *)a2, 0, a3, v3); | |
} | |
goto lab_0x1400073de; | |
} | |
} | |
} else { | |
// 0x140007381 | |
v1 = 0; | |
uint32_t v16 = (int32_t)function_14000ce10(a2, a4, &v1); | |
if (a1 != 0) { | |
// 0x14000739b | |
*(int32_t *)a1 = v16; | |
} | |
// 0x14000739d | |
v12 = 0; | |
if (v16 >= 5) { | |
// 0x1400073a6 | |
v12 = (int64_t)*_errno(); | |
} | |
goto lab_0x1400073ea; | |
} | |
lab_0x1400073ea:; | |
// 0x1400073ea | |
char v17; // 0x140007308 | |
if (v17 != 0) { | |
int32_t * v18 = (int32_t *)(v6 + 936); // 0x1400073f4 | |
*v18 = *v18 & -3; | |
} | |
// 0x1400073fd | |
return v12 & 0xffffffff; | |
lab_0x1400073de: | |
// 0x1400073de | |
*_errno() = 42; | |
v12 = 42; | |
goto lab_0x1400073ea; | |
lab_0x140007419: | |
// 0x140007419 | |
v12 = 0; | |
if (a1 != 0) { | |
// 0x14000741e | |
*(int32_t *)a1 = 1; | |
v12 = 0; | |
} | |
goto lab_0x1400073ea; | |
lab_0x14000748e: | |
// 0x14000748e | |
*_errno() = 34; | |
function_140006270(v9, v13, v10, v11); | |
v12 = 34; | |
goto lab_0x1400073ea; | |
} | |
// Address range: 0x1400074a4 - 0x1400075f4 | |
int64_t function_1400074a4(int64_t a1, uint64_t a2) { | |
// 0x1400074a4 | |
int64_t v1; // 0x1400074a4 | |
if (g25 >= 5) { | |
int64_t v2 = a1 & 31; // 0x1400074be | |
uint64_t v3 = v2 == 0 ? 0 : 32 - v2; // 0x1400074cb | |
int64_t v4 = v3 > a2 ? a2 : v3; // 0x1400074d4 | |
int64_t v5 = a1; // 0x1400074de | |
int64_t v6 = a1; // 0x1400074de | |
if (v4 != 0) { | |
v6 = v5; | |
while (*(char *)v5 != 0) { | |
int64_t v7 = v5 + 1; // 0x1400074e5 | |
v5 = v7; | |
v6 = v7; | |
if (v7 == v4 + a1) { | |
// break -> 0x1400074ed | |
break; | |
} | |
v6 = v5; | |
} | |
} | |
int64_t result = v6 - a1; // 0x1400074f0 | |
if (result != v4) { | |
// 0x1400075f0 | |
return result; | |
} | |
int64_t v8 = a2 - v4 & -32; // 0x140007505 | |
int64_t v9 = v6; // 0x14000750f | |
int64_t v10 = v6; // 0x14000750f | |
if (v8 != 0) { | |
int128_t v11; // 0x1400074a4 | |
int128_t v12 = v11; | |
int128_t v13 = __asm_vpxor(v12, v12); // 0x140007511 | |
int256_t v14; // 0x1400074a4 | |
int32_t v15 = __asm_vpmovmskb(__asm_vpcmpeqb(v14, *(int256_t *)v9)); // 0x140007519 | |
__asm_vzeroupper(); | |
v10 = v9; | |
while (v15 == 0) { | |
int64_t v16 = v9 + 32; // 0x140007524 | |
v9 = v16; | |
v10 = v16; | |
if (v16 == v6 + v8) { | |
// break -> 0x14000752d | |
break; | |
} | |
v12 = v13; | |
v13 = __asm_vpxor(v12, v12); | |
v15 = __asm_vpmovmskb(__asm_vpcmpeqb(v14, *(int256_t *)v9)); | |
__asm_vzeroupper(); | |
v10 = v9; | |
} | |
} | |
int64_t v17 = a2 + a1; // 0x14000752d | |
int64_t v18 = v10; // 0x140007542 | |
v1 = v10; | |
if (v10 != v17) { | |
v1 = v18; | |
while (*(char *)v18 != 0) { | |
int64_t v19 = v18 + 1; // 0x14000753c | |
v18 = v19; | |
v1 = v19; | |
if (v19 == v17) { | |
// break -> 0x1400075ed | |
break; | |
} | |
v1 = v18; | |
} | |
} | |
// 0x1400075f0 | |
return v1 - a1; | |
} | |
if (g25 < 1) { | |
int64_t v20 = a1; // 0x1400075de | |
v1 = a1; | |
if (a2 != 0) { | |
v1 = v20; | |
while (*(char *)v20 != 0) { | |
int64_t v21 = v20 + 1; // 0x1400075e5 | |
v20 = v21; | |
v1 = v21; | |
if (v21 == a2 + a1) { | |
// break -> 0x1400075ed | |
break; | |
} | |
v1 = v20; | |
} | |
} | |
// 0x1400075f0 | |
return v1 - a1; | |
} | |
int64_t v22 = a1 & 15; // 0x140007552 | |
uint64_t v23 = v22 == 0 ? 0 : 16 - v22; // 0x140007563 | |
int64_t v24 = v23 > a2 ? a2 : v23; // 0x14000756c | |
int64_t v25 = a1; // 0x140007577 | |
int64_t v26 = a1; // 0x140007577 | |
if (v24 != 0) { | |
v26 = v25; | |
while (*(char *)v25 != 0) { | |
// 0x14000757e | |
v25++; | |
v26 = v25; | |
if (v25 == v24 + a1) { | |
// break -> 0x140007586 | |
break; | |
} | |
v26 = v25; | |
} | |
} | |
int64_t result2 = v26 - a1; // 0x140007589 | |
if (result2 != v24) { | |
// 0x1400075f0 | |
return result2; | |
} | |
// 0x140007591 | |
int128_t v27; // 0x1400074a4 | |
int128_t v28 = __asm_xorps(v27, v27); // 0x14000759a | |
int64_t v29 = a2 - v24 & -16; // 0x14000759d | |
int64_t v30 = v26; // 0x1400075a7 | |
int64_t v31 = v26; // 0x1400075a7 | |
if (v29 != 0) { | |
int128_t v32 = __asm_pcmpeqb(__asm_movdqa_9(v28), *(int128_t *)v30); // 0x1400075ad | |
v31 = v30; | |
while (__asm_pmovmskb(v32) == 0) { | |
// 0x1400075b9 | |
v30 += 16; | |
v31 = v30; | |
if (v30 == v26 + v29) { | |
// break -> 0x1400075c2 | |
break; | |
} | |
v32 = __asm_pcmpeqb(__asm_movdqa_9(v28), *(int128_t *)v30); | |
v31 = v30; | |
} | |
} | |
int64_t v33 = a2 + a1; // 0x1400075c2 | |
if (v31 == v33) { | |
// 0x1400075f0 | |
return v31 - a1; | |
} | |
int64_t v34 = v31; // 0x1400075d3 | |
while (*(char *)v34 != 0) { | |
// 0x1400075cd | |
v34++; | |
if (v34 == v33) { | |
// break -> 0x1400075ed | |
break; | |
} | |
} | |
// 0x1400075f0 | |
return v34 - a1; | |
} | |
// Address range: 0x1400075f4 - 0x1400077ca | |
int64_t function_1400075f4(int64_t a1, uint64_t a2) { | |
// 0x1400075f4 | |
int64_t v1; // 0x1400075f4 | |
if (g25 >= 5) { | |
if ((a1 & 1) != 0) { | |
int64_t v2 = 2 * a2; // 0x14000760f | |
int64_t v3 = a1; // 0x140007619 | |
v1 = a1; | |
if (v2 != 0) { | |
v1 = v3; | |
while (*(int16_t *)v3 != 0) { | |
int64_t v4 = v3 + 2; // 0x14000762a | |
v3 = v4; | |
v1 = v4; | |
if (v4 == v2 + a1) { | |
// break -> 0x1400077c0 | |
break; | |
} | |
v1 = v3; | |
} | |
} | |
// 0x1400077c6 | |
return (v1 - a1) / 2; | |
} | |
int64_t v5 = a1 & 31; // 0x140007638 | |
uint64_t v6 = v5 == 0 ? 0 : (32 - v5) / 2; // 0x14000764f | |
int64_t v7 = v6 > a2 ? a2 : v6; // 0x140007655 | |
int64_t v8 = a1; // 0x140007662 | |
int64_t v9 = a1; // 0x140007662 | |
if (v7 != 0) { | |
v9 = v8; | |
while (*(int16_t *)v8 != 0) { | |
int64_t v10 = v8 + 2; // 0x140007669 | |
v8 = v10; | |
v9 = v10; | |
if (v10 == 2 * v7 + a1) { | |
// break -> 0x140007672 | |
break; | |
} | |
v9 = v8; | |
} | |
} | |
int64_t v11 = v9 - a1; // 0x140007672 | |
int64_t result = v11 / 2; // 0x140007675 | |
if (result != v7) { | |
// 0x1400077c6 | |
return result; | |
} | |
int64_t v12 = (v11 & -2) + a1; // 0x140007681 | |
int64_t v13 = 2 * (result + (a2 - v7 & 0x7fffffffffffffe0)) + a1; // 0x140007692 | |
int64_t v14 = v12; // 0x140007699 | |
int64_t v15 = v12; // 0x140007699 | |
if (v12 != v13) { | |
int128_t v16; // 0x1400075f4 | |
int128_t v17 = v16; | |
int128_t v18 = __asm_vpxor(v17, v17); // 0x14000769b | |
int256_t v19; // 0x1400075f4 | |
int32_t v20 = __asm_vpmovmskb(__asm_vpcmpeqw(v19, *(int256_t *)v14)); // 0x1400076a4 | |
__asm_vzeroupper(); | |
v15 = v14; | |
while (v20 == 0) { | |
int64_t v21 = v14 + 32; // 0x1400076af | |
v14 = v21; | |
v15 = v21; | |
if (v21 == v13) { | |
// break -> 0x1400076b8 | |
break; | |
} | |
v17 = v18; | |
v18 = __asm_vpxor(v17, v17); | |
v20 = __asm_vpmovmskb(__asm_vpcmpeqw(v19, *(int256_t *)v14)); | |
__asm_vzeroupper(); | |
v15 = v14; | |
} | |
} | |
int64_t v22 = 2 * a2 + a1; // 0x1400076b8 | |
if (v15 == v22) { | |
// 0x1400077c6 | |
return (v15 - a1) / 2; | |
} | |
int64_t v23 = v15; // 0x1400076cb | |
while (*(int16_t *)v23 != 0) { | |
// 0x1400076c4 | |
v23 += 2; | |
if (v23 == v22) { | |
// break -> 0x1400077c0 | |
break; | |
} | |
} | |
// 0x1400077c6 | |
return (v23 - a1) / 2; | |
} | |
if (g25 < 1) { | |
int64_t v24 = 2 * a2; // 0x1400077a4 | |
int64_t v25 = a1; // 0x1400077ae | |
v1 = a1; | |
if (v24 != 0) { | |
v1 = v25; | |
while (*(int16_t *)v25 != 0) { | |
int64_t v26 = v25 + 2; // 0x1400077b7 | |
v25 = v26; | |
v1 = v26; | |
if (v26 == v24 + a1) { | |
// break -> 0x1400077c0 | |
break; | |
} | |
v1 = v25; | |
} | |
} | |
// 0x1400077c6 | |
return (v1 - a1) / 2; | |
} | |
if ((a1 & 1) != 0) { | |
int64_t v27 = 2 * a2; // 0x1400076e4 | |
if (v27 == 0) { | |
// 0x1400077c6 | |
return 0; | |
} | |
int64_t v28 = a1; // 0x1400076ee | |
while (*(int16_t *)v28 != 0) { | |
// 0x1400076ff | |
v28 += 2; | |
if (v28 == v27 + a1) { | |
// break -> 0x1400077c0 | |
break; | |
} | |
} | |
// 0x1400077c6 | |
return (v28 - a1) / 2; | |
} | |
int64_t v29 = a1 & 15; // 0x14000770d | |
uint64_t v30 = v29 == 0 ? 0 : (16 - v29) / 2; // 0x140007724 | |
int64_t v31 = v30 > a2 ? a2 : v30; // 0x14000772a | |
int64_t v32 = a1; // 0x140007737 | |
int64_t v33 = a1; // 0x140007737 | |
if (v31 != 0) { | |
v33 = v32; | |
while (*(int16_t *)v32 != 0) { | |
int64_t v34 = v32 + 2; // 0x14000773e | |
v32 = v34; | |
v33 = v34; | |
if (v34 == 2 * v31 + a1) { | |
// break -> 0x140007747 | |
break; | |
} | |
v33 = v32; | |
} | |
} | |
int64_t v35 = v33 - a1; // 0x140007747 | |
int64_t result2 = v35 / 2; // 0x14000774a | |
if (result2 != v31) { | |
// 0x1400077c6 | |
return result2; | |
} | |
int64_t v36 = (v35 & -2) + a1; // 0x140007755 | |
int128_t v37; // 0x1400075f4 | |
int128_t v38 = __asm_xorps(v37, v37); // 0x14000775c | |
int64_t v39 = 2 * (result2 + (a2 - v31 & 0x7ffffffffffffff0)) + a1; // 0x140007766 | |
int64_t v40 = v36; // 0x140007784 | |
int64_t v41 = v36; // 0x140007784 | |
if (v36 != v39) { | |
int128_t v42 = __asm_pcmpeqw(__asm_movdqa_9(v38), *(int128_t *)v40); // 0x140007770 | |
v41 = v40; | |
while (__asm_pmovmskb(v42) == 0) { | |
int64_t v43 = v40 + 16; // 0x14000777d | |
v40 = v43; | |
v41 = v43; | |
if (v43 == v39) { | |
// break -> 0x140007786 | |
break; | |
} | |
v42 = __asm_pcmpeqw(__asm_movdqa_9(v38), *(int128_t *)v40); | |
v41 = v40; | |
} | |
} | |
int64_t v44 = 2 * a2 + a1; // 0x140007786 | |
if (v41 == v44) { | |
// 0x1400077c6 | |
return (v41 - a1) / 2; | |
} | |
int64_t v45 = v41; // 0x14000779d | |
while (*(int16_t *)v45 != 0) { | |
// 0x140007796 | |
v45 += 2; | |
if (v45 == v44) { | |
// break -> 0x1400077c0 | |
break; | |
} | |
} | |
// 0x1400077c6 | |
return (v45 - a1) / 2; | |
} | |
// Address range: 0x1400077cc - 0x14000780b | |
int64_t function_1400077cc(void) { | |
// 0x1400077cc | |
int64_t v1; // 0x1400077cc | |
__acrt_lock((int32_t)v1); | |
int64_t v2; // 0x1400077cc | |
int32_t * v3 = (int32_t *)*(int64_t *)(v2 + 136); // 0x1400077f6 | |
*v3 = *v3 + 1; | |
int64_t v4; // 0x1400077cc | |
return __acrt_lock2(*(int32_t *)&v4, v1); | |
} | |
// Address range: 0x14000780c - 0x140007849 | |
int64_t function_14000780c(void) { | |
// 0x14000780c | |
int64_t v1; // 0x14000780c | |
__acrt_lock((int32_t)v1); | |
int64_t v2; // 0x14000780c | |
function_140007adc(v2, 0); | |
int64_t v3; // 0x14000780c | |
return __acrt_lock2((int32_t)v3, 0); | |
} | |
// Address range: 0x14000784c - 0x140007891 | |
int64_t function_14000784c(void) { | |
// 0x14000784c | |
int64_t v1; // 0x14000784c | |
__acrt_lock((int32_t)v1); | |
int64_t v2; // 0x14000784c | |
int64_t v3 = *(int64_t *)*(int64_t *)*(int64_t *)(v2 + 8); // 0x140007873 | |
function_140007adc(v2, (int32_t)v3); | |
int64_t v4; // 0x14000784c | |
return __acrt_lock2((int32_t)v4, v3); | |
} | |
// Address range: 0x140007894 - 0x1400078f3 | |
int64_t function_140007894(void) { | |
// 0x140007894 | |
int64_t v1; // 0x140007894 | |
__acrt_lock((int32_t)v1); | |
int64_t v2; // 0x140007894 | |
int64_t v3 = *(int64_t *)(v2 + 136); // 0x1400078b7 | |
int64_t v4; // 0x140007894 | |
if (v3 == 0) { | |
// 0x1400078e1 | |
return __acrt_lock2(*(int32_t *)&v4, v1); | |
} | |
int32_t * v5 = (int32_t *)v3; // 0x1400078c6 | |
int32_t v6 = *v5; // 0x1400078c6 | |
*v5 = v6 - 1; | |
if (v3 != (int64_t)&g39 && v6 == 1) { | |
// 0x1400078db | |
_free_base((int64_t *)v3); | |
} | |
// 0x1400078e1 | |
return __acrt_lock2(*(int32_t *)&v4, v1); | |
} | |
// Address range: 0x140007adc - 0x140007b43 | |
int64_t function_140007adc(int64_t a1, int32_t a2) { | |
int64_t * v1 = (int64_t *)(a1 + 144); // 0x140007aec | |
int64_t v2 = *v1; // 0x140007aec | |
int64_t v3; // 0x140007adc | |
if (v2 != 0) { | |
int64_t v4 = __acrt_release_locale_ref(v2); // 0x140007af8 | |
int64_t v5 = *v1; // 0x140007afd | |
v3 = v4; | |
if (v5 != g90) { | |
// 0x140007b0d | |
v3 = (int64_t)&g37; | |
if (v5 != (int64_t)&g37) { | |
// 0x140007b19 | |
v3 = (int64_t)&g37; | |
if (*(int32_t *)(v5 + 16) == 0) { | |
// 0x140007b1f | |
v3 = __acrt_free_locale(v5); | |
} | |
} | |
} | |
} | |
int64_t v6 = a2; | |
*v1 = v6; | |
int64_t result = v3; // 0x140007b2e | |
if (a2 != 0) { | |
// 0x140007b30 | |
result = __acrt_add_locale_ref(v6); | |
} | |
// 0x140007b38 | |
return result; | |
} | |
// Address range: 0x140007b44 - 0x140007cc0 | |
int64_t function_140007b44(void) { | |
int32_t errorCode = GetLastError(); // 0x140007b53 | |
int32_t v1 = -1; // 0x140007b64 | |
int64_t v2; // 0x140007b44 | |
int64_t v3; // 0x140007b44 | |
if (g36 == -1) { | |
goto lab_0x140007b85; | |
} else { | |
int64_t v4 = __acrt_FlsGetValue(g36); // 0x140007b66 | |
if (v4 == 0) { | |
// 0x140007b7f | |
v1 = g36; | |
goto lab_0x140007b85; | |
} else { | |
if (v4 != -1) { | |
// 0x140007bef | |
SetLastError(errorCode); | |
v3 = v4; | |
v2 = (int64_t)&g113 - ((int64_t)&g113 + 1); | |
goto lab_dec_label_pc_unknown_2; | |
} else { | |
goto lab_dec_label_pc_0x140007bf1; | |
} | |
} | |
} | |
lab_0x140007b85: | |
// 0x140007b85 | |
if ((int32_t)__acrt_FlsSetValue(v1, -1) == 0) { | |
goto lab_dec_label_pc_0x140007bf1; | |
} else { | |
int64_t * v5 = _calloc_base(1, 968); // 0x140007b9c | |
if (v5 != NULL) { | |
int64_t v6 = (int64_t)v5; // 0x140007b9c | |
if ((int32_t)__acrt_FlsSetValue(g36, v6) != 0) { | |
// 0x140007bef | |
_3f_construct_ptd_array_40__40_YAXQEAU__acrt_ptd_40__40__40_Z((int64_t *)&g113); | |
_free_base(NULL); | |
SetLastError(errorCode); | |
v3 = v6; | |
v2 = (int64_t)&g113 - ((int64_t)&g113 + 1); | |
goto lab_dec_label_pc_unknown_2; | |
} else { | |
// 0x140007bcb | |
__acrt_FlsSetValue(g36, 0); | |
// 0x140007bb8 | |
_free_base(v5); | |
goto lab_dec_label_pc_0x140007bf1; | |
} | |
} else { | |
// 0x140007baf | |
__acrt_FlsSetValue(g36, 0); | |
// 0x140007bb8 | |
_free_base(NULL); | |
goto lab_dec_label_pc_0x140007bf1; | |
} | |
} | |
lab_dec_label_pc_0x140007bf1: | |
SetLastError(errorCode); | |
v3 = 0; | |
v2 = 0; | |
goto lab_dec_label_pc_unknown_2; | |
lab_dec_label_pc_unknown_2:; | |
int64_t result = v2 & v3; // 0x140007bfd | |
if (result != 0) { | |
// 0x140007c02 | |
return result; | |
} | |
// 0x140007c12 | |
function_140005bc0(); | |
__asm_int3(); | |
int32_t v7 = -1; // 0x140007c27 | |
if (g36 != -1) { | |
int64_t result2 = __acrt_FlsGetValue(g36); // 0x140007c29 | |
switch (result2) { | |
case 0: { | |
// 0x140007c3e | |
v7 = g36; | |
// break -> 0x140007c44 | |
break; | |
} | |
case -1: { | |
// 0x140007cb9 | |
function_140005bc0(); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
default: { | |
// 0x140007c02 | |
return result2; | |
} | |
} | |
} | |
// 0x140007c44 | |
if ((int32_t)__acrt_FlsSetValue(v7, -1) == 0) { | |
// 0x140007cb9 | |
function_140005bc0(); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
int64_t * v8 = _calloc_base(1, 968); // 0x140007c5b | |
int64_t * v9; // 0x140007b44 | |
if (v8 != NULL) { | |
int64_t result3 = (int64_t)v8; // 0x140007c5b | |
if ((int32_t)__acrt_FlsSetValue(g36, result3) != 0) { | |
// 0x140007cab | |
_3f_construct_ptd_array_40__40_YAXQEAU__acrt_ptd_40__40__40_Z((int64_t *)&g113); | |
_free_base(NULL); | |
// 0x140007c02 | |
return result3; | |
} | |
// 0x140007c8a | |
__acrt_FlsSetValue(g36, 0); | |
v9 = v8; | |
} else { | |
// 0x140007c6e | |
__acrt_FlsSetValue(g36, 0); | |
v9 = NULL; | |
} | |
// 0x140007c77 | |
_free_base(v9); | |
// 0x140007cb9 | |
function_140005bc0(); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
// Address range: 0x140007cc0 - 0x140007d8c | |
int64_t function_140007cc0(void) { | |
int32_t errorCode = GetLastError(); // 0x140007ccf | |
int32_t v1 = -1; // 0x140007ce0 | |
if (g36 == -1) { | |
goto lab_0x140007d01; | |
} else { | |
int64_t v2 = __acrt_FlsGetValue(g36); // 0x140007ce2 | |
if (v2 == 0) { | |
// 0x140007cfb | |
v1 = g36; | |
goto lab_0x140007d01; | |
} else { | |
if (v2 != -1) { | |
// 0x140007d6b | |
SetLastError(errorCode); | |
return (int64_t)&g113 - ((int64_t)&g113 + 1) & v2; | |
} | |
goto lab_dec_label_pc_0x140007d6d; | |
} | |
} | |
lab_0x140007d01: | |
// 0x140007d01 | |
if ((int32_t)__acrt_FlsSetValue(v1, -1) != 0) { | |
int64_t * v3 = _calloc_base(1, 968); // 0x140007d18 | |
int64_t * v4; // 0x140007cc0 | |
if (v3 != NULL) { | |
int64_t v5 = (int64_t)v3; // 0x140007d18 | |
if ((int32_t)__acrt_FlsSetValue(g36, v5) != 0) { | |
// 0x140007d6b | |
_3f_construct_ptd_array_40__40_YAXQEAU__acrt_ptd_40__40__40_Z((int64_t *)&g113); | |
_free_base(NULL); | |
SetLastError(errorCode); | |
return (int64_t)&g113 - ((int64_t)&g113 + 1) & v5; | |
} | |
// 0x140007d47 | |
__acrt_FlsSetValue(g36, 0); | |
v4 = v3; | |
} else { | |
// 0x140007d2b | |
__acrt_FlsSetValue(g36, 0); | |
v4 = NULL; | |
} | |
// 0x140007d34 | |
_free_base(v4); | |
} | |
goto lab_dec_label_pc_0x140007d6d; | |
lab_dec_label_pc_0x140007d6d: | |
SetLastError(errorCode); | |
return 0; | |
} | |
// Address range: 0x140007d8c - 0x140007dc5 | |
int64_t function_140007d8c(void) { | |
int64_t v1 = __acrt_FlsAlloc(0x1400079c4); // 0x140007d97 | |
int32_t v2 = v1; // 0x140007d9c | |
g36 = v2; | |
if (v2 == -1) { | |
// 0x140007dc0 | |
return v1 & -256; | |
} | |
int64_t v3 = function_140007cc0(); // 0x140007dab | |
if (v3 != 0) { | |
// 0x140007dc0 | |
return v3 & -256 | 1; | |
} | |
// 0x140007dc0 | |
return __acrt_uninitialize_ptd2(0) & -256; | |
} | |
// Address range: 0x140007e54 - 0x1400081d4 | |
int64_t function_140007e54(int64_t a1, int64_t a2, uint64_t a3, int64_t a4, int64_t a5, int64_t a6, int64_t a7, int64_t a8, int64_t a9, int64_t a10) { | |
char * v1 = (char *)a2; | |
*v1 = 0; | |
int64_t v2 = (int32_t)a6 >= 0 ? a6 & 0xffffffff : 0; // 0x140007e97 | |
int64_t v3; // bp-72, 0x140007e54 | |
function_14000331c(&v3, a9); | |
int64_t v4 = 0x100000000 * v2 + 0xb00000000; | |
int64_t v5 = v4 / 0x100000000; // 0x140007ea5 | |
char * v6; // 0x140007e54 | |
int64_t v7; // 0x140007e54 | |
int64_t v8; // 0x140007e54 | |
int64_t v9; // 0x140007e54 | |
int64_t v10; // 0x140007e54 | |
int64_t result; // 0x140007e54 | |
int64_t v11; // 0x1400080b2 | |
char * v12; // 0x140007e54 | |
if (v5 < a3) { | |
int64_t v13 = v5 & 0x7ff0000000000000; // 0x140007ed1 | |
if (v13 != 0x7ff0000000000000) { | |
char * v14 = v1; // 0x140007f66 | |
int64_t v15 = a2; // 0x140007f66 | |
if (v4 < 0) { | |
// 0x140007f68 | |
*v1 = 45; | |
v15 = a2 + 1; | |
v14 = (char *)v15; | |
} | |
// 0x140007f70 | |
int64_t v16; // 0x140007e54 | |
if (v13 != 0) { | |
// 0x140007fc7 | |
*v14 = 49; | |
v16 = 1023; | |
} else { | |
// 0x140007faf | |
*v14 = 48; | |
v16 = (v5 & 0xfffffffffffff) == 0 ? 0 : 1022; | |
} | |
int64_t v17 = v5; // 0x140007fd2 | |
char v18 = 0; // 0x140007fd2 | |
if (v2 != 0) { | |
// 0x140007fd8 | |
int64_t v19; // 0x140007e54 | |
v17 = *(int64_t *)(v19 + 248); | |
v18 = *(char *)*(int64_t *)v17; | |
} | |
int64_t v20 = v15 + 1; // 0x140007f77 | |
int64_t v21 = a7 & 255 ^ 1; // 0x140007f83 | |
int64_t v22 = 32 * v21 | 7; // 0x140007fa7 | |
int64_t v23 = v15 + 2; // 0x140007fcc | |
char * v24 = (char *)v20; // 0x140007fe9 | |
*v24 = v18; | |
int64_t v25 = v17; // 0x140007fef | |
int64_t v26 = 0xf000000000000; // 0x140007fef | |
int64_t v27 = v2; // 0x140007fef | |
int64_t v28 = 48; // 0x140007fef | |
int64_t v29 = v23; // 0x140007fef | |
int64_t v30 = v17; // 0x140007fef | |
int64_t v31 = 2047; // 0x140007fef | |
int64_t v32 = v2; // 0x140007fef | |
int64_t v33 = v23; // 0x140007fef | |
if ((v17 & 0xfffffffffffff) != 0) { | |
int64_t v34 = v25; // 0x140008005 | |
int64_t v35 = v26; // 0x140008005 | |
int64_t v36 = v27; // 0x140008005 | |
int64_t v37 = v28; // 0x140008005 | |
int64_t v38 = v29; // 0x140008005 | |
while ((int32_t)v27 >= 1) { | |
int64_t v39 = v28 & 255 | v25 & -256; // 0x14000800a | |
int64_t v40 = ((v25 & 0xfffffffffffff & v26) >> (v28 & 63)) + 48; // 0x140008016 | |
int64_t v41 = (int16_t)v40 < 58 ? 0 : v22; | |
*(char *)v29 = (char)(v41 + v40); | |
int64_t v42 = v27 + 0xffffffff & 0xffffffff; // 0x140008026 | |
int64_t v43 = v29 + 1; // 0x140008028 | |
int64_t v44 = v26 / 16; // 0x14000802b | |
int16_t v45 = (int16_t)v28 - 4; // 0x14000802f | |
int64_t v46 = v28 & -0x10000 | (int64_t)v45; // 0x14000802f | |
v25 = v39; | |
v26 = v44; | |
v27 = v42; | |
v28 = v46; | |
v29 = v43; | |
v34 = v39; | |
v35 = v44; | |
v36 = v42; | |
v37 = v46; | |
v38 = v43; | |
if (v45 < 0) { | |
// break -> 0x140008036 | |
break; | |
} | |
v34 = v25; | |
v35 = v26; | |
v36 = v27; | |
v37 = v28; | |
v38 = v29; | |
} | |
// 0x140008036 | |
v30 = v34; | |
v31 = v35; | |
v32 = v36; | |
v33 = v38; | |
if ((int16_t)v37 >= 0) { | |
int64_t v47 = function_140008748(a1, v35, v37, (int32_t)a10); // 0x140008047 | |
v30 = a1; | |
v31 = v35; | |
v32 = v36; | |
v33 = v38; | |
if ((char)v47 != 0) { | |
int64_t v48 = v38 - 1; | |
char * v49 = (char *)v48; // 0x14000805a | |
unsigned char v50 = *v49; // 0x14000805a | |
if ((v50 - 70 & -33) == 0) { | |
// branch -> 0x14000806b | |
} | |
int64_t v51 = v35 & -256 | (int64_t)v50; | |
if (v48 == v20) { | |
char * v52 = (char *)(v38 - 2); // 0x140008083 | |
*v52 = *v52 + 1; | |
v30 = v20; | |
v31 = v51; | |
v32 = v36; | |
v33 = v38; | |
} else { | |
// 0x140008070 | |
*v49 = (char)(v50 != 57 ? v51 + 1 : v22 + 58); | |
v30 = v48; | |
v31 = v51; | |
v32 = v36; | |
v33 = v38; | |
} | |
} | |
} | |
} | |
int64_t v53 = v30; // 0x140008088 | |
int64_t v54 = v33; // 0x140008088 | |
if ((int32_t)v32 >= 1) { | |
int64_t v55 = v32 & 0xffffffff; // 0x14000808a | |
function_140001e50((int64_t *)v33, (int32_t)v31 & -256 | 48, v55, 48); | |
v53 = v33; | |
v54 = v33 + v55; | |
} | |
int64_t v56 = *v24 != 0 ? v54 : v20; // 0x1400080a2 | |
*(char *)v56 = 32 * (char)v21 + 80; | |
v11 = v56 + 2; | |
int64_t v57 = v53 / 0x10000000000000 & 2047; // 0x1400080bd | |
int64_t v58 = v57 - v16; // 0x1400080c4 | |
int64_t v59 = v58 >= 0 ? v58 : v16 - v57; | |
*(char *)(v56 + 1) = v58 < 0 ? 45 : 43; | |
v12 = (char *)v11; | |
*v12 = 48; | |
if (v59 < 1000) { | |
// 0x140008125 | |
v6 = v12; | |
v7 = v11; | |
v9 = v59; | |
v10 = v59; | |
v8 = v11; | |
if (v59 < 100) { | |
goto lab_0x14000815e; | |
} else { | |
goto lab_0x140008130; | |
} | |
} else { | |
int64_t v60 = v56 + 3; // 0x140008100 | |
int64_t v61 = (int64_t)(0x20c49ba5e353f7cf * (int128_t)v59 / 0x8000000000000000) / 128; // 0x140008107 | |
int64_t v62 = (v61 >> 63) + v61; // 0x140008112 | |
*v12 = (char)v62 + 48; | |
v6 = (char *)v60; | |
v7 = v60; | |
v9 = -1000 * v62 + v59; | |
goto lab_0x140008130; | |
} | |
} else { | |
int64_t v63 = function_1400081d4(a1, a2, a3); // 0x140007f1a | |
if ((int32_t)v63 == 0) { | |
int64_t v64 = function_1400122c8(a2, 101); // 0x140007f35 | |
result = 0; | |
if (v64 != 0) { | |
// 0x140007f43 | |
*(char *)v64 = (32 * (char)a7 ^ 32) + 80; | |
*(char *)(v64 + 3) = 0; | |
result = 0; | |
} | |
} else { | |
// 0x140007f25 | |
*v1 = 0; | |
result = v63 & 0xffffffff; | |
} | |
goto lab_0x1400081a1; | |
} | |
} else { | |
// 0x140007ead | |
*_errno() = 34; | |
function_140006270(v5, a9, a3, a4); | |
result = 34; | |
goto lab_0x1400081a1; | |
} | |
lab_0x1400081a1:; | |
// 0x1400081a1 | |
char v65; // 0x140007e54 | |
if (v65 != 0) { | |
int32_t * v66 = (int32_t *)(v3 + 936); // 0x1400081ad | |
*v66 = *v66 & -3; | |
} | |
// 0x1400081b4 | |
return result; | |
lab_0x14000815e:; | |
int64_t v67 = v8; | |
int64_t v68 = v10; | |
char * v69 = v12; // 0x140008161 | |
int64_t v70 = v68; // 0x140008161 | |
int64_t v71 = v11; // 0x140008161 | |
if (v68 < 10 != (v67 == v11)) { | |
int64_t v72 = (int64_t)(0x6666666666666667 * (int128_t)v68 / 0x8000000000000000) / 4; // 0x140008176 | |
int64_t v73 = (v72 >> 63) + v72; // 0x140008181 | |
*(char *)v67 = (char)v73 + 48; | |
int64_t v74 = v67 + 1; // 0x14000818a | |
v69 = (char *)v74; | |
v70 = -10 * v73 + v68; | |
v71 = v74; | |
} | |
// 0x140008194 | |
*v69 = (char)v70 + 48; | |
*(char *)(v71 + 1) = 0; | |
result = 0; | |
goto lab_0x1400081a1; | |
lab_0x140008130:; | |
int64_t v75 = v9; | |
int64_t v76 = (v75 + (int64_t)(-0x5c28f5c28f5c28f5 * (int128_t)v75 / 0x8000000000000000)) / 64; // 0x140008140 | |
int64_t v77 = (v76 >> 63) + v76; // 0x14000814b | |
*v6 = (char)v77 + 48; | |
v10 = -100 * v77 + v75; | |
v8 = v7 + 1; | |
goto lab_0x14000815e; | |
} | |
// Address range: 0x1400081d4 - 0x1400082c4 | |
int64_t function_1400081d4(int64_t a1, int64_t a2, int64_t a3) { | |
// 0x1400081d4 | |
int32_t v1; // 0x1400081d4 | |
uint64_t v2 = (int64_t)(uint32_t)(v1 + 2) + 1; // 0x140008208 | |
int64_t v3 = v1 + 1; // 0x14000820b | |
int32_t v4; // bp-24, 0x1400081d4 | |
int64_t v5; // 0x1400081d4 | |
uint64_t v6; // 0x1400081d4 | |
int64_t v7 = function_14000d44c(a1, v3, (int64_t *)&v4, v5, v2 < v6 ? v2 : v6); // 0x140008219 | |
int64_t v8 = a3 == -1 ? -1 : (int64_t)(v1 >= 0 == (v1 != 0)) + a3 + (int64_t)(v4 == 45); // 0x140008256 | |
int32_t v9; // 0x1400081d4 | |
int64_t v10 = function_14000cec4((int64_t)(v1 >= 0 == (v1 != 0)) + a2 + (int64_t)(v4 == 45), v8, v3, (int64_t *)&v4, 0x100000000 * v7 / 0x100000000, (int64_t)v9); // 0x140008264 | |
int64_t result; // 0x1400081d4 | |
if ((int32_t)v10 == 0) { | |
// 0x140008272 | |
int32_t v11; // 0x1400081d4 | |
unsigned char v12; // 0x1400081d4 | |
int64_t v13; // 0x1400081d4 | |
int64_t v14 = function_1400082c4(a2, a3, (int64_t)v1, (int64_t)&v4 & -256 | (int64_t)v12, (int64_t)v11, (int64_t *)&v4, 0, v13); // 0x1400082aa | |
result = v14; | |
} else { | |
// 0x14000826d | |
*(char *)a2 = 0; | |
result = v10; | |
} | |
// 0x1400082af | |
return result; | |
} | |
// Address range: 0x1400082c4 - 0x140008498 | |
int64_t function_1400082c4(int64_t a1, uint64_t a2, int64_t a3, int64_t a4, int64_t a5, int64_t * a6, char a7, int64_t a8) { | |
int64_t v1 = 0x100000000 * a3; | |
int32_t v2 = a3; // 0x1400082e2 | |
if ((v2 >= 0 == (v2 != 0) ? (v1 + 0x900000000) / 0x100000000 : 9) >= a2) { | |
// 0x1400082fb | |
*_errno() = 34; | |
function_140006270(a1, a2, a3, a4); | |
// 0x14000830e | |
return 34; | |
} | |
int64_t v3 = v1 / 0x100000000; // 0x1400082df | |
int32_t v4; // bp-40, 0x1400082c4 | |
function_14000331c((int64_t *)&v4, a8); | |
if (a7 != 0) { | |
int64_t v5 = (int64_t)(*(int32_t *)a6 == 45) + a1; // 0x140008355 | |
if ((int32_t)v3 >= 1) { | |
int64_t v6 = -1; | |
int64_t v7 = v6 + 1; // 0x140008360 | |
while (*(char *)(v7 + v5) != 0) { | |
// 0x140008360 | |
v6 = v7; | |
v7 = v6 + 1; | |
} | |
// 0x14000836a | |
function_140002760(v5 + 1, v5, v6 + 2, a4); | |
} | |
} | |
int64_t v8 = a1; // 0x14000837c | |
if (*(int32_t *)a6 == 45) { | |
// 0x14000837e | |
*(char *)a1 = 45; | |
v8 = a1 + 1; | |
} | |
int64_t v9 = v8; // 0x140008387 | |
if ((int32_t)v3 >= 1) { | |
// 0x140008389 | |
v9 = v8 + 1; | |
char * v10 = (char *)v9; // 0x140008389 | |
*(char *)v8 = *v10; | |
int64_t v11; // 0x1400082c4 | |
*v10 = *(char *)*(int64_t *)*(int64_t *)(v11 + 248); | |
} | |
int64_t v12 = v3 + (int64_t)(a7 ^ 1) + v9; // 0x1400083ba | |
char * v13 = (char *)v12; // 0x1400083cf | |
if (strcpy_s(v13, (int32_t)(a2 == -1 ? 0xffffffff : a2 + a1 - v12), "e+000") != 0) { | |
// 0x140008480 | |
function_140006290(0, 0, 0, 0, 0); | |
__asm_int3(); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
if ((char)a4 != 0) { | |
// 0x1400083e5 | |
*v13 = 69; | |
} | |
int64_t v14 = (int64_t)a6; | |
int64_t v15 = v12 + 2; // 0x1400083dc | |
if (*(char *)*(int64_t *)(v14 + 8) != 48) { | |
int32_t v16 = *(int32_t *)(v14 + 4); // 0x1400083f1 | |
int32_t v17 = v16 - 1; // 0x1400083f5 | |
int32_t v18 = v17; // 0x1400083f9 | |
if (v17 < 0) { | |
// 0x1400083fb | |
*(char *)(v12 + 1) = 45; | |
v18 = 1 - v16; | |
} | |
int32_t v19 = v18; // 0x140008406 | |
if (v18 >= 100) { | |
int32_t v20 = (int32_t)(0x51eb851f * (int64_t)v18 / 0x100000000) / 32; // 0x140008410 | |
int32_t v21 = (v20 >> 31) + v20; // 0x140008418 | |
char * v22 = (char *)v15; // 0x14000841a | |
*v22 = *v22 + (char)v21; | |
v19 = -100 * v21 + v18; | |
} | |
int32_t v23 = v19; // 0x140008427 | |
if (v19 >= 10) { | |
int32_t v24 = (int32_t)(0x66666667 * (int64_t)v19 / 0x100000000) / 4; // 0x140008431 | |
int32_t v25 = (v24 >> 31) + v24; // 0x140008439 | |
char * v26 = (char *)(v12 + 3); // 0x14000843b | |
*v26 = *v26 + (char)v25; | |
v23 = -10 * v25 + v19; | |
} | |
char * v27 = (char *)(v12 + 4); // 0x140008444 | |
*v27 = *v27 + (char)v23; | |
} | |
if ((int32_t)a5 == 2) { | |
// 0x140008452 | |
if (*(char *)v15 == 48) { | |
// 0x140008457 | |
function_140002760(v15, v12 + 3, 3, a4); | |
} | |
} | |
// 0x140008466 | |
char v28; // 0x1400082c4 | |
if (v28 != 0) { | |
int32_t * v29 = (int32_t *)((int64_t)v4 + 936); // 0x140008472 | |
*v29 = *v29 & -3; | |
} | |
// 0x14000830e | |
return 0; | |
} | |
// Address range: 0x140008498 - 0x1400085fd | |
int64_t function_140008498(int64_t a1) { | |
// 0x140008498 | |
int32_t v1; // bp-40, 0x140008498 | |
int64_t v2; // 0x140008498 | |
function_14000331c((int64_t *)&v1, v2); | |
int64_t v3; // 0x140008498 | |
int32_t * v4 = (int32_t *)(v3 + 4); // 0x1400084cd | |
int32_t v5 = *v4; // 0x1400084cd | |
int32_t v6 = v3; | |
int32_t v7 = v6; // 0x1400084d1 | |
int64_t v8; // 0x140008498 | |
int64_t v9; // 0x140008498 | |
char v10; // 0x140008498 | |
if (v10 != 0) { | |
// 0x1400084d3 | |
v7 = v6; | |
if (v5 - 1 == (int32_t)v9) { | |
// 0x1400084da | |
*(int16_t *)(a1 - 1 + (int64_t)(v6 == 45) + (int64_t)v5) = 48; | |
v7 = *(int32_t *)&v8; | |
} | |
} | |
int64_t v11 = a1; // 0x1400084f1 | |
if (v7 == 45) { | |
// 0x1400084f3 | |
*(char *)a1 = 45; | |
v11 = a1 + 1; | |
} | |
int32_t v12 = *v4; // 0x1400084f9 | |
int64_t v13; // 0x140008498 | |
int64_t v14; // 0x140008498 | |
int64_t v15; // 0x140008498 | |
if (v12 >= 0 == (v12 != 0)) { | |
// 0x14000854e | |
v15 = v11 + (int64_t)v12; | |
goto lab_0x140008551; | |
} else { | |
if (v12 != 0) { | |
// 0x140008516 | |
v13 = v11 + 1; | |
goto lab_0x14000852e; | |
} else { | |
// 0x140008507 | |
if (*(char *)*(int64_t *)(v3 + 8) != 48) { | |
// 0x140008516 | |
v13 = v11 + 1; | |
goto lab_0x14000852e; | |
} else { | |
int64_t v16 = v11 + 1; | |
v13 = v16; | |
v14 = v16; | |
if (v10 == 0) { | |
goto lab_0x14000852e; | |
} else { | |
goto lab_0x140008546; | |
} | |
} | |
} | |
} | |
lab_0x140008551:; | |
uint64_t v17 = v9 & 0xffffffff; // 0x1400084c0 | |
if ((int32_t)v9 >= 1) { | |
int64_t v18 = -1; | |
int64_t v19 = v18 + 1; // 0x14000855c | |
while (*(char *)(v19 + v15) != 0) { | |
// 0x14000855c | |
v18 = v19; | |
v19 = v18 + 1; | |
} | |
int64_t v20 = v15 + 1; // 0x140008555 | |
function_140002760(v20, v15, v18 + 2, v8); | |
int64_t v21; // 0x140008498 | |
int64_t v22 = *(int64_t *)*(int64_t *)(v21 + 248); // 0x140008580 | |
*(char *)v15 = *(char *)v22; | |
int32_t v23 = *v4; // 0x140008587 | |
if (v23 < 0) { | |
uint64_t v24 = (int64_t)-v23; // 0x14000858f | |
int64_t v25 = v10 != 0 | v17 > v24 ? v24 : v17; | |
int64_t v26; // 0x140008498 | |
if (v25 == 0) { | |
// 0x14000858f | |
v26 = 0; | |
} else { | |
int64_t v27 = -1; | |
int64_t v28 = v27 + 1; // 0x1400085a2 | |
while (*(char *)(v28 + v20) != 0) { | |
// 0x1400085a2 | |
v27 = v28; | |
v28 = v27 + 1; | |
} | |
int64_t v29 = 0x100000000 * v25 / 0x100000000; | |
function_140002760(v29 + v20, v20, v27 + 2, v8); | |
v26 = v29; | |
} | |
// 0x1400085bd | |
function_140001e50((int64_t *)v20, 48, v26, v8); | |
} | |
} | |
char v30; // 0x140008498 | |
if (v30 != 0) { | |
int32_t * v31 = (int32_t *)((int64_t)v1 + 936); // 0x1400085d9 | |
*v31 = *v31 & -3; | |
} | |
// 0x1400085e0 | |
return 0; | |
lab_0x14000852e:; | |
int64_t v32 = -1; | |
int64_t v33 = v32 + 1; // 0x14000852e | |
while (*(char *)(v33 + v11) != 0) { | |
// 0x14000852e | |
v32 = v33; | |
v33 = v32 + 1; | |
} | |
// 0x140008538 | |
function_140002760(v13, v11, v32 + 2, v8); | |
v14 = v13; | |
goto lab_0x140008546; | |
lab_0x140008546: | |
// 0x140008546 | |
*(char *)v11 = 48; | |
v15 = v14; | |
goto lab_0x140008551; | |
} | |
// Address range: 0x140008600 - 0x140008745 | |
int64_t function_140008600(int64_t a1, int64_t a2, int64_t a3) { | |
// 0x140008600 | |
uint32_t v1; // 0x140008600 | |
int64_t v2 = v1; // 0x14000862e | |
int128_t v3; // 0x140008600 | |
int128_t v4; // 0x140008600 | |
__asm_movups_10(0x8000000000000000 * v4 / 0x8000000000000000, __asm_xorps(v3, v3)); | |
int128_t v5; // bp-24, 0x140008600 | |
int64_t v6; // 0x140008600 | |
int64_t v7 = function_14000d44c(a1, v2, (int64_t *)&v5, v6, (int64_t)&g113); // 0x14000863d | |
int64_t v8 = (int32_t)v5 == 45; // 0x14000865c | |
int64_t v9 = a3 == -1 ? -1 : a3 - v8; // 0x140008684 | |
int32_t v10; // 0x140008600 | |
int64_t result = function_14000cec4(v8 + a2, v9, v2, (int64_t *)&v5, 0x100000000 * v7 / 0x100000000, (int64_t)v10); // 0x14000868b | |
if ((int32_t)result != 0) { | |
// 0x140008694 | |
*(char *)a2 = 0; | |
// 0x14000872f | |
return result; | |
} | |
// 0x14000869c | |
int32_t v11; // 0x140008600 | |
int32_t v12 = v11 - 1; // 0x14000866c | |
int64_t result2; // 0x140008600 | |
if (v12 > -5 == v1 > v12) { | |
// 0x1400086c1 | |
result2 = function_140008498(a2); | |
} else { | |
// 0x1400086ed | |
int32_t v13; // 0x140008600 | |
unsigned char v14; // 0x140008600 | |
int64_t v15; // 0x140008600 | |
int64_t v16 = function_1400082c4(a2, a3, v2, (int64_t)&v5 & -256 | (int64_t)v14, (int64_t)v13, (int64_t *)&v5, 1, v15); // 0x14000872a | |
result2 = v16; | |
} | |
// 0x14000872f | |
return result2; | |
} | |
// Address range: 0x140008748 - 0x14000885e | |
int64_t function_140008748(int64_t a1, int64_t a2, int64_t a3, int32_t a4) { | |
int64_t v1 = 0x1000000000000 * a3 / 0x1000000000000; // 0x140008775 | |
uint64_t v2 = v1 & 63; // 0x140008785 | |
int64_t v3 = (a1 & 0xfffffffffffff & a2) >> v2; | |
if (a4 == 0) { | |
// 0x14000883f | |
int64_t v4; // 0x140008748 | |
return (int64_t)&v4 & -256 | (int64_t)((int16_t)v3 >= 8); | |
} | |
uint64_t v5 = v1 & 0xffffffff; // 0x14000877f | |
int64_t v6 = function_14000e718(v5); // 0x14000879c | |
int32_t v7 = v6; // 0x1400087a1 | |
int64_t v8; // 0x140008748 | |
if (v7 != 0) { | |
if (v7 != 512) { | |
// 0x14000882a | |
v8 = v6; | |
if (v7 != 256) { | |
// 0x14000883f | |
return v6 & -256; | |
} | |
} else { | |
// 0x14000881e | |
v8 = v6; | |
if ((int16_t)v3 != 0) { | |
// 0x14000883f | |
return 1 | v6 & -256; | |
} | |
} | |
} else { | |
int64_t v9 = (v5 & a2) >> v2; | |
uint16_t v10 = (int16_t)v9; // 0x1400087b7 | |
if (v10 >= 9) { | |
// 0x14000883f | |
return 1 | v9 & -256; | |
} | |
// 0x1400087c4 | |
v8 = v9; | |
if (v10 == 8) { | |
int64_t v11 = (v2 == 0 ? 0 : -1 << v2 ^ 0xffffffff) & v5; // 0x1400087d8 | |
if (v11 != 0) { | |
// 0x14000883f | |
return 1 | v11 & -256; | |
} | |
int64_t v12 = 0x7ff0000000000000; // 0x1400087e4 | |
int64_t v13 = 0; // 0x1400087e4 | |
if ((int32_t)v1 != 48) { | |
// 0x1400087e6 | |
v12 = 0xffffffffffff; | |
v13 = (v5 / 16 & a2) >> v2 & 1; | |
} | |
// 0x14000883f | |
return v13 | v12 & -256; | |
} | |
} | |
// 0x14000883f | |
return v8 & -256; | |
} | |
// Address range: 0x140008860 - 0x140008b98 | |
int64_t function_140008860(int64_t * a1, int64_t a2, int64_t a3, int64_t a4, int64_t a5, int64_t a6, int64_t a7, uint64_t a8, int64_t a9, uint32_t a10) { | |
int64_t v1 = (int64_t)a1; | |
int64_t v2 = a4; // 0x140008888 | |
if (a2 != 0 && a3 != 0 && a4 != 0) { | |
// 0x1400088ac | |
v2 = 0; | |
if (a5 != 0) { | |
int64_t v3 = 0x100000000 * a7 / 0x100000000; | |
int32_t v4 = a6; // 0x1400088c0 | |
int64_t v5 = (a8 & 32) == 0 ? 0 : (int64_t)a10; // 0x1400089e0 | |
int64_t v6 = 0; // 0x140008860 | |
int64_t result; // 0x140008860 | |
switch (v4) { | |
case 65: { | |
} | |
case 97: { | |
// 0x140008b2b | |
result = function_140007e54(v1, a2, a3, a4, a5, v3, (int64_t)(v4 == 65 | v4 < 72), a8 / 16 & 1 | 2, 0x100000000 * a9 / 0x100000000, 0x100000000 * v5 / 0x100000000); | |
// 0x140008b66 | |
return result; | |
} | |
case 69: { | |
} | |
case 101: { | |
// 0x140008b66 | |
return function_1400081d4(v1, a2, a3); | |
} | |
case 102: { | |
// 0x140008a5a | |
v6 = 1; | |
} | |
case 70: { | |
// 0x140008a5a | |
int128_t v7; // 0x140008860 | |
int128_t v8; // 0x140008860 | |
__asm_movups_10(0x8000000000000000 * v8 / 0x8000000000000000, __asm_xorps(v7, v7)); | |
int128_t v9; // bp-24, 0x140008860 | |
int64_t v10 = function_14000d44c(v6, v3 & 0xffffffff, (int64_t *)&v9, a4, (int64_t)&g113); // 0x140008a7b | |
int64_t v11 = (int32_t)v9 == 45; // 0x140008a94 | |
int64_t v12 = a3 == -1 ? -1 : a3 - v11; // 0x140008aad | |
int32_t v13; // 0x140008860 | |
int64_t v14 = function_14000cec4(v11 + a2, v12, (int64_t)(v13 + (int32_t)v3), (int64_t *)&v9, 0x100000000 * v10 / 0x100000000, 0x100000000 * v5 / 0x100000000); // 0x140008ab6 | |
if ((int32_t)v14 == 0) { | |
// 0x140008ac7 | |
result = function_140008498(a2); | |
} else { | |
// 0x140008abf | |
*(char *)a2 = 0; | |
result = v14; | |
} | |
// break -> 0x140008b66 | |
break; | |
} | |
default: { | |
// 0x140008b66 | |
return function_140008600(v1, a2, a3); | |
} | |
} | |
// 0x140008b66 | |
return result; | |
} | |
} | |
// 0x14000888a | |
*_errno() = 22; | |
function_140006270(v1, a2, a3, v2); | |
// 0x140008b66 | |
return 22; | |
} | |
// Address range: 0x140008bc0 - 0x140008bd6 | |
int64_t function_140008bc0(int64_t a1, int64_t a2) { | |
int32_t * v1 = (int32_t *)(a2 + 16); // 0x140008bc0 | |
int32_t v2 = *v1 - 1; // 0x140008bc0 | |
*v1 = v2; | |
if (v2 < 0) { | |
function_14000e88c(a1, a2); | |
} | |
// 0x140008bca | |
*(char *)a2 = (char)a1; | |
*(int64_t *)a2 = a2 + 1; | |
return a1 & 255; | |
} | |
// Address range: 0x140008bf0 - 0x140008c36 | |
int64_t function_140008bf0(int64_t a1) { | |
// 0x140008bf0 | |
if ((int64_t)__acrt_iob_func(2) == a1) { | |
// 0x140008c30 | |
return a1 & -256 | 1; | |
} | |
int64_t v1 = (int64_t)__acrt_iob_func(1); // 0x140008c0d | |
int64_t v2 = v1; // 0x140008c15 | |
if (v1 == a1) { | |
// 0x140008c17 | |
v2 = function_14000e944((int64_t)_fileno((struct _IO_FILE *)a1)); | |
if ((int32_t)v2 != 0) { | |
// 0x140008c30 | |
return v2 & -256 | 1; | |
} | |
} | |
// 0x140008c30 | |
return v2 & -256; | |
} | |
// Address range: 0x140008c38 - 0x140008d00 | |
int64_t function_140008c38(int64_t a1) { | |
int64_t v1 = function_140008bf0(a1); // 0x140008c45 | |
if ((char)v1 == 0) { | |
// 0x140008cf5 | |
return v1 & -256; | |
} | |
int64_t * v2 = __acrt_iob_func(1); // 0x140008c57 | |
int64_t v3 = &g88; // 0x140008c5f | |
if ((int64_t)v2 != a1) { | |
int64_t v4 = (int64_t)__acrt_iob_func(2); // 0x140008c6f | |
v3 = &g89; | |
if (v4 != a1) { | |
// 0x140008cf5 | |
return v4 & -256; | |
} | |
} | |
// 0x140008c80 | |
g62++; | |
int32_t * v5 = (int32_t *)(a1 + 20); // 0x140008c86 | |
uint32_t v6 = *v5; // 0x140008c86 | |
if ((v6 & 1216) != 0) { | |
// 0x140008cf5 | |
return (int64_t)v6 & -256; | |
} | |
// 0x140008c90 | |
*v5 = v6 | 642; | |
int64_t * v7 = (int64_t *)v3; // 0x140008c98 | |
int64_t v8 = *v7; // 0x140008c98 | |
int64_t v9 = v8; // 0x140008c9e | |
if (v8 == 0) { | |
// 0x140008ca0 | |
*v7 = (int64_t)_malloc_base(0x1000); | |
_free_base(NULL); | |
v9 = *v7; | |
if (v9 == 0) { | |
int64_t v10 = a1 + 28; // 0x140008cbc | |
*(int32_t *)(a1 + 16) = 2; | |
*(int64_t *)(a1 + 8) = v10; | |
*(int64_t *)a1 = v10; | |
*(int32_t *)(a1 + 32) = 2; | |
// 0x140008cf5 | |
return v9 & -256 | 1; | |
} | |
} | |
// 0x140008cd9 | |
*(int64_t *)(a1 + 8) = v9; | |
int64_t v11 = *v7; // 0x140008cdd | |
*(int64_t *)a1 = v11; | |
*(int32_t *)(a1 + 16) = 0x1000; | |
*(int32_t *)(a1 + 32) = 0x1000; | |
// 0x140008cf5 | |
return v11 & -256 | 1; | |
} | |
// Address range: 0x140008d00 - 0x140008d39 | |
int64_t function_140008d00(int64_t a1, int64_t a2) { | |
if ((char)a1 == 0) { | |
// 0x140008d38 | |
int64_t result; // 0x140008d00 | |
return result; | |
} | |
int32_t * v1 = (int32_t *)(a2 + 20); // 0x140008d09 | |
uint32_t v2 = *v1; // 0x140008d09 | |
int64_t result2 = v2 / 512; // 0x140008d14 | |
if ((v2 & 512) != 0) { | |
// 0x140008d16 | |
result2 = function_140006d6c(a2); | |
*v1 = *v1 & -641; | |
*(int32_t *)(a2 + 32) = 0; | |
*(int64_t *)(a2 + 8) = 0; | |
*(int64_t *)a2 = 0; | |
} | |
// 0x140008d38 | |
return result2; | |
} | |
// Address range: 0x140008d3c - 0x140008d4e | |
int64_t function_140008d3c(uint64_t a1, uint64_t a2) { | |
if (a1 >= a2) { | |
// 0x140008d45 | |
return (bool)(a1 > a2); | |
} | |
// 0x140008d41 | |
return 0xffffffff; | |
} | |
// Address range: 0x140008d50 - 0x140008ec6 | |
int64_t function_140008d50(int64_t a1, int64_t * a2, int64_t a3, int64_t a4) { | |
int64_t v1 = (int64_t)a2; | |
if (a1 == 0) { | |
char * v2 = (char *)(v1 + 40); // 0x140008d79 | |
int64_t * v3 = (int64_t *)(v1 + 16); | |
if (*v2 != 0) { | |
// 0x140008d7e | |
_free_base((int64_t *)*v3); | |
*v2 = 0; | |
} | |
// 0x140008d8a | |
*v3 = 0; | |
*(int64_t *)(v1 + 24) = 0; | |
// 0x140008d92 | |
*(int64_t *)(v1 + 32) = 0; | |
// 0x140008ea9 | |
return 0; | |
} | |
int64_t v4; // 0x140008d50 | |
if ((char)v4 == 0) { | |
int64_t * v5 = (int64_t *)(v1 + 24); // 0x140008d9f | |
int64_t * v6; // 0x140008d50 | |
if (*v5 != 0) { | |
// 0x140008d9f | |
v6 = (int64_t *)(v1 + 16); | |
} else { | |
char * v7 = (char *)(v1 + 40); // 0x140008da5 | |
int64_t * v8 = (int64_t *)(v1 + 16); | |
if (*v7 != 0) { | |
// 0x140008daa | |
_free_base((int64_t *)*v8); | |
*v7 = 0; | |
} | |
int64_t * v9 = _malloc_base(2); // 0x140008dbb | |
*v8 = (int64_t)v9; | |
int32_t v10 = v1; // 0x140008dca | |
int32_t result = (v10 ^ 15) + v10 + (int32_t)(v9 != NULL) & 12; // 0x140008dce | |
*v7 = (char)(result == 0); | |
*v5 = (int64_t)(result == 0); | |
v6 = v8; | |
if (result != 0) { | |
// 0x140008ea9 | |
return result; | |
} | |
} | |
// 0x140008deb | |
*(int16_t *)*v6 = 0; | |
// 0x140008d92 | |
*(int64_t *)(v1 + 32) = 0; | |
// 0x140008ea9 | |
return 0; | |
} | |
int32_t v11 = a3; // 0x140008e04 | |
int64_t v12 = function_14000a420(v11, 9); // 0x140008e0a | |
int32_t v13 = v12; // 0x140008e12 | |
if (v13 != 0) { | |
int64_t v14 = 0x100000000 * v12 / 0x100000000; // 0x140008e0f | |
int64_t * v15 = (int64_t *)(v1 + 24); // 0x140008e2c | |
if (v14 > *v15) { | |
char * v16 = (char *)(v1 + 40); // 0x140008e35 | |
int64_t * v17 = (int64_t *)(v1 + 16); | |
if (*v16 != 0) { | |
// 0x140008e3a | |
_free_base((int64_t *)*v17); | |
*v16 = 0; | |
} | |
int64_t * v18 = _malloc_base(2 * v13); // 0x140008e4a | |
*v17 = (int64_t)v18; | |
*v16 = (char)(v18 != NULL); | |
*v15 = v18 == NULL ? 0 : v14; | |
if (v18 == NULL) { | |
// 0x140008ea9 | |
return 12; | |
} | |
} | |
int64_t v19 = function_14000a420(v11, 9); // 0x140008e92 | |
if ((int32_t)v19 != 0) { | |
// 0x140008ea2 | |
*(int64_t *)(v1 + 32) = 0x100000000 * v19 / 0x100000000 - 1; | |
// 0x140008ea9 | |
return 0; | |
} | |
} | |
// 0x140008e16 | |
__acrt_errno_map_os_error((int64_t)GetLastError(), 9, a1); | |
// 0x140008ea9 | |
return (int64_t)*_errno(); | |
} | |
// Address range: 0x140008ec8 - 0x140009052 | |
int64_t function_140008ec8(int64_t * a1, int64_t * a2, int64_t a3, int64_t a4) { | |
int64_t v1 = (int64_t)a2; | |
if (a1 == NULL) { | |
char * v2 = (char *)(v1 + 40); // 0x140008ef1 | |
int64_t * v3 = (int64_t *)(v1 + 16); | |
if (*v2 != 0) { | |
// 0x140008ef6 | |
_free_base((int64_t *)*v3); | |
*v2 = 0; | |
} | |
// 0x140008f02 | |
*v3 = 0; | |
*(int64_t *)(v1 + 24) = 0; | |
// 0x140008f0a | |
*(int64_t *)(v1 + 32) = 0; | |
// 0x140009035 | |
return 0; | |
} | |
int64_t v4; // 0x140008ec8 | |
if ((int16_t)v4 == 0) { | |
int64_t * v5 = (int64_t *)(v1 + 24); // 0x140008f18 | |
int64_t * v6; // 0x140008ec8 | |
if (*v5 != 0) { | |
// 0x140008f18 | |
v6 = (int64_t *)(v1 + 16); | |
} else { | |
char * v7 = (char *)(v1 + 40); // 0x140008f1e | |
int64_t * v8 = (int64_t *)(v1 + 16); | |
if (*v7 != 0) { | |
// 0x140008f23 | |
_free_base((int64_t *)*v8); | |
*v7 = 0; | |
} | |
int64_t * v9 = _malloc_base(1); // 0x140008f34 | |
*v8 = (int64_t)v9; | |
int32_t v10 = v1; // 0x140008f43 | |
int32_t result = (v10 ^ 15) + v10 + (int32_t)(v9 != NULL) & 12; // 0x140008f47 | |
*v7 = (char)(result == 0); | |
*v5 = (int64_t)(result == 0); | |
v6 = v8; | |
if (result != 0) { | |
// 0x140009035 | |
return result; | |
} | |
} | |
// 0x140008f64 | |
*(char *)*v6 = 0; | |
// 0x140008f0a | |
*(int64_t *)(v1 + 32) = 0; | |
// 0x140009035 | |
return 0; | |
} | |
int64_t v11 = (int64_t)a1; | |
int32_t v12 = a3; // 0x140008f83 | |
int64_t v13 = function_14000a47c(v12, 0, v11, -1, 0, 0); // 0x140008f8b | |
if ((int32_t)v13 != 0) { | |
int64_t v14 = 0x100000000 * v13 / 0x100000000; // 0x140008f90 | |
int64_t * v15 = (int64_t *)(v1 + 24); // 0x140008fb0 | |
uint64_t v16 = *v15; // 0x140008fb0 | |
int64_t * v17; // 0x140008ec8 | |
int32_t v18; // 0x140008ec8 | |
if (v14 > v16) { | |
char * v19 = (char *)(v1 + 40); // 0x140008fb9 | |
int64_t * v20 = (int64_t *)(v1 + 16); | |
if (*v19 != 0) { | |
// 0x140008fbe | |
_free_base((int64_t *)*v20); | |
*v19 = 0; | |
} | |
int32_t v21 = v14; | |
int64_t * v22 = _malloc_base(v21); // 0x140008fcd | |
*v20 = (int64_t)v22; | |
*v19 = (char)(v22 != NULL); | |
*v15 = v22 == NULL ? 0 : v14; | |
v18 = v21; | |
v17 = v20; | |
if (v22 == NULL) { | |
// 0x140009035 | |
return 12; | |
} | |
} else { | |
// 0x140008fb0 | |
v18 = v16; | |
v17 = (int64_t *)(v1 + 16); | |
} | |
int64_t v23 = function_14000a47c(v12, 0, v11, -1, *v17, v18); // 0x14000901e | |
if ((int32_t)v23 != 0) { | |
// 0x14000902e | |
*(int64_t *)(v1 + 32) = 0x100000000 * v23 / 0x100000000 - 1; | |
// 0x140009035 | |
return 0; | |
} | |
} | |
// 0x140008f97 | |
__acrt_errno_map_os_error((int64_t)GetLastError(), 0, v11); | |
// 0x140009035 | |
return (int64_t)*_errno(); | |
} | |
// Address range: 0x140009054 - 0x140009260 | |
int64_t function_140009054(int64_t a1, int64_t a2) { | |
// 0x140009054 | |
int64_t v1; // 0x140009054 | |
if (a2 == 0) { | |
// 0x14000907a | |
*_errno() = 22; | |
int64_t v2; // 0x140009054 | |
function_140006270(a1, a2, v2, v1); | |
// 0x140009230 | |
return 22; | |
} | |
// 0x140009090 | |
int128_t v3; // 0x140009054 | |
int128_t v4 = __asm_xorps(v3, v3); // 0x140009090 | |
int64_t * v5 = (int64_t *)a2; // 0x140009093 | |
*v5 = 0; | |
int64_t * v6; // bp-88, 0x140009054 | |
int64_t v7 = (int64_t)v6; | |
__asm_movdqu((int128_t)v7, v4); | |
int64_t v8 = v7; // 0x1400090a5 | |
int64_t v9; // 0x140009054 | |
int64_t v10; // 0x140009054 | |
if (a1 == 0) { | |
goto lab_0x1400090fd; | |
} else { | |
int64_t v11 = a1; // 0x1400090e7 | |
int64_t v12 = a1; // 0x1400090eb | |
int64_t v13 = function_1400093e8(v12, v12, (int128_t *)&v6, v1); // 0x1400090dc | |
while ((int32_t)v13 == 0) { | |
// 0x1400090e7 | |
v11 += 8; | |
v12 = *(int64_t *)v11; | |
if (v12 == 0) { | |
// 0x1400090a2 | |
v8 = (int64_t)v6; | |
goto lab_0x1400090fd; | |
} | |
v13 = function_1400093e8(v12, v12, (int128_t *)&v6, v1); | |
} | |
// 0x1400090f0 | |
v10 = v13 & 0xffffffff; | |
v9 = (int64_t)v6; | |
goto lab_0x1400091f5; | |
} | |
lab_0x1400090fd:; | |
// 0x1400090fd | |
uint64_t v14; // 0x140009054 | |
int64_t v15 = v14 - v8; // 0x140009112 | |
uint64_t v16 = v15 + 7; // 0x140009122 | |
int64_t v17 = v8; // 0x140009138 | |
int64_t v18 = 0; // 0x140009138 | |
if (v14 >= v8 && v16 >= 8) { | |
int64_t v19 = 0; // 0x140009140 | |
int64_t v20 = v19; // 0x140009147 | |
while (*(char *)(v19 + *(int64_t *)v17) != 0) { | |
// 0x140009140 | |
v19 = v20 + 1; | |
v20 = v19; | |
} | |
int64_t v21 = 1 + v19; // 0x140009150 | |
int64_t v22 = 1; // 0x140009153 | |
v17 += 8; | |
int64_t v23 = v22; // 0x140009159 | |
int64_t v24 = v21; // 0x140009159 | |
v18 = v21; | |
while (v22 != v16 / 8) { | |
// 0x14000913a | |
v19 = 0; | |
v20 = v19; | |
while (*(char *)(v19 + *(int64_t *)v17) != 0) { | |
// 0x140009140 | |
v19 = v20 + 1; | |
v20 = v19; | |
} | |
// 0x140009149 | |
v21 = v24 + 1 + v19; | |
v22 = v23 + 1; | |
v17 += 8; | |
v23 = v22; | |
v24 = v21; | |
v18 = v21; | |
} | |
} | |
int64_t v25 = v15 / 8 + 1; // 0x14000911f | |
int64_t v26 = function_140004ae8(v25, v18, 1); // 0x14000916b | |
int64_t v27 = -1; // 0x140009176 | |
if (v26 != 0) { | |
if (v14 != v8) { | |
int64_t v28 = v26 + 8 * v25; // 0x140009178 | |
int64_t v29 = v28 + v18; // 0x1400091a8 | |
int64_t v30 = v8; // 0x140009195 | |
int64_t v31 = v28; | |
int64_t v32 = *(int64_t *)v30; // 0x140009199 | |
int64_t v33 = -1; | |
int64_t v34 = v33 + 1; // 0x14000919f | |
while (*(char *)(v34 + v32) != 0) { | |
// 0x14000919f | |
v33 = v34; | |
v34 = v33 + 1; | |
} | |
int64_t v35 = v33 + 2; // 0x1400091ab | |
while ((int32_t)function_14000ed50(v31, v29 - v31, v32, v35) == 0) { | |
// 0x1400091c5 | |
*(int64_t *)(v30 + 0x100000000 * (v26 - v8) / 0x100000000) = v31; | |
v30 += 8; | |
if (v30 == v14) { | |
goto lab_0x1400091e5; | |
} | |
v31 += v35; | |
v32 = *(int64_t *)v30; | |
v33 = -1; | |
v34 = v33 + 1; | |
while (*(char *)(v34 + v32) != 0) { | |
// 0x14000919f | |
v33 = v34; | |
v34 = v33 + 1; | |
} | |
// 0x1400091a8 | |
v35 = v33 + 2; | |
} | |
// 0x140009248 | |
function_140006290(0, 0, 0, 0, 0); | |
__asm_int3(); | |
__asm_int3(); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
lab_0x1400091e5: | |
// 0x1400091e5 | |
*v5 = v26; | |
v27 = 0; | |
} | |
// 0x1400091ee | |
_free_base(NULL); | |
v10 = v27; | |
v9 = v8; | |
goto lab_0x1400091f5; | |
lab_0x1400091f5:; | |
uint64_t v36 = v14 + 7 - v9; // 0x1400091fe | |
int64_t v37 = v9; // 0x140009210 | |
if (v14 >= v9 && v36 >= 8) { | |
_free_base((int64_t *)*(int64_t *)v37); | |
int64_t v38 = 1; // 0x14000921a | |
int64_t v39 = v38; // 0x140009224 | |
v37 += 8; | |
while (v38 != v36 / 8) { | |
// 0x140009212 | |
_free_base((int64_t *)*(int64_t *)v37); | |
v38 = v39 + 1; | |
v39 = v38; | |
v37 += 8; | |
} | |
} | |
// 0x140009226 | |
_free_base((int64_t *)v9); | |
// 0x140009230 | |
return v10 & 0xffffffff; | |
} | |
// Address range: 0x140009260 - 0x1400093e8 | |
int64_t function_140009260(int64_t a1, int32_t a2, int32_t a3, int128_t * a4) { | |
int64_t v1 = -1; | |
int64_t v2 = v1 + 1; // 0x14000928e | |
while (*(char *)(v2 + a1) != 0) { | |
// 0x14000928e | |
v1 = v2; | |
v2 = v1 + 1; | |
} | |
int64_t v3 = a3; | |
uint64_t v4 = v1 + 2; // 0x14000929f | |
if (v4 > -1 - v3) { | |
// 0x1400092ad | |
return 12; | |
} | |
int64_t v5 = v3 + 1 + v4; // 0x1400092ce | |
int64_t * v6 = _calloc_base((int32_t)v5, 1); // 0x1400092d4 | |
int64_t v7 = (int64_t)v6; // 0x1400092d4 | |
if (a3 != 0) { | |
// 0x1400092e1 | |
if ((int32_t)function_14000ed50(v7, v5, (int64_t)a2, v3) != 0) { | |
// 0x1400093d2 | |
function_140006290(0, 0, 0, 0, 0); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
} | |
int64_t v8 = function_14000ed50(v7 + v3, v5 - v3, a1, v4); // 0x14000930a | |
int32_t v9 = v8; // 0x14000930f | |
if (v9 != 0) { | |
// 0x1400093d2 | |
function_140006290(0, 0, 0, 0, 0); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
int64_t v10 = (int64_t)a4; | |
int64_t * v11 = (int64_t *)(v10 + 8); // 0x140009317 | |
int64_t v12 = *v11; // 0x140009317 | |
int64_t v13 = v8 + 8; // 0x14000931b | |
int64_t v14 = v13 & 0xffffffff; // 0x14000931b | |
int64_t * v15 = (int64_t *)(v10 + 16); // 0x14000931f | |
int64_t v16 = *v15; // 0x14000931f | |
int64_t v17 = v12; // 0x140009326 | |
if (v12 != v16) { | |
goto lab_0x1400093c9; | |
} else { | |
if (v4 != 0) { | |
int64_t v18 = v16 - v4; // 0x14000935c | |
int64_t v19 = v18 / 8; // 0x140009369 | |
if (v19 < 0x7fffffffffffffff) { | |
int64_t v20 = function_14000b718(v4, 2 * v19, v14); // 0x14000937f | |
if (v20 != 0) { | |
// 0x1400093ab | |
*(int64_t *)a4 = v20; | |
*v11 = v20 + (v18 & -8); | |
*v15 = v20 + 16 * v19; | |
_free_base(NULL); | |
v17 = *v11; | |
goto lab_0x1400093c9; | |
} else { | |
// 0x140009389 | |
_free_base(NULL); | |
goto lab_0x140009390; | |
} | |
} else { | |
goto lab_0x140009390; | |
} | |
} else { | |
// 0x140009331 | |
*(int64_t *)a4 = (int64_t)_calloc_base(v9 + 4, (int32_t)v13); | |
_free_base(NULL); | |
goto lab_0x140009390; | |
} | |
} | |
lab_0x1400093c9: | |
// 0x1400093c9 | |
*(int64_t *)v17 = v7; | |
*v11 = *v11 + v14; | |
// 0x14000939d | |
_free_base(NULL); | |
// 0x1400092ad | |
return 0; | |
lab_0x140009390: | |
// 0x140009390 | |
_free_base(v6); | |
// 0x14000939d | |
_free_base(NULL); | |
// 0x1400092ad | |
return 12; | |
} | |
// Address range: 0x1400093e8 - 0x1400096f6 | |
int64_t function_1400093e8(int64_t a1, int64_t a2, int128_t * a3, int64_t a4) { | |
int64_t v1 = a2; // 0x14000942b | |
if (a2 != a1) { | |
unsigned char v2 = *(char *)a2 - 47; // 0x14000942f | |
if (v2 < 46) { | |
// 0x140009435 | |
if ((1 << (int64_t)(v2 & 63) & 0x200000000801) != 0) { | |
// break -> 0x14000944f | |
break; | |
} | |
} | |
int64_t v3 = function_14000f298(a1, a2, (int64_t)a3); // 0x140009442 | |
v1 = v3; | |
while (v3 != a1) { | |
int64_t v4 = v3; | |
v2 = *(char *)v4 - 47; | |
if (v2 < 46) { | |
// 0x140009435 | |
v1 = v4; | |
if ((1 << (int64_t)(v2 & 63) & 0x200000000801) != 0) { | |
// break -> 0x14000944f | |
break; | |
} | |
} | |
// 0x14000943f | |
v3 = function_14000f298(a1, v4, (int64_t)a3); | |
v1 = v3; | |
} | |
} | |
int64_t v5 = v1; | |
if (!((v5 == a1 + 1 | *(char *)v5 != 58))) { | |
// 0x140009461 | |
function_140009260(a1, 0, 0, a3); | |
// 0x1400096cc | |
return function_140011ed0(g29); | |
} | |
int64_t v6 = 0; // bp-712, 0x140009494 | |
int64_t v7; // bp-824, 0x1400093e8 | |
function_14000331c(&v7, 0); | |
int64_t v8; // 0x1400093e8 | |
char v9; // 0x1400093e8 | |
int64_t v10; // 0x1400093e8 | |
if (*(int32_t *)(v10 + 12) != 0xfde9) { | |
// 0x1400094ec | |
if ((int32_t)__acrt_AreFileApisANSI() != 0) { | |
// 0x140009510 | |
v8 = 0; | |
if (v9 != 0) { | |
int32_t * v11 = (int32_t *)(v7 + 936); // 0x14000951c | |
*v11 = *v11 & -3; | |
v8 = 0; | |
} | |
} else { | |
// 0x1400094f5 | |
v8 = 1; | |
if (v9 != 0) { | |
int32_t * v12 = (int32_t *)(v7 + 936); // 0x140009501 | |
*v12 = *v12 & -3; | |
v8 = 1; | |
} | |
} | |
} else { | |
// 0x1400094d4 | |
v8 = 0xfde9; | |
if (v9 != 0) { | |
int32_t * v13 = (int32_t *)(v7 + 936); // 0x1400094e0 | |
*v13 = *v13 & -3; | |
v8 = 0xfde9; | |
} | |
} | |
// 0x140009526 | |
function_140008d50(a1, &v6, v8, a4); | |
int64_t lpFindFileData; // bp-664, 0x1400093e8 | |
if (FindFirstFileExW(NULL, 0, &lpFindFileData, 0, NULL, 0) == (int64_t *)-1) { | |
// 0x14000955d | |
function_140009260(a1, 0, 0, a3); | |
// 0x1400096cc | |
return function_140011ed0(g29); | |
} | |
int64_t v14 = 0; // bp-760, 0x140009583 | |
int64_t v15; // bp-792, 0x1400093e8 | |
function_14000331c(&v15, 0); | |
int64_t v16; // bp-620, 0x1400093e8 | |
char v17; // 0x1400093e8 | |
int64_t v18; // 0x1400093e8 | |
if (*(int32_t *)(v18 + 12) == 0xfde9) { | |
// 0x1400095b2 | |
if (v17 != 0) { | |
int32_t * v19 = (int32_t *)(v15 + 936); // 0x1400095be | |
*v19 = *v19 & -3; | |
} | |
// 0x140009604 | |
function_140008ec8(&v16, &v14, 0xfde9, 0); | |
abort(); | |
// UNREACHABLE | |
} | |
// 0x1400095ca | |
int64_t v20; // 0x1400093e8 | |
if ((int32_t)__acrt_AreFileApisANSI() != 0) { | |
// 0x1400095ee | |
v20 = 0; | |
if (v17 != 0) { | |
int32_t * v21 = (int32_t *)(v15 + 936); // 0x1400095fa | |
*v21 = *v21 & -3; | |
v20 = 0; | |
} | |
} else { | |
// 0x1400095d3 | |
v20 = 1; | |
if (v17 != 0) { | |
int32_t * v22 = (int32_t *)(v15 + 936); // 0x1400095df | |
*v22 = *v22 & -3; | |
v20 = 1; | |
} | |
} | |
// 0x140009604 | |
function_140008ec8(&v16, &v14, v20, 0); | |
abort(); | |
// UNREACHABLE | |
} | |
// Address range: 0x1400096f8 - 0x1400096fd | |
int64_t function_1400096f8(int64_t a1, int64_t * a2) { | |
// 0x1400096f8 | |
return function_140009054(a1, (int64_t)a2); | |
} | |
// Address range: 0x140009700 - 0x140009811 | |
int64_t function_140009700(int64_t * a1, int64_t * a2, int32_t a3, int64_t a4) { | |
int64_t v1 = (int64_t)a2; | |
if (a1 == NULL) { | |
char * v2 = (char *)(v1 + 40); // 0x140009724 | |
if (*v2 != 0) { | |
// 0x140009729 | |
*v2 = 0; | |
} | |
// 0x14000972c | |
*(int64_t *)(v1 + 16) = 0; | |
*(int64_t *)(v1 + 24) = 0; | |
// 0x140009734 | |
*(int64_t *)(v1 + 32) = 0; | |
// 0x1400097fa | |
return 0; | |
} | |
char * v3; // 0x140009700 | |
int64_t * v4; // 0x140009700 | |
int64_t v5; // 0x140009700 | |
int64_t v6; // 0x140009700 | |
int64_t v7; // 0x140009700 | |
if ((int16_t)v6 != 0) { | |
// 0x140009772 | |
v7 = (int64_t)a1; | |
int64_t v8 = function_14000a47c(a3, 0, v7, -1, 0, 0); // 0x140009790 | |
int64_t v9 = 0x100000000 * v8 / 0x100000000; // 0x140009795 | |
v5 = v9; | |
if ((int32_t)v8 != 0) { | |
int64_t * v10 = (int64_t *)(v1 + 24); | |
uint64_t v11 = *v10; // 0x1400097b2 | |
if (v9 > v11) { | |
char * v12 = (char *)(v1 + 40); | |
v4 = v10; | |
v3 = v12; | |
if (*v12 != 0) { | |
// 0x1400097c0 | |
*v12 = 0; | |
v4 = v10; | |
v3 = v12; | |
} | |
goto lab_0x140009750; | |
} else { | |
int64_t v13 = function_14000a47c(a3, 0, v7, -1, *(int64_t *)(v1 + 16), (int32_t)v11); // 0x1400097e7 | |
v5 = 0; | |
if ((int32_t)v13 != 0) { | |
// 0x1400097f3 | |
*(int64_t *)(v1 + 32) = 0x100000000 * v13 / 0x100000000 - 1; | |
// 0x1400097fa | |
return 0; | |
} | |
goto lab_0x14000979c; | |
} | |
} else { | |
goto lab_0x14000979c; | |
} | |
} else { | |
int64_t * v14 = (int64_t *)(v1 + 24); | |
if (*v14 != 0) { | |
// 0x14000976a | |
*(char *)*(int64_t *)(v1 + 16) = 0; | |
// 0x140009734 | |
*(int64_t *)(v1 + 32) = 0; | |
// 0x1400097fa | |
return 0; | |
} | |
char * v15 = (char *)(v1 + 40); | |
v4 = v14; | |
v3 = v15; | |
if (*v15 != 0) { | |
// 0x14000974d | |
*v15 = 0; | |
v4 = v14; | |
v3 = v15; | |
} | |
goto lab_0x140009750; | |
} | |
lab_0x14000979c: | |
// 0x14000979c | |
__acrt_errno_map_os_error((int64_t)GetLastError(), v5, v7); | |
// 0x1400097fa | |
return (int64_t)*_errno(); | |
lab_0x140009750: | |
// 0x140009750 | |
*_errno() = 34; | |
*v3 = 0; | |
*v4 = 0; | |
// 0x1400097fa | |
return 34; | |
} | |
// Address range: 0x140009814 - 0x140009932 | |
int64_t function_140009814(int32_t hModule, int64_t a2, int64_t a3) { | |
// 0x140009814 | |
int64_t lpFilename; // bp-552, 0x140009814 | |
int32_t v1 = GetModuleFileNameW((int64_t *)(int64_t)hModule, (int16_t *)&lpFilename, 261); // 0x140009850 | |
if (v1 == 0) { | |
// 0x14000985a | |
__acrt_errno_map_os_error((int64_t)GetLastError(), (int64_t)&lpFilename, 261); | |
// 0x14000990e | |
return function_140011ed0(g29); | |
} | |
int64_t v2 = a2; // bp-600, 0x14000987c | |
int64_t v3; // bp-632, 0x140009814 | |
function_14000331c(&v3, 0); | |
int64_t v4; // 0x140009814 | |
char v5; // 0x140009814 | |
int64_t v6; // 0x140009814 | |
if (*(int32_t *)(v6 + 12) == 0xfde9) { | |
// 0x1400098ad | |
if (v5 != 0) { | |
int32_t * v7 = (int32_t *)(v3 + 936); // 0x1400098b9 | |
*v7 = *v7 & -3; | |
} | |
// 0x1400098fb | |
function_140009700(&lpFilename, &v2, 0xfde9, v4); | |
// 0x14000990e | |
return function_140011ed0(g29); | |
} | |
int64_t v8 = __acrt_AreFileApisANSI(); // 0x1400098c2 | |
int32_t v9; // 0x140009814 | |
if ((int32_t)v8 != 0) { | |
// 0x1400098e5 | |
v9 = 0; | |
if (v5 != 0) { | |
int32_t * v10 = (int32_t *)(v3 + 936); // 0x1400098f1 | |
*v10 = *v10 & -3; | |
v9 = 0; | |
} | |
} else { | |
// 0x1400098cb | |
v9 = 1; | |
if (v5 != (char)v8) { | |
int32_t * v11 = (int32_t *)(v3 + 936); // 0x1400098d6 | |
*v11 = *v11 & -3; | |
v9 = 1; | |
} | |
} | |
// 0x1400098fb | |
function_140009700(&lpFilename, &v2, v9, v4); | |
// 0x14000990e | |
return function_140011ed0(g29); | |
} | |
// Address range: 0x140009934 - 0x140009aee | |
int64_t function_140009934(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t a6, int64_t * a7, int64_t * a8) { | |
int64_t v1 = (int64_t)a4; | |
int64_t v2 = v1; | |
int64_t v3 = (int64_t)a3; | |
int64_t v4 = (int64_t)a2; | |
__acrt_lock((int32_t)v4); | |
int64_t v5 = (int64_t)g91; // 0x140009962 | |
int64_t v6 = v4; // 0x14000996c | |
int64_t v7 = v3; // 0x14000996c | |
if (g91 == NULL) { | |
goto lab_0x1400099dd; | |
} else { | |
int64_t v8 = *(int64_t *)(v3 + 136) + 24; // 0x14000995e | |
if (v8 == 0) { | |
// 0x1400099d0 | |
function_140001e50((int64_t *)g91, 0, 257, v1); | |
v6 = 0; | |
v7 = 257; | |
goto lab_0x1400099dd; | |
} else { | |
// 0x140009973 | |
v2 = 2; | |
int64_t v9 = 2; // 0x14000997c | |
__asm_movups_10(*(int128_t *)v5, __asm_movups(*(int128_t *)v8)); | |
__asm_movups_10(*(int128_t *)(v5 + 16), __asm_movups(*(int128_t *)(v8 + 16))); | |
__asm_movups_10(*(int128_t *)(v5 + 32), __asm_movups(*(int128_t *)(v8 + 32))); | |
__asm_movups_10(*(int128_t *)(v5 + 48), __asm_movups(*(int128_t *)(v8 + 48))); | |
__asm_movups_10(*(int128_t *)(v5 + 64), __asm_movups(*(int128_t *)(v8 + 64))); | |
__asm_movups_10(*(int128_t *)(v5 + 80), __asm_movups(*(int128_t *)(v8 + 80))); | |
__asm_movups_10(*(int128_t *)(v5 + 96), __asm_movups(*(int128_t *)(v8 + 96))); | |
int64_t v10 = v5 + 128; // 0x1400099b6 | |
__asm_movups_10(*(int128_t *)(v5 + 112), __asm_movups(*(int128_t *)(v8 + 112))); | |
int64_t v11 = v8 + 128; // 0x1400099c1 | |
v9--; | |
int64_t v12 = v11; // 0x1400099c8 | |
int64_t v13 = v10; // 0x1400099c8 | |
while (v9 != 0) { | |
// 0x140009980 | |
__asm_movups_10(*(int128_t *)v13, __asm_movups(*(int128_t *)v12)); | |
int128_t v14 = __asm_movups(*(int128_t *)(v12 + 16)); // 0x140009986 | |
__asm_movups_10(*(int128_t *)(v13 + 16), v14); | |
int128_t v15 = __asm_movups(*(int128_t *)(v12 + 32)); // 0x14000998e | |
__asm_movups_10(*(int128_t *)(v13 + 32), v15); | |
int128_t v16 = __asm_movups(*(int128_t *)(v12 + 48)); // 0x140009996 | |
__asm_movups_10(*(int128_t *)(v13 + 48), v16); | |
int128_t v17 = __asm_movups(*(int128_t *)(v12 + 64)); // 0x14000999e | |
__asm_movups_10(*(int128_t *)(v13 + 64), v17); | |
int128_t v18 = __asm_movups(*(int128_t *)(v12 + 80)); // 0x1400099a6 | |
__asm_movups_10(*(int128_t *)(v13 + 80), v18); | |
int128_t v19 = __asm_movups(*(int128_t *)(v12 + 96)); // 0x1400099ae | |
__asm_movups_10(*(int128_t *)(v13 + 96), v19); | |
v10 = v13 + 128; | |
int128_t v20 = __asm_movups(*(int128_t *)(v12 + 112)); // 0x1400099b9 | |
__asm_movups_10(*(int128_t *)(v13 + 112), v20); | |
v11 = v12 + 128; | |
v9--; | |
v12 = v11; | |
v13 = v10; | |
} | |
// 0x1400099ca | |
v2 = 0; | |
*(char *)v10 = *(char *)v11; | |
goto lab_0x1400099f7; | |
} | |
} | |
lab_0x1400099dd: | |
// 0x1400099dd | |
*_errno() = 22; | |
function_140006270(v5, v6, v7, v1); | |
goto lab_0x1400099f7; | |
lab_0x1400099f7:; | |
int64_t v21 = (int64_t)g92; // 0x140009a0a | |
int64_t v22; // 0x140009934 | |
int64_t v23; // 0x140009934 | |
int64_t v24; // 0x140009934 | |
int64_t v25; // 0x140009a6f | |
if (g92 == NULL) { | |
// 0x1400099f7 | |
v25 = v2; | |
v22 = 128; | |
v23 = 2; | |
goto lab_0x140009a74; | |
} else { | |
int64_t v26 = *(int64_t *)138 + 281; // 0x140009a04 | |
int64_t v27 = v26; // 0x140009a19 | |
int64_t v28 = v21; // 0x140009a19 | |
if (v26 == 0) { | |
// 0x140009a67 | |
v25 = v2; | |
function_140001e50((int64_t *)g92, 0, 256, v25); | |
v22 = 0; | |
v23 = 256; | |
goto lab_0x140009a74; | |
} else { | |
__asm_movups_10(*(int128_t *)v28, __asm_movups(*(int128_t *)v27)); | |
int128_t v29 = __asm_movups(*(int128_t *)(v27 + 16)); // 0x140009a21 | |
__asm_movups_10(*(int128_t *)(v28 + 16), v29); | |
int128_t v30 = __asm_movups(*(int128_t *)(v27 + 32)); // 0x140009a29 | |
__asm_movups_10(*(int128_t *)(v28 + 32), v30); | |
int128_t v31 = __asm_movups(*(int128_t *)(v27 + 48)); // 0x140009a31 | |
__asm_movups_10(*(int128_t *)(v28 + 48), v31); | |
int128_t v32 = __asm_movups(*(int128_t *)(v27 + 64)); // 0x140009a39 | |
__asm_movups_10(*(int128_t *)(v28 + 64), v32); | |
int128_t v33 = __asm_movups(*(int128_t *)(v27 + 80)); // 0x140009a41 | |
__asm_movups_10(*(int128_t *)(v28 + 80), v33); | |
int128_t v34 = __asm_movups(*(int128_t *)(v27 + 96)); // 0x140009a49 | |
__asm_movups_10(*(int128_t *)(v28 + 96), v34); | |
int128_t v35 = __asm_movups(*(int128_t *)(v27 + 112)); // 0x140009a54 | |
__asm_movups_10(*(int128_t *)(v28 + 112), v35); | |
int64_t v36 = 1; // 0x140009a5f | |
v27 += 128; | |
v28 += 128; | |
int64_t v37 = v36; // 0x140009a63 | |
v24 = 0; | |
while (v36 != 0) { | |
// 0x140009a1b | |
__asm_movups_10(*(int128_t *)v28, __asm_movups(*(int128_t *)v27)); | |
v29 = __asm_movups(*(int128_t *)(v27 + 16)); | |
__asm_movups_10(*(int128_t *)(v28 + 16), v29); | |
v30 = __asm_movups(*(int128_t *)(v27 + 32)); | |
__asm_movups_10(*(int128_t *)(v28 + 32), v30); | |
v31 = __asm_movups(*(int128_t *)(v27 + 48)); | |
__asm_movups_10(*(int128_t *)(v28 + 48), v31); | |
v32 = __asm_movups(*(int128_t *)(v27 + 64)); | |
__asm_movups_10(*(int128_t *)(v28 + 64), v32); | |
v33 = __asm_movups(*(int128_t *)(v27 + 80)); | |
__asm_movups_10(*(int128_t *)(v28 + 80), v33); | |
v34 = __asm_movups(*(int128_t *)(v27 + 96)); | |
__asm_movups_10(*(int128_t *)(v28 + 96), v34); | |
v35 = __asm_movups(*(int128_t *)(v27 + 112)); | |
__asm_movups_10(*(int128_t *)(v28 + 112), v35); | |
v36 = v37 - 1; | |
v27 += 128; | |
v28 += 128; | |
v37 = v36; | |
v24 = 0; | |
} | |
goto lab_0x140009a84; | |
} | |
} | |
lab_0x140009a74: | |
// 0x140009a74 | |
*_errno() = 22; | |
function_140006270(v21, v22, v23, v25); | |
v24 = v23; | |
goto lab_0x140009a84; | |
lab_0x140009a84:; | |
int64_t * v38 = (int64_t *)(v3 + 8); // 0x140009a84 | |
int32_t * v39 = (int32_t *)*(int64_t *)*(int64_t *)*v38; // 0x140009a91 | |
int32_t v40 = *v39; // 0x140009a91 | |
*v39 = v40 - 1; | |
if (v40 == 1) { | |
int64_t v41 = *(int64_t *)*(int64_t *)*v38; // 0x140009aa8 | |
if (v41 != (int64_t)&g39) { | |
// 0x140009aad | |
_free_base((int64_t *)v41); | |
} | |
} | |
int64_t * v42 = (int64_t *)(v24 + 136); // 0x140009ac2 | |
*(int64_t *)*(int64_t *)*v38 = *v42; | |
int32_t * v43 = (int32_t *)*v42; // 0x140009ad9 | |
*v43 = *v43 + 1; | |
return __acrt_lock2(*(int32_t *)&v2, v24); | |
} | |
// Address range: 0x140009c00 - 0x140009de1 | |
int64_t function_140009c00(int64_t a1) { | |
int32_t * v1 = (int32_t *)(a1 + 4); // 0x140009c2e | |
int32_t CodePage = *v1; // 0x140009c2e | |
if (CodePage != 0xfde9) { | |
// 0x140009c3d | |
int64_t lpCPInfo; // bp-1848, 0x140009c00 | |
if (GetCPInfo(CodePage, (struct _cpinfo *)&lpCPInfo)) { | |
// 0x140009c50 | |
int64_t v2; // bp-1672, 0x140009c00 | |
int64_t v3 = &v2; // 0x140009c0b | |
int64_t v4 = 0; // 0x140009c57 | |
int64_t v5; // bp-1816, 0x140009c00 | |
int64_t v6 = &v5; // 0x140009c57 | |
*(char *)v6 = (char)v4; | |
int64_t v7 = v4 + 1; // 0x140009c5e | |
v4 = v7 & 0xffffffff; | |
v6++; | |
while ((int32_t)v7 < 256) { | |
// 0x140009c5c | |
*(char *)v6 = (char)v4; | |
v7 = v4 + 1; | |
v4 = v7 & 0xffffffff; | |
v6++; | |
} | |
// 0x140009c67 | |
v5 = 32; | |
char v8; // bp-1842, 0x140009c00 | |
if (v8 != 0) { | |
int64_t v9 = &v8; // 0x140009c91 | |
unsigned char v10 = *(char *)(v9 + 1); // 0x140009c77 | |
int64_t v11; // bp-1928, 0x140009c00 | |
int64_t v12; // 0x140009c00 | |
int64_t v13; // 0x140009c8a | |
uint32_t v14; // 0x140009c8c | |
if (v8 <= v10) { | |
// 0x140009c85 | |
v12 = v8; | |
*(char *)((int64_t)&v11 + 112 + v12) = 32; | |
v13 = v12 + 1; | |
v14 = (int32_t)v13; | |
v12 = v13 & 0xffffffff; | |
while (v14 <= (int32_t)v10 && v14 < 256) { | |
// 0x140009c85 | |
*(char *)((int64_t)&v11 + 112 + v12) = 32; | |
v13 = v12 + 1; | |
v14 = (int32_t)v13; | |
v12 = v13 & 0xffffffff; | |
} | |
} | |
// 0x140009c91 | |
v9 += 2; | |
char v15 = *(char *)v9; // 0x140009c95 | |
while (v15 != 0) { | |
unsigned char v16 = v15; | |
v10 = *(char *)(v9 + 1); | |
if (v16 <= v10) { | |
// 0x140009c85 | |
v12 = v16; | |
*(char *)((int64_t)&v11 + 112 + v12) = 32; | |
v13 = v12 + 1; | |
v14 = (int32_t)v13; | |
v12 = v13 & 0xffffffff; | |
while (v14 <= (int32_t)v10 && v14 < 256) { | |
// 0x140009c85 | |
*(char *)((int64_t)&v11 + 112 + v12) = 32; | |
v13 = v12 + 1; | |
v14 = (int32_t)v13; | |
v12 = v13 & 0xffffffff; | |
} | |
} | |
// 0x140009c91 | |
v9 += 2; | |
v15 = *(char *)v9; | |
} | |
} | |
// 0x140009c9b | |
int64_t v17; // bp-1048, 0x140009c00 | |
function_14000b17c(0, 1, &v5, 256, &v17, (int64_t)*v1, 0); | |
int32_t v18 = *v1; // 0x140009cd1 | |
int64_t * v19 = (int64_t *)(a1 + 544); // 0x140009cd7 | |
int64_t v20 = *v19; // 0x140009cd7 | |
int64_t v21; // bp-1560, 0x140009c00 | |
__acrt_LCMapStringA(0, v20, 256, &v5, 256, &v21, 256, (int64_t)v18, 0); | |
int32_t v22 = *v1; // 0x140009d04 | |
int64_t v23 = *v19; // 0x140009d0d | |
int64_t v24; // bp-1304, 0x140009c00 | |
__acrt_LCMapStringA(0, v23, 512, &v5, 256, &v24, 256, (int64_t)v22, 0); | |
int64_t v25 = a1 + 24; | |
int64_t v26 = &v17; // 0x140009d38 | |
int64_t v27 = 256; // 0x140009d38 | |
int64_t v28 = 1; | |
char v29 = *(char *)v26; // 0x140009d3f | |
char v30; // 0x140009c00 | |
char * v31; // 0x140009d44 | |
char * v32; // 0x140009d54 | |
if ((v29 & 1) == 0) { | |
// 0x140009d4f | |
v30 = 0; | |
if ((v29 & 2) != 0) { | |
// 0x140009d54 | |
v32 = (char *)(v28 + v25); | |
*v32 = *v32 | 32; | |
v30 = *(char *)(v28 + v3 + 367); | |
} | |
} else { | |
// 0x140009d44 | |
v31 = (char *)(v28 + v25); | |
*v31 = *v31 | 16; | |
v30 = *(char *)(v28 + v3 + 111); | |
} | |
// 0x140009d64 | |
*(char *)(a1 + 280 + v28) = v30; | |
v27--; | |
int64_t v33 = v28 + 1; // 0x140009d76 | |
v26 += 2; | |
while (v27 != 0) { | |
// 0x140009d3f | |
v28 = v33; | |
v29 = *(char *)v26; | |
if ((v29 & 1) == 0) { | |
// 0x140009d4f | |
v30 = 0; | |
if ((v29 & 2) != 0) { | |
// 0x140009d54 | |
v32 = (char *)(v28 + v25); | |
*v32 = *v32 | 32; | |
v30 = *(char *)(v28 + v3 + 367); | |
} | |
} else { | |
// 0x140009d44 | |
v31 = (char *)(v28 + v25); | |
*v31 = *v31 | 16; | |
v30 = *(char *)(v28 + v3 + 111); | |
} | |
// 0x140009d64 | |
*(char *)(a1 + 280 + v28) = v30; | |
v27--; | |
v33 = v28 + 1; | |
v26 += 2; | |
} | |
// 0x140009dbd | |
return function_140011ed0(g29); | |
} | |
} | |
int64_t v34 = a1 + 24; | |
int64_t v35 = 0; | |
int64_t v36 = 1; | |
int32_t v37 = v35; | |
int64_t v38; // 0x140009c00 | |
char * v39; // 0x140009d91 | |
char * v40; // 0x140009da1 | |
if (v37 < 91) { | |
// 0x140009d91 | |
v39 = (char *)(v36 + v34); | |
*v39 = *v39 | 16; | |
v38 = v35 + 32 & 0xffffffff; | |
} else { | |
// 0x140009d9b | |
v38 = 0; | |
if (v37 < 123) { | |
// 0x140009da1 | |
v40 = (char *)(v36 + v34); | |
*v40 = *v40 | 32; | |
v38 = v35 + 0xffffffe0 & 0xffffffff; | |
} | |
} | |
// 0x140009dad | |
*(char *)(a1 + 280 + v36) = (char)v38; | |
int64_t v41 = v35 + 1; // 0x140009db4 | |
int64_t v42 = v36 + 1; // 0x140009dbb | |
while ((int32_t)v41 < 256) { | |
// 0x140009d84 | |
v35 = v41 & 0xffffffff; | |
v36 = v42; | |
v37 = v35; | |
if (v37 < 91) { | |
// 0x140009d91 | |
v39 = (char *)(v36 + v34); | |
*v39 = *v39 | 16; | |
v38 = v35 + 32 & 0xffffffff; | |
} else { | |
// 0x140009d9b | |
v38 = 0; | |
if (v37 < 123) { | |
// 0x140009da1 | |
v40 = (char *)(v36 + v34); | |
*v40 = *v40 | 32; | |
v38 = v35 + 0xffffffe0 & 0xffffffff; | |
} | |
} | |
// 0x140009dad | |
*(char *)(a1 + 280 + v36) = (char)v38; | |
v41 = v35 + 1; | |
v42 = v36 + 1; | |
} | |
// 0x140009dbd | |
return function_140011ed0(g29); | |
} | |
// Address range: 0x140009de4 - 0x140009fa2 | |
int64_t function_140009de4(int64_t a1, int64_t a2, int64_t a3, int64_t a4) { | |
int64_t v1 = a4; // bp+32, 0x140009de9 | |
int64_t v2 = a3; // bp+24, 0x140009dee | |
function_140009fa4(a3, a4); | |
_3f_getSystemCP_40__40_YAHH_40_Z((int32_t)&g113); | |
int64_t * v3 = (int64_t *)(a3 + 136); | |
if (*(int32_t *)(*v3 + 4) == (int32_t)&g113) { | |
// 0x140009ee6 | |
return 0; | |
} | |
int64_t * v4 = _malloc_base(552); // 0x140009e33 | |
int64_t * v5 = NULL; // 0x140009e3e | |
int64_t result = 0xffffffff; // 0x140009e3e | |
if (v4 != NULL) { | |
int64_t v6 = (int64_t)v4; // 0x140009e33 | |
int64_t v7 = 4; // 0x140009e57 | |
int64_t v8 = v6; | |
int64_t v9 = *v3; | |
__asm_movups_10(*(int128_t *)v8, __asm_movups(*(int128_t *)v9)); | |
int128_t v10 = __asm_movups(*(int128_t *)(v9 + 16)); // 0x140009e61 | |
__asm_movups_10(*(int128_t *)(v8 + 16), v10); | |
int128_t v11 = __asm_movups(*(int128_t *)(v9 + 32)); // 0x140009e69 | |
__asm_movups_10(*(int128_t *)(v8 + 32), v11); | |
int128_t v12 = __asm_movups(*(int128_t *)(v9 + 48)); // 0x140009e71 | |
__asm_movups_10(*(int128_t *)(v8 + 48), v12); | |
int128_t v13 = __asm_movups(*(int128_t *)(v9 + 64)); // 0x140009e79 | |
__asm_movups_10(*(int128_t *)(v8 + 64), v13); | |
int128_t v14 = __asm_movups(*(int128_t *)(v9 + 80)); // 0x140009e81 | |
__asm_movups_10(*(int128_t *)(v8 + 80), v14); | |
int128_t v15 = __asm_movups(*(int128_t *)(v9 + 96)); // 0x140009e89 | |
__asm_movups_10(*(int128_t *)(v8 + 96), v15); | |
int64_t v16 = v8 + 128; // 0x140009e91 | |
int128_t v17 = __asm_movups(*(int128_t *)(v9 + 112)); // 0x140009e94 | |
int64_t v18 = v9 + 128; // 0x140009e98 | |
__asm_movups_10(*(int128_t *)(v8 + 112), v17); | |
v7--; | |
while (v7 != 0) { | |
// 0x140009e5b | |
v8 = v16; | |
v9 = v18; | |
__asm_movups_10(*(int128_t *)v8, __asm_movups(*(int128_t *)v9)); | |
v10 = __asm_movups(*(int128_t *)(v9 + 16)); | |
__asm_movups_10(*(int128_t *)(v8 + 16), v10); | |
v11 = __asm_movups(*(int128_t *)(v9 + 32)); | |
__asm_movups_10(*(int128_t *)(v8 + 32), v11); | |
v12 = __asm_movups(*(int128_t *)(v9 + 48)); | |
__asm_movups_10(*(int128_t *)(v8 + 48), v12); | |
v13 = __asm_movups(*(int128_t *)(v9 + 64)); | |
__asm_movups_10(*(int128_t *)(v8 + 64), v13); | |
v14 = __asm_movups(*(int128_t *)(v9 + 80)); | |
__asm_movups_10(*(int128_t *)(v8 + 80), v14); | |
v15 = __asm_movups(*(int128_t *)(v9 + 96)); | |
__asm_movups_10(*(int128_t *)(v8 + 96), v15); | |
v16 = v8 + 128; | |
v17 = __asm_movups(*(int128_t *)(v9 + 112)); | |
v18 = v9 + 128; | |
__asm_movups_10(*(int128_t *)(v8 + 112), v17); | |
v7--; | |
} | |
// 0x140009ea5 | |
__asm_movups_10(*(int128_t *)v16, __asm_movups(*(int128_t *)v18)); | |
int128_t v19 = __asm_movups(*(int128_t *)(v9 + 144)); // 0x140009eab | |
__asm_movups_10(*(int128_t *)(v8 + 144), v19); | |
*(int64_t *)(v8 + 160) = *(int64_t *)(v9 + 160); | |
*(int32_t *)v4 = 0; | |
int64_t v20 = function_14000a0d8((int64_t)(int32_t)&g113, v6); // 0x140009ec2 | |
if ((int32_t)v20 != -1) { | |
if ((char)a2 == 0) { | |
// 0x140009ef8 | |
function_1400054d4(); | |
} | |
int32_t * v21 = (int32_t *)*(int64_t *)(v2 + 136); // 0x140009f0b | |
int32_t v22 = *v21; // 0x140009f0b | |
*v21 = v22 - 1; | |
if (v22 == 1) { | |
int64_t v23 = *(int64_t *)(v2 + 136); // 0x140009f18 | |
if (v23 != (int64_t)&g39) { | |
// 0x140009f2b | |
_free_base((int64_t *)v23); | |
} | |
} | |
int64_t v24 = v20 & 0xffffffff; // 0x140009ec7 | |
*(int32_t *)v4 = 1; | |
*(int64_t *)(v2 + 136) = v6; | |
v5 = NULL; | |
result = v24; | |
if ((g43 & *(int32_t *)(v2 + 936)) == 0) { | |
int64_t v25 = &v2; // bp-40, 0x140009f5c | |
int64_t v26 = 5; // bp-52, 0x140009f77 | |
int64_t v27 = 5; // bp-48, 0x140009f7e | |
int64_t v28; // bp-56, 0x140009de4 | |
function_140009934(&v28, &v27, &v25, &v26, 5, 5, &v2, &v1); | |
v5 = NULL; | |
result = v24; | |
if ((char)a2 != 0) { | |
// 0x140009f8f | |
*(int64_t *)&g38 = (int64_t)&v26; | |
v5 = NULL; | |
result = v24; | |
} | |
} | |
} else { | |
// 0x140009ece | |
*_errno() = 22; | |
v5 = v4; | |
result = 0xffffffff; | |
} | |
} | |
// 0x140009edc | |
_free_base(v5); | |
// 0x140009ee6 | |
return result; | |
} | |
// Address range: 0x140009fa4 - 0x14000a05c | |
int64_t function_140009fa4(int64_t a1, int64_t a2) { | |
int64_t v1 = a2; | |
int64_t result; // 0x140009fa4 | |
if ((*(int32_t *)(a1 + 936) & g43) == 0) { | |
goto lab_0x140009fda; | |
} else { | |
// 0x140009fc7 | |
if (*(int64_t *)(a1 + 144) == 0) { | |
goto lab_0x140009fda; | |
} else { | |
// 0x140009fd1 | |
result = *(int64_t *)(a1 + 136); | |
goto lab_0x14000a03e; | |
} | |
} | |
lab_0x140009fda: | |
// 0x140009fda | |
__acrt_lock(5); | |
int64_t * v2 = (int64_t *)(a1 + 136); // 0x140009fe5 | |
int64_t v3 = *v2; // 0x140009fe5 | |
int64_t v4 = a2; // 0x140009ff4 | |
int64_t v5 = a2; // 0x140009ff4 | |
if (v3 != a2) { | |
if (v3 != 0) { | |
int32_t * v6 = (int32_t *)v3; // 0x140009ffe | |
int32_t v7 = *v6; // 0x140009ffe | |
*v6 = v7 - 1; | |
if (v3 != (int64_t)&g39 && v7 == 1) { | |
// 0x14000a018 | |
_free_base((int64_t *)v3); | |
} | |
} | |
// 0x14000a01d | |
*v2 = v1; | |
*(int32_t *)v1 = *(int32_t *)&v1 + 1; | |
v4 = v1; | |
v5 = v1; | |
} | |
// 0x14000a034 | |
__acrt_lock2(5, v4); | |
result = v5; | |
goto lab_0x14000a03e; | |
lab_0x14000a03e: | |
// 0x14000a03e | |
if (result == 0) { | |
// 0x14000a056 | |
return function_140005bc0(); | |
} | |
// 0x14000a043 | |
return result; | |
} | |
// Address range: 0x14000a0bc - 0x14000a0d8 | |
int64_t function_14000a0bc(void) { | |
int64_t v1 = function_140007b44(); // 0x14000a0c0 | |
return function_140009fa4(v1, (int64_t)&g93); | |
} | |
// Address range: 0x14000a0d8 - 0x14000a391 | |
int64_t function_14000a0d8(int64_t a1, int64_t a2) { | |
// 0x14000a0d8 | |
int64_t v1; // bp-120, 0x14000a0d8 | |
_3f_getSystemCP_40__40_YAHH_40_Z((int32_t)(g29 ^ (int64_t)&v1)); | |
int64_t v2 = (int64_t)&g41; // 0x14000a109 | |
if (((int32_t)&g113 & (int32_t)&g113) == 0) { | |
lab_0x14000a362: | |
// 0x14000a362 | |
_3f_setSBCS_40__40_YAXPEAU__crt_multibyte_data_40__40__40_Z((int64_t *)&g113); | |
// 0x14000a36c | |
return function_140011ed0(g29); | |
} | |
int64_t v3 = 0; | |
int64_t v4; // 0x14000a0d8 | |
int32_t v5; // 0x14000a0d8 | |
int64_t v6; // 0x14000a0d8 | |
int64_t v7; // 0x14000a0d8 | |
int64_t v8; // 0x14000a0d8 | |
int64_t v9; // 0x14000a0d8 | |
int32_t * v10; // 0x14000a1b3 | |
int64_t * v11; // 0x14000a1b6 | |
while (*(int32_t *)v2 != (int32_t)&g113) { | |
int64_t v12 = v3 + 1; // 0x14000a127 | |
v2 += 48; | |
if ((int32_t)v12 >= 5) { | |
if ((int32_t)&g113 == 0xfde8) { | |
return function_140011ed0(g29); | |
} else { | |
// 0x14000a140 | |
if (!IsValidCodePage((int32_t)&g113 & 0xffff)) { | |
return function_140011ed0(g29); | |
} else { | |
if ((int32_t)&g113 != 0xfde9) { | |
// 0x14000a188 | |
int32_t lpCPInfo; // bp-88, 0x14000a0d8 | |
if (!GetCPInfo((int32_t)&g113, (struct _cpinfo *)&lpCPInfo)) { | |
// 0x14000a261 | |
if (g94 != 0) { | |
goto lab_0x14000a362; | |
} else { | |
return function_140011ed0(g29); | |
} | |
} else { | |
// 0x14000a19d | |
v9 = a2 + 24; | |
function_140001e50((int64_t *)v9, 0, 257, v8); | |
v10 = (int32_t *)(a2 + 4); | |
*v10 = (int32_t)&g113; | |
v11 = (int64_t *)(a2 + 544); | |
*v11 = 0; | |
v5 = 0; | |
if (lpCPInfo != 2) { | |
goto lab_0x14000a259; | |
} else { | |
char v13; // 0x14000a0d8 | |
if (v13 == 0) { | |
// 0x14000a1fa | |
v4 = a2 + 26; | |
v7 = 254; | |
goto lab_0x14000a203; | |
} else { | |
// 0x14000a1ce | |
char v14; // bp-82, 0x14000a0d8 | |
v6 = &v14; | |
goto lab_0x14000a1ce_2; | |
} | |
} | |
} | |
} else { | |
// 0x14000a15a | |
*(int64_t *)(a2 + 4) = 0xfde9; | |
*(int64_t *)(a2 + 544) = 0; | |
*(int32_t *)(a2 + 24) = 0; | |
*(int16_t *)(a2 + 28) = 0; | |
// 0x14000a16c | |
__asm_rep_stosd_memset((char *)(a2 + 12), 0, 6); | |
goto lab_0x14000a17b; | |
} | |
} | |
} | |
} | |
v3 = v12 & 0xffffffff; | |
} | |
int64_t v15 = a2 + 24; | |
function_140001e50((int64_t *)v15, 0, 257, v8); | |
int64_t v16 = 48 * v3; // 0x14000a29e | |
int64_t v17 = (int64_t)&g40; | |
int64_t v18 = v16 + (int64_t)&g42; | |
char v19 = *(char *)v18; // 0x14000a2a8 | |
unsigned char v20; // 0x14000a2b2 | |
int64_t v21; // 0x14000a0d8 | |
int64_t v22; // 0x14000a0d8 | |
int64_t v23; // 0x14000a0d8 | |
int64_t v24; // 0x14000a0d8 | |
char * v25; // 0x14000a0d8 | |
char * v26; // 0x14000a2ad | |
unsigned char v27; // 0x14000a2ad | |
int64_t v28; // 0x14000a2e3 | |
char v29; // 0x14000a2e7 | |
int64_t v30; // 0x14000a2b2 | |
int64_t v31; // 0x14000a2cf | |
char * v32; // 0x14000a2d2 | |
if (v19 != 0) { | |
// 0x14000a2ad | |
v25 = (char *)v17; | |
v29 = v19; | |
v24 = v18; | |
v26 = (char *)(v24 + 1); | |
v27 = *v26; | |
while (v27 != 0) { | |
// 0x14000a2b2 | |
v20 = v29; | |
if (v20 <= v27) { | |
// 0x14000a2bf | |
v30 = v20; | |
v23 = v30; | |
v22 = v30 + 1; | |
while ((int32_t)v22 < 257) { | |
// 0x14000a2cc | |
v31 = v23 + 1; | |
v32 = (char *)(v22 + v15); | |
*v32 = *v32 | *v25; | |
v23 = v31 & 0xffffffff; | |
v21 = v22 + 1 & 0xffffffff; | |
if ((int32_t)v31 > (int32_t)*v26) { | |
// break -> 0x14000a2e3 | |
break; | |
} | |
v22 = v21; | |
} | |
} | |
// 0x14000a2e3 | |
v28 = v24 + 2; | |
v29 = *(char *)v28; | |
if (v29 == 0) { | |
// break -> 0x14000a2eb | |
break; | |
} | |
v24 = v28; | |
v26 = (char *)(v24 + 1); | |
v27 = *v26; | |
} | |
} | |
int64_t v33 = v17 + 1; // 0x14000a2ef | |
int64_t v34 = v18 + 8; // 0x14000a2f5 | |
while ((int32_t)v33 != (int32_t)&g40 + 4) { | |
// 0x14000a2a5 | |
v17 = v33; | |
v18 = v34; | |
v19 = *(char *)v18; | |
if (v19 != 0) { | |
// 0x14000a2ad | |
v25 = (char *)v17; | |
v29 = v19; | |
v24 = v18; | |
v26 = (char *)(v24 + 1); | |
v27 = *v26; | |
while (v27 != 0) { | |
// 0x14000a2b2 | |
v20 = v29; | |
if (v20 <= v27) { | |
// 0x14000a2bf | |
v30 = v20; | |
v23 = v30; | |
v22 = v30 + 1; | |
while ((int32_t)v22 < 257) { | |
// 0x14000a2cc | |
v31 = v23 + 1; | |
v32 = (char *)(v22 + v15); | |
*v32 = *v32 | *v25; | |
v23 = v31 & 0xffffffff; | |
v21 = v22 + 1 & 0xffffffff; | |
if ((int32_t)v31 > (int32_t)*v26) { | |
// break -> 0x14000a2e3 | |
break; | |
} | |
v22 = v21; | |
} | |
} | |
// 0x14000a2e3 | |
v28 = v24 + 2; | |
v29 = *(char *)v28; | |
if (v29 == 0) { | |
// break -> 0x14000a2eb | |
break; | |
} | |
v24 = v28; | |
v26 = (char *)(v24 + 1); | |
v27 = *v26; | |
} | |
} | |
// 0x14000a2eb | |
v33 = v17 + 1; | |
v34 = v18 + 8; | |
} | |
// 0x14000a2f7 | |
*(int32_t *)(a2 + 4) = (int32_t)&g113; | |
*(int32_t *)(a2 + 8) = 1; | |
*(int64_t *)(a2 + 544) = (int32_t)&g113 == 932 | (int32_t)&g113 == 936 | (int32_t)&g113 == 949 ? (int32_t)&g113 == 932 | (int32_t)&g113 == 936 ? (int32_t)&g113 == 932 ? (int64_t)L"ja-JP" : (int64_t)L"zh-CN" : (int64_t)L"ko-KR" : (int32_t)&g113 != 950 ? 0 : (int64_t)L"zh-TW"; | |
int64_t v35 = (int64_t)&g41 - 8 - a2 + v16; // 0x14000a34c | |
int64_t v36 = 6; // 0x14000a348 | |
int64_t v37 = a2 + 12; | |
*(int16_t *)v37 = *(int16_t *)(v35 + v37); | |
v36--; | |
int64_t v38 = v37 + 2; // 0x14000a35b | |
while (v36 != 0) { | |
// 0x14000a34c | |
v37 = v38; | |
*(int16_t *)v37 = *(int16_t *)(v35 + v37); | |
v36--; | |
v38 = v37 + 2; | |
} | |
lab_0x14000a17b: | |
// 0x14000a17b | |
function_140009c00(a2); | |
// 0x14000a36c | |
return function_140011ed0(g29); | |
lab_0x14000a259: | |
// 0x14000a259 | |
*(int32_t *)(a2 + 8) = v5; | |
// 0x14000a16c | |
__asm_rep_stosd_memset((char *)(a2 + 12), 0, 6); | |
goto lab_0x14000a17b; | |
lab_0x14000a203:; | |
char * v39 = (char *)v4; // 0x14000a203 | |
*v39 = *v39 | 8; | |
int64_t v40 = v7 - 1; // 0x14000a209 | |
v4++; | |
v7 = v40; | |
int64_t v41; // 0x14000a0d8 | |
if (v40 != 0) { | |
goto lab_0x14000a203; | |
} else { | |
// 0x14000a20e | |
v41 = (int64_t)L"zh-CN"; | |
switch (*v10) { | |
case 932: { | |
// 0x14000a247 | |
v41 = (int64_t)L"ja-JP"; | |
goto lab_0x14000a24e; | |
} | |
case 936: { | |
goto lab_0x14000a24e; | |
} | |
case 949: { | |
// 0x14000a235 | |
v41 = (int64_t)L"ko-KR"; | |
goto lab_0x14000a24e; | |
} | |
case 950: { | |
// 0x14000a22c | |
v41 = (int64_t)L"zh-TW"; | |
goto lab_0x14000a24e; | |
} | |
default: { | |
// 0x14000a24e | |
v41 = 0; | |
goto lab_0x14000a24e; | |
} | |
} | |
} | |
lab_0x14000a1ce_2:; | |
unsigned char v42 = *(char *)(v6 + 1); // 0x14000a1ce | |
int64_t v43; // 0x14000a0d8 | |
int64_t v44; // 0x14000a0d8 | |
if (v42 == 0) { | |
// 0x14000a1fa | |
v4 = a2 + 26; | |
v7 = 254; | |
goto lab_0x14000a203; | |
} else { | |
unsigned char v45 = *(char *)v6; // 0x14000a1d7 | |
if (v45 > v42) { | |
goto lab_0x14000a1f2; | |
} else { | |
int64_t v46 = v45; // 0x14000a1d7 | |
v44 = (int64_t)v42 + 1 - v46 & 0xffffffff; | |
v43 = v46 + 1; | |
goto lab_0x14000a1e6; | |
} | |
} | |
lab_0x14000a24e: | |
// 0x14000a24e | |
*v11 = v41; | |
v5 = 1; | |
goto lab_0x14000a259; | |
lab_0x14000a1f2:; | |
int64_t v47 = v6 + 2; // 0x14000a1f2 | |
v6 = v47; | |
if (*(char *)v47 != 0) { | |
goto lab_0x14000a1ce_2; | |
} else { | |
// 0x14000a1fa | |
v4 = a2 + 26; | |
v7 = 254; | |
goto lab_0x14000a203; | |
} | |
lab_0x14000a1e6:; | |
char * v48 = (char *)(v43 + v9); // 0x14000a1e6 | |
*v48 = *v48 | 4; | |
int64_t v49 = v44 - 1; // 0x14000a1ed | |
v44 = v49; | |
v43 = v43 + 1 & 0xffffffff; | |
if (v49 != 0) { | |
goto lab_0x14000a1e6; | |
} else { | |
goto lab_0x14000a1f2; | |
} | |
} | |
// Address range: 0x14000a40c - 0x14000a41e | |
int64_t function_14000a40c(int64_t a1) { | |
// 0x14000a40c | |
_3f_x_ismbbtype_l_40__40_YAHPEAU__crt_locale_pointers_40__40_IHH_40_Z((int64_t *)&g113, (int32_t)&g113, (int32_t)&g113, (int32_t)&g113); | |
return &g113; | |
} | |
// Address range: 0x14000a420 - 0x14000a47a | |
int64_t function_14000a420(uint32_t CodePage, int64_t dwFlags) { | |
// 0x14000a420 | |
int64_t cbMultiByte; // 0x14000a420 | |
int64_t lpMultiByteStr; // 0x14000a420 | |
int32_t result; // 0x14000a473 | |
if (CodePage < 0xc436) { | |
uint32_t v1 = CodePage - 0xc42c; // 0x14000a428 | |
if (v1 < 10) { | |
// 0x14000a433 | |
if ((1 << (v1 & 31) & 679) == 0) { | |
// 0x14000a473 | |
result = MultiByteToWideChar(CodePage, (int32_t)dwFlags, (char *)lpMultiByteStr, (int32_t)cbMultiByte, (int16_t *)&g113, (int32_t)&g113); | |
return result; | |
} | |
} else { | |
// 0x14000a43f | |
if (CodePage != 42) { | |
// 0x14000a473 | |
result = MultiByteToWideChar(CodePage, (int32_t)dwFlags, (char *)lpMultiByteStr, (int32_t)cbMultiByte, (int16_t *)&g113, (int32_t)&g113); | |
return result; | |
} | |
} | |
// 0x14000a473 | |
result = MultiByteToWideChar(CodePage, (int32_t)0, (char *)lpMultiByteStr, (int32_t)cbMultiByte, (int16_t *)&g113, (int32_t)&g113); | |
return result; | |
} | |
int64_t dwFlags2; // 0x14000a420 | |
if (CodePage == 0xd698) { | |
// 0x14000a473 | |
dwFlags2 = dwFlags & 8; | |
result = MultiByteToWideChar(CodePage, (int32_t)dwFlags2, (char *)lpMultiByteStr, (int32_t)cbMultiByte, (int16_t *)&g113, (int32_t)&g113); | |
return result; | |
} | |
// 0x14000a450 | |
if (CodePage < 0xdeaa) { | |
// 0x14000a473 | |
result = MultiByteToWideChar(CodePage, (int32_t)dwFlags, (char *)lpMultiByteStr, (int32_t)cbMultiByte, (int16_t *)&g113, (int32_t)&g113); | |
return result; | |
} | |
if (CodePage < 0xdeb4 || CodePage == 0xfde8) { | |
// 0x14000a473 | |
result = MultiByteToWideChar(CodePage, (int32_t)0, (char *)lpMultiByteStr, (int32_t)cbMultiByte, (int16_t *)&g113, (int32_t)&g113); | |
return result; | |
} | |
// 0x14000a468 | |
if (CodePage != 0xfde9) { | |
// 0x14000a473 | |
result = MultiByteToWideChar(CodePage, (int32_t)dwFlags, (char *)lpMultiByteStr, (int32_t)cbMultiByte, (int16_t *)&g113, (int32_t)&g113); | |
return result; | |
} | |
// 0x14000a473 | |
dwFlags2 = dwFlags & 8; | |
result = MultiByteToWideChar(CodePage, (int32_t)dwFlags2, (char *)lpMultiByteStr, (int32_t)cbMultiByte, (int16_t *)&g113, (int32_t)&g113); | |
return result; | |
} | |
// Address range: 0x14000a47c - 0x14000a529 | |
int64_t function_14000a47c(uint32_t CodePage, int32_t a2, int64_t lpWideCharStr, int32_t cchWideChar, int64_t a5, int32_t a6) { | |
// 0x14000a47c | |
int32_t dwFlags; // 0x14000a47c | |
if (CodePage < 0xc436) { | |
uint32_t v1 = CodePage - 0xc42c; // 0x14000a49f | |
if (v1 < 10) { | |
// 0x14000a4aa | |
dwFlags = 0; | |
if ((1 << (v1 & 31) & 679) == 0) { | |
// 0x14000a4e3 | |
dwFlags = a2 & -129; | |
goto lab_0x14000a4eb; | |
} else { | |
goto lab_0x14000a4eb; | |
} | |
} else { | |
// 0x14000a4e1 | |
dwFlags = 0; | |
if (CodePage == 42) { | |
goto lab_0x14000a4eb; | |
} else { | |
// 0x14000a4e3 | |
dwFlags = a2 & -129; | |
goto lab_0x14000a4eb; | |
} | |
} | |
} else { | |
// 0x14000a4bb | |
dwFlags = 0; | |
if (CodePage == 0xd698) { | |
goto lab_0x14000a4eb; | |
} else { | |
if (CodePage < 0xdeaa) { | |
// 0x14000a4e3 | |
dwFlags = a2 & -129; | |
goto lab_0x14000a4eb; | |
} else { | |
// 0x14000a4cb | |
dwFlags = 0; | |
if (CodePage < 0xdeb4 || (CodePage & -2) == 0xfde8) { | |
goto lab_0x14000a4eb; | |
} else { | |
// 0x14000a4e3 | |
dwFlags = a2 & -129; | |
goto lab_0x14000a4eb; | |
} | |
} | |
} | |
} | |
lab_0x14000a4eb: | |
// 0x14000a4eb | |
if ((CodePage || 1) == 0xfde9 && a6 != 0) { | |
// 0x14000a50a | |
*(int32_t *)(int64_t)a6 = 0; | |
} | |
// 0x14000a50c | |
int64_t lpMultiByteStr; // 0x14000a47c | |
int32_t result = WideCharToMultiByte(CodePage, dwFlags, (int16_t *)lpWideCharStr, cchWideChar, (char *)lpMultiByteStr, (int32_t)&g113, (char *)&g113, (bool *)&g113); // 0x14000a522 | |
return result; | |
} | |
// Address range: 0x14000a52c - 0x14000a62d | |
int64_t function_14000a52c(int64_t a1, int64_t a2) { | |
int16_t * lpszEnvironmentBlock = GetEnvironmentStringsW(); // 0x14000a545 | |
if (lpszEnvironmentBlock == NULL) { | |
// 0x14000a60f | |
return 0; | |
} | |
int64_t v1 = (int64_t)lpszEnvironmentBlock; // 0x14000a545 | |
int64_t v2 = v1; // 0x14000a561 | |
if (*lpszEnvironmentBlock != 0) { | |
int64_t v3 = -1; // 0x14000a563 | |
v3++; | |
int64_t v4 = 2 * v3 + v1; // 0x14000a56a | |
while (*(int16_t *)v4 != 0) { | |
// 0x14000a567 | |
v3++; | |
v4 = 2 * v3 + v1; | |
} | |
int64_t v5 = v4 + 2; // 0x14000a575 | |
v2 = v5; | |
while (*(int16_t *)v5 != 0) { | |
// 0x14000a563 | |
v3 = -1; | |
v3++; | |
v4 = 2 * v3 + v5; | |
while (*(int16_t *)v4 != 0) { | |
// 0x14000a567 | |
v3++; | |
v4 = 2 * v3 + v5; | |
} | |
// 0x14000a571 | |
v5 = v4 + 2; | |
v2 = v5; | |
} | |
} | |
int32_t v6 = (2 - v1 + v2) / 2; // 0x14000a596 | |
int32_t v7 = function_14000a47c(0, 0, v1, v6, 0, 0); | |
if (v7 == 0) { | |
// 0x14000a606 | |
FreeEnvironmentStringsW(lpszEnvironmentBlock); | |
// 0x14000a60f | |
return 0; | |
} | |
int64_t * v8 = _malloc_base(v7); // 0x14000a5b6 | |
int64_t * v9; // 0x14000a52c | |
int64_t result; // 0x14000a52c | |
if (v8 == NULL) { | |
// 0x14000a5f1 | |
result = 0; | |
v9 = v8; | |
goto lab_0x14000a5f4; | |
} else { | |
int64_t v10 = (int64_t)v8; // 0x14000a5b6 | |
int64_t v11 = function_14000a47c(0, 0, v1, v6, v10, v7); // 0x14000a5e0 | |
result = v10; | |
v9 = NULL; | |
if ((int32_t)v11 == 0) { | |
// 0x14000a5f1 | |
result = 0; | |
v9 = v8; | |
goto lab_0x14000a5f4; | |
} else { | |
goto lab_0x14000a5f4; | |
} | |
} | |
lab_0x14000a5f4: | |
// 0x14000a5f4 | |
_free_base(v9); | |
// 0x14000a606 | |
FreeEnvironmentStringsW(lpszEnvironmentBlock); | |
// 0x14000a60f | |
return result; | |
} | |
// Address range: 0x14000a630 - 0x14000a950 | |
int64_t function_14000a630(int64_t a1, int64_t a2) { | |
if (a1 == 0) { | |
// 0x14000a654 | |
*_errno() = 22; | |
// 0x14000a923 | |
return -1; | |
} | |
int64_t v1 = function_140012404(a1, 61); // 0x14000a670 | |
int64_t v2; // 0x14000a630 | |
int64_t v3; // 0x14000a630 | |
int64_t v4; // 0x14000a630 | |
int64_t v5; // 0x14000a630 | |
int64_t v6; // 0x14000a698 | |
char v7; // 0x14000a698 | |
if (v1 == 0 || v1 == a1) { | |
// 0x14000a902 | |
*_errno() = 22; | |
v5 = 0xffffffff; | |
v4 = a1; | |
goto lab_0x14000a919; | |
} else { | |
int64_t v8 = g67; // 0x14000a68a | |
v6 = v1 + 1; | |
v7 = *(char *)v6; | |
int64_t v9 = v8; // 0x14000a6a1 | |
if (v8 == g69) { | |
// 0x14000a6a3 | |
v9 = function_14000a950(v8); | |
g67 = v9; | |
} | |
// 0x14000a6b5 | |
v3 = v9; | |
if (v9 != 0) { | |
goto lab_0x14000a779; | |
} else { | |
// 0x14000a6c4 | |
if ((int32_t)a2 == 0 || g68 == 0) { | |
// 0x14000a707 | |
v5 = 0; | |
v4 = a1; | |
if (v7 == 0) { | |
goto lab_0x14000a919; | |
} else { | |
// 0x14000a710 | |
g67 = (int64_t)_calloc_base(1, 8); | |
_free_base(NULL); | |
v5 = 0xffffffff; | |
v4 = a1; | |
if (g67 != 0) { | |
// 0x14000a740 | |
v2 = g67; | |
if (g68 != 0) { | |
goto lab_0x14000a774; | |
} else { | |
// 0x14000a749 | |
g68 = (int64_t)_calloc_base(1, 8); | |
_free_base(NULL); | |
v5 = 0xffffffff; | |
v4 = a1; | |
if (g68 == 0) { | |
goto lab_0x14000a919; | |
} else { | |
// 0x14000a76d | |
v2 = g67; | |
goto lab_0x14000a774; | |
} | |
} | |
} else { | |
goto lab_0x14000a919; | |
} | |
} | |
} else { | |
// 0x14000a6d1 | |
_3f__3f__24_common_get_or_create_environment_nolock_40_D_40__40_YAPEAPEADXZ(); | |
int64_t v10 = g67; // 0x14000a6df | |
v2 = v10; | |
if (v10 == g69) { | |
int64_t v11 = function_14000a950(v10); // 0x14000a6f6 | |
g67 = v11; | |
v2 = v11; | |
} | |
goto lab_0x14000a774; | |
} | |
} | |
} | |
lab_0x14000a7ac:; | |
// 0x14000a7ac | |
int64_t v12; // 0x14000a630 | |
int64_t v13 = v12 + 8; // 0x14000a7ac | |
int64_t v14 = *(int64_t *)v13; | |
int64_t v15 = v14; // 0x14000a788 | |
int64_t v16 = v13; // 0x14000a788 | |
int64_t v17 = v13; // 0x14000a788 | |
if (v14 == 0) { | |
// break -> 0x14000a7be | |
goto lab_0x14000a7be; | |
} | |
goto lab_0x14000a78a; | |
lab_0x14000a919: | |
// 0x14000a919 | |
_free_base((int64_t *)v4); | |
// 0x14000a923 | |
return v5 & 0xffffffff; | |
lab_0x14000a779:; | |
int64_t * v21 = (int64_t *)v3; | |
int64_t v22 = *v21; | |
v17 = v3; | |
int64_t v20; // 0x14000a630 | |
if (v22 != 0) { | |
int64_t v18 = v1 - a1; // 0x14000a77f | |
v15 = v22; | |
v16 = v3; | |
while (true) { | |
lab_0x14000a78a: | |
// 0x14000a78a | |
v12 = v16; | |
if (_strnicmp((char *)a1, (char *)v15, (int32_t)v18) != 0) { | |
goto lab_0x14000a7ac; | |
} else { | |
// 0x14000a79c | |
int64_t v19; // 0x14000a79c | |
switch (*(char *)(v19 + v18)) { | |
case 61: { | |
// 0x14000a7b5 | |
v20 = (v12 - v3) / 8; | |
goto lab_0x14000a7c8; | |
} | |
case 0: { | |
// 0x14000a7b5 | |
v20 = (v12 - v3) / 8; | |
goto lab_0x14000a7c8; | |
} | |
default: { | |
goto lab_0x14000a7ac; | |
} | |
} | |
} | |
} | |
} | |
lab_0x14000a7be: | |
// 0x14000a7be | |
v20 = (v17 - v3) / -8; | |
goto lab_0x14000a7c8; | |
lab_0x14000a7c8:; | |
// 0x14000a7c8 | |
int64_t v23; // 0x14000a630 | |
if (v20 < 0) { | |
goto lab_0x14000a824; | |
} else { | |
// 0x14000a7cd | |
if (*v21 == 0) { | |
goto lab_0x14000a824; | |
} else { | |
int64_t v24 = 8 * v20; | |
int64_t * v25 = (int64_t *)(v24 + v3); | |
_free_base((int64_t *)*v25); | |
if (v7 == 0) { | |
int64_t v26 = v20; // 0x14000a7f9 | |
if (*v25 != 0) { | |
int64_t v27 = v20; // 0x14000a7f2 | |
*v25 = *(int64_t *)(v3 + 8 + v24); | |
v27++; | |
int64_t v28 = 8 * v27; // 0x14000a7f5 | |
int64_t * v29 = (int64_t *)(v28 + v3); // 0x14000a7f5 | |
v26 = v27; | |
while (*v29 != 0) { | |
// 0x14000a7e9 | |
*v29 = *(int64_t *)(v3 + 8 + v28); | |
v27++; | |
v28 = 8 * v27; | |
v29 = (int64_t *)(v28 + v3); | |
v26 = v27; | |
} | |
} | |
int64_t v30 = function_14000b718(v3, v26, 8); // 0x14000a807 | |
_free_base(NULL); | |
v23 = a1; | |
if (v30 != 0) { | |
// 0x14000a81b | |
g67 = v30; | |
v23 = a1; | |
} | |
} else { | |
// 0x14000a7e0 | |
*v25 = a1; | |
v23 = 0; | |
} | |
goto lab_0x14000a881; | |
} | |
} | |
lab_0x14000a824: | |
// 0x14000a824 | |
v5 = 0; | |
v4 = a1; | |
if (v7 == 0) { | |
goto lab_0x14000a919; | |
} else { | |
uint64_t v31 = -v20; // 0x14000a82d | |
uint64_t v32 = 2 - v20; // 0x14000a830 | |
v5 = 0xffffffff; | |
v4 = a1; | |
if (v32 < v31 || v32 >= 0x1fffffffffffffff) { | |
goto lab_0x14000a919; | |
} else { | |
int64_t v33 = function_14000b718(v3, v32, 8); // 0x14000a85a | |
_free_base(NULL); | |
v5 = 0xffffffff; | |
v4 = a1; | |
if (v33 == 0) { | |
goto lab_0x14000a919; | |
} else { | |
int64_t v34 = v33 + 8 * v31; | |
*(int64_t *)v34 = a1; | |
*(int64_t *)(v34 + 8) = 0; | |
g67 = v33; | |
v23 = 0; | |
goto lab_0x14000a881; | |
} | |
} | |
} | |
lab_0x14000a774: | |
// 0x14000a774 | |
v3 = v2; | |
v5 = 0xffffffff; | |
v4 = a1; | |
if (v2 == 0) { | |
goto lab_0x14000a919; | |
} else { | |
goto lab_0x14000a779; | |
} | |
lab_0x14000a881: | |
// 0x14000a881 | |
v5 = 0; | |
v4 = v23; | |
if ((int32_t)a2 != 0) { | |
int64_t v35 = -1; | |
int64_t v36 = v35 + 1; // 0x14000a892 | |
while (*(char *)(v36 + a1) != 0) { | |
// 0x14000a892 | |
v35 = v36; | |
v36 = v35 + 1; | |
} | |
int64_t * v37 = _calloc_base((int32_t)v36 + 2, 1); // 0x14000a8a4 | |
int64_t v38 = 0; // 0x14000a8af | |
if (v37 != NULL) { | |
// 0x14000a8b1 | |
if (strcpy_s((char *)v37, (int32_t)v35 + 3, (char *)a1) != 0) { | |
// 0x14000a93b | |
function_140006290(0, 0, 0, 0, 0); | |
return __asm_int3(); | |
} | |
int64_t v39 = (int64_t)v37; // 0x14000a8a4 | |
int64_t v40 = v39 - a1; // 0x14000a8cb | |
*(char *)(v40 + v1) = 0; | |
v38 = 0; | |
if ((int32_t)function_14000f814(v39, v7 == 0 ? 0 : v40 + v6) == 0) { | |
// 0x14000a8eb | |
*_errno() = 42; | |
v38 = 0xffffffff; | |
} | |
} | |
// 0x14000a8f8 | |
_free_base(v37); | |
v5 = v38; | |
v4 = v23; | |
} | |
goto lab_0x14000a919; | |
} | |
// Address range: 0x14000a950 - 0x14000aa38 | |
int64_t function_14000a950(int64_t a1) { | |
int64_t result = 0; // 0x14000a96b | |
if (a1 == 0) { | |
lab_0x14000a96f: | |
// 0x14000a96f | |
return result; | |
} | |
int64_t * v1 = _calloc_base(1, 8); // 0x14000a9a4 | |
if (v1 != NULL) { | |
// 0x14000a9b9 | |
result = (int64_t)v1; | |
int64_t v2 = a1; // 0x14000a9bc | |
int64_t v3 = 0; // 0x14000a9c3 | |
int64_t v4 = v3; // 0x14000a9ca | |
while (*(char *)(v3 + 1) != 0) { | |
// 0x14000a9c3 | |
v3 = v4 + 1; | |
v4 = v3; | |
} | |
int32_t v5 = (int32_t)v3 + 1; // 0x14000a9d5 | |
int64_t * v6 = _calloc_base(v5, 1); // 0x14000a9d5 | |
int64_t * v7 = (int64_t *)(result - a1 + v2); // 0x14000a9dc | |
*v7 = (int64_t)v6; | |
_free_base(NULL); | |
int64_t v8 = *v7; // 0x14000a9e5 | |
while (v8 != 0) { | |
// 0x14000a9ee | |
if (strcpy_s((char *)v8, v5, (char *)*(int64_t *)v2) != 0) { | |
// 0x14000aa19 | |
function_140006290(0, 0, 0, 0, 0); | |
__asm_int3(); | |
goto lab_0x14000aa2f; | |
} | |
// 0x14000a9fe | |
v2 += 8; | |
int64_t v9 = *(int64_t *)v2; // 0x14000aa02 | |
if (v9 == 0) { | |
// 0x14000aa0a | |
_free_base(NULL); | |
return result; | |
} | |
v3 = 0; | |
v4 = v3; | |
while (*(char *)(v3 + v9) != 0) { | |
// 0x14000a9c3 | |
v3 = v4 + 1; | |
v4 = v3; | |
} | |
// 0x14000a9cc | |
v5 = (int32_t)v3 + 1; | |
v6 = _calloc_base(v5, 1); | |
v7 = (int64_t *)(result - a1 + v2); | |
*v7 = (int64_t)v6; | |
_free_base(NULL); | |
v8 = *v7; | |
} | |
} | |
goto lab_0x14000aa2f; | |
lab_0x14000aa2f: | |
// 0x14000aa2f | |
function_140005bc0(); | |
__asm_int3(); | |
__asm_int3(); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
// Address range: 0x14000aa38 - 0x14000aa3d | |
int64_t function_14000aa38(int64_t a1, int32_t a2) { | |
// 0x14000aa38 | |
return function_14000a630(a1, (int64_t)a2); | |
} | |
// Address range: 0x14000aaf8 - 0x14000ab34 | |
int64_t function_14000aaf8(void) { | |
int32_t v1 = 0; // 0x14000ab00 | |
if (*(int32_t *)(*(int64_t *)(__readgsqword(96) + 32) + 8) >= 0) { | |
// 0x14000ab16 | |
__acrt_AppPolicyGetProcessTerminationMethodInternal(&v1); | |
if (v1 == 1) { | |
// 0x14000ab2c | |
return 0; | |
} | |
} | |
// 0x14000ab2c | |
return 1; | |
} | |
// Address range: 0x14000ab34 - 0x14000abd9 | |
int64_t function_14000ab34(void) { | |
int64_t * v1 = _calloc_base(64, 72); // 0x14000ab50 | |
if (v1 == NULL) { | |
// 0x14000abba | |
_free_base(NULL); | |
return 0; | |
} | |
int64_t result = (int64_t)v1; // 0x14000ab50 | |
int64_t v2 = result + 48; // 0x14000ab6b | |
__acrt_InitializeCriticalSectionEx(v2 - 48, 4000, 0); | |
*(int64_t *)(v2 - 8) = -1; | |
char * v3 = (char *)(v2 + 13); // 0x14000ab89 | |
*v3 = *v3 & -8; | |
*(int64_t *)v2 = 0; | |
*(int32_t *)(v2 + 8) = 0xa0a0000; | |
*(char *)(v2 + 12) = 10; | |
int64_t v4 = v2 + 14; // 0x14000ab99 | |
*(char *)v4 = 0; | |
int64_t v5 = 1; // 0x14000aba0 | |
int64_t v6 = v5 & 0xffffffff; // 0x14000aba8 | |
v4++; | |
while ((int32_t)v5 < 5) { | |
// 0x14000ab9d | |
*(char *)v4 = 0; | |
v5 = v6 + 1; | |
v6 = v5 & 0xffffffff; | |
v4++; | |
} | |
while (v2 != result + 0x11e8) { | |
// 0x14000abaa | |
v2 += 72; | |
__acrt_InitializeCriticalSectionEx(v2 - 48, 4000, 0); | |
*(int64_t *)(v2 - 8) = -1; | |
v3 = (char *)(v2 + 13); | |
*v3 = *v3 & -8; | |
*(int64_t *)v2 = 0; | |
*(int32_t *)(v2 + 8) = 0xa0a0000; | |
*(char *)(v2 + 12) = 10; | |
v4 = v2 + 14; | |
*(char *)v4 = 0; | |
v5 = 1; | |
v6 = v5 & 0xffffffff; | |
v4++; | |
while ((int32_t)v5 < 5) { | |
// 0x14000ab9d | |
*(char *)v4 = 0; | |
v5 = v6 + 1; | |
v6 = v5 & 0xffffffff; | |
v4++; | |
} | |
} | |
// 0x14000abba | |
_free_base(NULL); | |
return result; | |
} | |
// Address range: 0x14000abdc - 0x14000ac2c | |
int64_t function_14000abdc(int64_t a1) { | |
if (a1 == 0) { | |
// 0x14000ac2b | |
int64_t result; // 0x14000abdc | |
return result; | |
} | |
int64_t lpCriticalSection = a1; | |
DeleteCriticalSection((struct _RTL_CRITICAL_SECTION *)lpCriticalSection); | |
while (lpCriticalSection != a1 + 0x11b8) { | |
// 0x14000ac02 | |
lpCriticalSection += 72; | |
DeleteCriticalSection((struct _RTL_CRITICAL_SECTION *)lpCriticalSection); | |
} | |
// 0x14000ac14 | |
_free_base((int64_t *)a1); | |
// 0x14000ac2b | |
return &g113; | |
} | |
// Address range: 0x14000ac2c - 0x14000acd4 | |
int64_t function_14000ac2c(int64_t a1) { | |
// 0x14000ac2c | |
int64_t v1; // 0x14000ac2c | |
if ((uint32_t)(int32_t)a1 >= 0x2000) { | |
// 0x14000ac4b | |
*_errno() = 9; | |
int64_t v2; // 0x14000ac2c | |
int64_t v3; // 0x14000ac2c | |
function_140006270(a1, v1, v3, v2); | |
// 0x14000ac5e | |
return 9; | |
} | |
int64_t v4 = a1 & 0xffffffff; // 0x14000ac41 | |
__acrt_lock(7); | |
int64_t v5 = g86; // 0x14000ac81 | |
int64_t v6 = v5; // 0x14000ac8e | |
int64_t v7 = 0; // 0x14000ac8e | |
if (v4 < v5) { | |
// 0x14000acc6 | |
__acrt_lock2(7, v1); | |
// 0x14000ac5e | |
return 0; | |
} | |
int64_t v8; // 0x14000ac9f | |
while (true) { | |
int64_t * v9 = (int64_t *)(8 * v7 + (int64_t)&g85); // 0x14000ac97 | |
int64_t v10 = v6; // 0x14000ac9b | |
if (*v9 == 0) { | |
// 0x14000ac9f | |
v8 = function_14000ab34(); | |
*v9 = v8; | |
if (v8 == 0) { | |
// break -> 0x14000acad | |
break; | |
} | |
int32_t v11 = g86 + 64; // 0x14000acb8 | |
g86 = v11; | |
v10 = v11; | |
} | |
// 0x14000acc1 | |
v6 = v10; | |
v7++; | |
if (v4 < v6) { | |
// 0x14000acc6 | |
__acrt_lock2(7, v1); | |
// 0x14000ac5e | |
return 0; | |
} | |
} | |
// 0x14000acc6 | |
__acrt_lock2(7, v1); | |
// 0x14000ac5e | |
return v8 + 12 & 0xffffffff; | |
} | |
// Address range: 0x14000acd4 - 0x14000acfb | |
int64_t function_14000acd4(int32_t a1) { | |
int64_t v1 = *(int64_t *)(8 * (int64_t)(a1 / 64) + (int64_t)&g85); // 0x14000acec | |
EnterCriticalSection((struct _RTL_CRITICAL_SECTION *)(v1 + (int64_t)(72 * (a1 & 63)))); | |
return &g113; | |
} | |
// Address range: 0x14000acfc - 0x14000ad23 | |
int64_t function_14000acfc(int32_t a1) { | |
int64_t v1 = *(int64_t *)(8 * (int64_t)(a1 / 64) + (int64_t)&g85); // 0x14000ad14 | |
LeaveCriticalSection((struct _RTL_CRITICAL_SECTION *)(v1 + (int64_t)(72 * (a1 & 63)))); | |
return &g113; | |
} | |
// Address range: 0x14000ad24 - 0x14000adde | |
int64_t function_14000ad24(int64_t a1, int64_t a2) { | |
if ((uint32_t)(int32_t)a1 >= 0) { | |
int64_t v1 = 0x100000000 * a1; | |
int64_t v2 = v1 / 0x100000000; // 0x14000ad39 | |
uint32_t v3 = (int32_t)v2; // 0x14000ad40 | |
if (g86 > v3) { | |
int64_t * v4 = (int64_t *)(8 * v1 / 0x4000000000 + (int64_t)&g85); // 0x14000ad60 | |
int64_t v5 = *v4; // 0x14000ad60 | |
int64_t v6 = 72 * (v2 & 63); // 0x14000ad64 | |
if ((*(char *)(v6 + 56 + v5) & 1) != 0) { | |
int64_t v7 = v6 + 40; | |
if (*(int64_t *)(v5 + v7) != -1) { | |
int32_t v8 = function_140004898(); // 0x14000ad78 | |
if (v8 != 1) { | |
// 0x14000ada4 | |
*(int64_t *)(*v4 + v7) = -1; | |
// 0x14000adc8 | |
return 0; | |
} | |
int32_t nStdHandle = -10; // 0x14000ad7f | |
if (v3 != 0) { | |
int32_t v9 = v3 - v8; // 0x14000ad81 | |
nStdHandle = -11; | |
if (v9 != 0) { | |
// 0x14000ad85 | |
nStdHandle = -12; | |
if (v9 != v8) { | |
// 0x14000ada4 | |
*(int64_t *)(*v4 + v7) = -1; | |
// 0x14000adc8 | |
return 0; | |
} | |
} | |
} | |
// 0x14000ad9c | |
SetStdHandle(nStdHandle, NULL); | |
// 0x14000ada4 | |
*(int64_t *)(*v4 + v7) = -1; | |
// 0x14000adc8 | |
return 0; | |
} | |
} | |
} | |
} | |
// 0x14000adb2 | |
*_errno() = 9; | |
*__doserrno() = 0; | |
// 0x14000adc8 | |
return 0xffffffff; | |
} | |
// Address range: 0x14000ade0 - 0x14000ae55 | |
int64_t function_14000ade0(int64_t a1) { | |
uint32_t v1 = (int32_t)a1; // 0x14000ade4 | |
if (v1 == -2) { | |
// 0x14000ade9 | |
*__doserrno() = 0; | |
*_errno() = 9; | |
// 0x14000ae50 | |
return -1; | |
} | |
int64_t v2 = a1; // 0x14000ae00 | |
int64_t v3; // 0x14000ade0 | |
int64_t v4; // 0x14000ade0 | |
if (v1 >= 0) { | |
// 0x14000ae02 | |
v2 = a1; | |
if (g86 > v1) { | |
int64_t v5 = a1 & 63; // 0x14000ae17 | |
int64_t v6 = *(int64_t *)(8 * 0x100000000 * a1 / 0x4000000000 + (int64_t)&g85); // 0x14000ae22 | |
int64_t v7 = v6 + 72 * v5; | |
v2 = v5; | |
v4 = 9 * v5; | |
v3 = &g85; | |
if ((*(char *)(v7 + 56) & 1) != 0) { | |
// 0x14000ae50 | |
return *(int64_t *)(v7 + 40); | |
} | |
} | |
} | |
// 0x14000ae34 | |
*__doserrno() = 0; | |
*_errno() = 9; | |
int64_t v8; // 0x14000ade0 | |
function_140006270(v2, v4, v3, v8); | |
// 0x14000ae50 | |
return -1; | |
} | |
// Address range: 0x14000ae58 - 0x14000ae71 | |
int64_t function_14000ae58(void) { | |
int32_t v1 = g95; // 0x14000ae58 | |
g95 = v1 == 0 ? 0x4000 : v1; | |
return 0; | |
} | |
// Address range: 0x14000afec - 0x14000b044 | |
int64_t function_14000afec(uint64_t a1, int64_t a2) { | |
int64_t v1 = 8 * a2; // 0x14000affd | |
int64_t result = v1 + a1; // 0x14000affd | |
int64_t v2 = a2 & 0x1fffffffffffffff; // 0x14000b011 | |
int64_t v3 = a1; // 0x14000b01e | |
if (v2 == 0 || v1 != 0 == result <= a1) { | |
// 0x14000b034 | |
return result; | |
} | |
int64_t v4 = 0; // 0x14000b01e | |
_free_base((int64_t *)*(int64_t *)v3); | |
v4++; | |
v3 += 8; | |
while (v4 != v2) { | |
// 0x14000b020 | |
_free_base((int64_t *)*(int64_t *)v3); | |
v4++; | |
v3 += 8; | |
} | |
// 0x14000b034 | |
return &g113; | |
} | |
// Address range: 0x14000b17c - 0x14000b309 | |
int64_t function_14000b17c(int32_t a1, int64_t dwInfoType, int64_t * a3, int64_t a4, int64_t * lpCharType, int64_t a6, int32_t a7) { | |
// 0x14000b17c | |
int64_t v1; // bp-88, 0x14000b17c | |
function_14000331c(&v1, (int64_t)a1); | |
int64_t v2 = a6 & 0xffffffff; // 0x14000b1c6 | |
if ((int32_t)a6 == 0) { | |
// 0x14000b1c8 | |
int64_t v3; // 0x14000b17c | |
v2 = (int64_t)*(int32_t *)(v3 + 12); | |
} | |
int64_t v4 = a7 == 0 ? 1 : 9; // 0x14000b1ed | |
int64_t v5 = function_14000a420((int32_t)v2, v4); // 0x14000b1ef | |
int64_t v6; // 0x14000b17c | |
int64_t v7; // 0x14000b17c | |
int64_t v8; // 0x14000b205 | |
if ((int32_t)v5 != 0) { | |
// 0x14000b202 | |
v8 = 0x100000000 * v5 / 0x80000000; | |
uint64_t v9 = v8 + 16; // 0x14000b208 | |
if (v8 > 0xffffffffffffffef || v9 == 0) { | |
goto lab_0x14000b2d0; | |
} else { | |
// 0x14000b217 | |
if (v9 < 1025) { | |
// 0x14000b220 | |
int64_t v10; // bp-136, 0x14000b17c | |
int64_t v11 = (int64_t)&v10 - __chkstk(v9, v4, (int64_t)a3) + 48; // 0x14000b23f | |
if (v11 == 0) { | |
goto lab_0x14000b2d0; | |
} else { | |
// 0x14000b249 | |
*(int32_t *)v11 = 0xcccc; | |
v6 = v11; | |
goto lab_0x14000b264; | |
} | |
} else { | |
int64_t * v12 = _malloc_base((int32_t)v9); // 0x14000b251 | |
int64_t v13 = (int64_t)v12; // 0x14000b251 | |
v7 = v13; | |
if (v12 == NULL) { | |
goto lab_0x14000b26c; | |
} else { | |
// 0x14000b25e | |
*(int32_t *)v12 = 0xdddd; | |
v6 = v13; | |
goto lab_0x14000b264; | |
} | |
} | |
} | |
} else { | |
goto lab_0x14000b2d0; | |
} | |
lab_0x14000b2d0:; | |
char v14; // 0x14000b17c | |
if (v14 != 0) { | |
int32_t * v15 = (int32_t *)(v1 + 936); // 0x14000b2da | |
*v15 = *v15 & -3; | |
} | |
// 0x14000b2e1 | |
return function_140011ed0(g29); | |
lab_0x14000b26c: | |
// 0x14000b26c | |
if (v7 != 0) { | |
// 0x14000b271 | |
int64_t v16; // 0x14000b17c | |
int64_t v17 = v16; | |
int64_t lpSrcStr; // 0x14000b17c | |
function_140001e50((int64_t *)lpSrcStr, 0, v8, a4 & 0xffffffff); | |
int32_t v18; // 0x14000b1f7 | |
*(int32_t *)(v17 + 40) = v18; | |
*(int64_t *)(v17 + 32) = lpSrcStr; | |
int32_t v19; // 0x14000b1ef | |
int32_t cchSrc = function_14000a420(v19, 1); // 0x14000b29a | |
if (cchSrc != 0) { | |
// 0x14000b29e | |
GetStringTypeW((int32_t)dwInfoType, (int16_t *)lpSrcStr, cchSrc, (int16_t *)lpCharType); | |
} | |
int64_t v20 = lpSrcStr - 16; // 0x14000b2bf | |
int32_t v21 = *(int32_t *)v20; // 0x14000b2c3 | |
if (v21 == 0xdddd) { | |
// 0x14000b2cb | |
_free_base((int64_t *)v20); | |
} | |
} | |
goto lab_0x14000b2d0; | |
lab_0x14000b264: | |
// 0x14000b264 | |
v7 = v6 + 16; | |
goto lab_0x14000b26c; | |
} | |
// Address range: 0x14000b640 - 0x14000b6b0 | |
int64_t function_14000b640(void) { | |
int64_t v1 = function_140007b44(); // 0x14000b64a | |
int64_t v2 = v1 + 144; // 0x14000b64f | |
if ((g43 & *(int32_t *)(v1 + 936)) != 0) { | |
int64_t result = *(int64_t *)v2; // 0x14000b666 | |
if (result != 0) { | |
// 0x14000b69a | |
return result; | |
} | |
} | |
// 0x14000b66e | |
__acrt_lock(4); | |
int64_t result2 = function_14000b6b0(v2, g90); // 0x14000b683 | |
__acrt_lock2(4, g90); | |
if (result2 != 0) { | |
// 0x14000b69a | |
return result2; | |
} | |
// 0x14000b6a8 | |
function_140005bc0(); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
// Address range: 0x14000b6b0 - 0x14000b715 | |
int64_t function_14000b6b0(int64_t a1, int64_t result) { | |
// 0x14000b6b0 | |
if (a1 == 0 || result == 0) { | |
// 0x14000b70a | |
return 0; | |
} | |
// 0x14000b6c7 | |
if (a1 == result) { | |
// 0x14000b70a | |
return result; | |
} | |
// 0x14000b6e4 | |
*(int64_t *)a1 = result; | |
__acrt_add_locale_ref(result); | |
__acrt_release_locale_ref(a1); | |
if (a1 != (int64_t)&g37 && *(int32_t *)(a1 + 16) == 0) { | |
// 0x14000b6fe | |
__acrt_free_locale(a1); | |
} | |
// 0x14000b70a | |
return result; | |
} | |
// Address range: 0x14000b718 - 0x14000b7ad | |
int64_t function_14000b718(int64_t a1, uint64_t a2, uint64_t a3) { | |
// 0x14000b718 | |
if (a2 != 0) { | |
if (0xffffffffffffffe0 / a2 < a3) { | |
// 0x14000b748 | |
*_errno() = 12; | |
// 0x14000b798 | |
return 0; | |
} | |
} | |
int64_t v1 = 0; // 0x14000b75a | |
if (a1 != 0) { | |
// 0x14000b75c | |
v1 = _msize_base(); | |
} | |
uint64_t v2 = v1; | |
uint64_t v3 = a3 * a2; // 0x14000b768 | |
int64_t result = function_14000fa34(a1, v3); // 0x14000b772 | |
if (result != 0 && v3 > v2) { | |
// 0x14000b784 | |
int64_t v4; // 0x14000b718 | |
function_140001e50((int64_t *)(result + v2), 0, v3 - v2, v4); | |
} | |
// 0x14000b798 | |
return result; | |
} | |
// Address range: 0x14000b7cc - 0x14000b7d7 | |
int64_t function_14000b7cc(void) { | |
// 0x14000b7cc | |
g96 = 0; | |
int64_t v1; // 0x14000b7cc | |
return v1 & -256 | 1; | |
} | |
// Address range: 0x14000b7d8 - 0x14000b858 | |
int64_t function_14000b7d8(int64_t * a1, int64_t * a2) { | |
// 0x14000b7d8 | |
if (a1 == a2) { | |
// 0x14000b848 | |
int64_t v1; // 0x14000b7d8 | |
return v1 & -256 | 1; | |
} | |
int64_t v2 = (int64_t)a2; | |
int64_t v3 = (int64_t)a1; | |
int64_t v4; // 0x14000b7d8 | |
int32_t v5 = v4; | |
int64_t v6 = 0; // 0x14000b7fb | |
if (*(int64_t *)v3 != 0) { | |
// 0x14000b7fd | |
v6 = function_1400124a0((int32_t)v3, v2, v5); | |
if ((char)v6 == 0) { | |
// break -> 0x14000b810 | |
break; | |
} | |
} | |
int64_t v7 = v3 + 16; // 0x14000b807 | |
int64_t v8 = v7; // 0x14000b80e | |
while (v7 != v2) { | |
int64_t v9 = v7; | |
v6 = 0; | |
if (*(int64_t *)v9 != 0) { | |
// 0x14000b7fd | |
v6 = function_1400124a0((int32_t)v3, v2, v5); | |
v8 = v9; | |
if ((char)v6 == 0) { | |
// break -> 0x14000b810 | |
break; | |
} | |
} | |
// 0x14000b807 | |
v7 = v9 + 16; | |
v8 = v7; | |
} | |
// 0x14000b810 | |
if (v8 == v2) { | |
// 0x14000b848 | |
return v6 & -256 | 1; | |
} | |
int64_t v10 = v6; // 0x14000b818 | |
if (v8 != v3) { | |
int64_t v11 = v8 - 8; | |
int64_t v12 = v11 - 8; // 0x14000b81e | |
if (*(int64_t *)v12 != 0) { | |
// 0x14000b825 | |
if (*(int64_t *)v11 != 0) { | |
// 0x14000b82d | |
function_1400124a0(0, v2, v5); | |
} | |
} | |
int64_t v13 = v11 - 16; // 0x14000b840 | |
v10 = v12; | |
while (v12 != v3) { | |
// 0x14000b81e | |
v11 = v13; | |
v12 = v11 - 8; | |
if (*(int64_t *)v12 != 0) { | |
// 0x14000b825 | |
if (*(int64_t *)v11 != 0) { | |
// 0x14000b82d | |
function_1400124a0(0, v2, v5); | |
} | |
} | |
// 0x14000b835 | |
v13 = v11 - 16; | |
v10 = v12; | |
} | |
} | |
// 0x14000b848 | |
return v10 & -256; | |
} | |
// Address range: 0x14000b858 - 0x14000b894 | |
int64_t function_14000b858(int64_t * a1, int64_t * a2) { | |
// 0x14000b858 | |
if (a1 == a2) { | |
// 0x14000b887 | |
int64_t v1; // 0x14000b858 | |
return v1 & -256 | 1; | |
} | |
int64_t v2 = (int64_t)a2; | |
int64_t v3 = v2; // 0x14000b87e | |
int64_t v4 = 0; // 0x14000b874 | |
int64_t v5; // 0x14000b858 | |
if (*(int64_t *)(v3 - 8) != 0) { | |
// 0x14000b876 | |
v4 = function_1400124a0(0, v2, (int32_t)v5); | |
} | |
// 0x14000b87e | |
v3 -= 16; | |
while (v3 != (int64_t)a1) { | |
// 0x14000b86d | |
v4 = 0; | |
if (*(int64_t *)(v3 - 8) != 0) { | |
// 0x14000b876 | |
v4 = function_1400124a0(0, v2, (int32_t)v5); | |
} | |
// 0x14000b87e | |
v3 -= 16; | |
} | |
// 0x14000b887 | |
return v4 & -256 | 1; | |
} | |
// Address range: 0x14000b894 - 0x14000b89c | |
int64_t function_14000b894(int64_t a1) { | |
// 0x14000b894 | |
g97 = a1; | |
int64_t result; // 0x14000b894 | |
return result; | |
} | |
// Address range: 0x14000b900 - 0x14000b945 | |
int64_t function_14000b900(int64_t * a1, int64_t * a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t a6) { | |
int64_t v1 = (int64_t)a2; | |
__acrt_lock((int32_t)v1); | |
uint64_t v2 = g29 & 63; // 0x14000b923 | |
int64_t v3 = g100 ^ g29; // 0x14000b926 | |
int64_t result = v3; // 0x14000b92d | |
if (v2 != 0) { | |
result = v3 >> v2 | v3 << 64 - v2; | |
} | |
int64_t v4; // 0x14000b900 | |
__acrt_lock2((int32_t)v4, v1); | |
return result; | |
} | |
// Address range: 0x14000b948 - 0x14000b976 | |
int64_t function_14000b948(void) { | |
int64_t v1 = 3; // bp+16, 0x14000b95c | |
int64_t v2 = 3; // bp+24, 0x14000b964 | |
int64_t v3; // 0x14000b948 | |
return function_14000b900(&v3, &v2, &v3, &v1, 3, 3); | |
} | |
// Address range: 0x14000b998 - 0x14000bc04 | |
int64_t function_14000b998(int64_t a1) { | |
uint32_t v1 = (int32_t)a1; // 0x14000b9bb | |
int64_t v2 = &g101; // 0x14000b998 | |
int64_t v3; // 0x14000b998 | |
switch (v1) { | |
case 2: { | |
// 0x14000ba99 | |
v2 = &g98; | |
goto lab_0x14000bac1; | |
} | |
case 4: { | |
goto lab_0x14000ba11; | |
} | |
case 11: { | |
goto lab_0x14000ba11; | |
} | |
case 8: { | |
goto lab_0x14000ba11; | |
} | |
case 15: { | |
goto lab_0x14000bac1; | |
} | |
case 6: { | |
// 0x14000ba7e | |
v2 = &g100; | |
goto lab_0x14000bac1; | |
} | |
default: { | |
// 0x14000b9d9 | |
v3 = a1; | |
if (v1 < 23) { | |
// 0x14000b9e1 | |
v2 = &g99; | |
switch (v1) { | |
case 22: { | |
// 0x14000ba7e | |
v2 = &g100; | |
goto lab_0x14000bac1; | |
} | |
case 21: { | |
goto lab_0x14000bac1; | |
} | |
default: { | |
// 0x14000baa0 | |
v2 = 0; | |
goto lab_0x14000bac1; | |
} | |
} | |
} else { | |
goto lab_0x14000ba5e; | |
} | |
} | |
} | |
lab_0x14000ba5e: | |
// 0x14000ba5e | |
*_errno() = 22; | |
int64_t v4; // 0x14000b998 | |
int64_t v5; // 0x14000b998 | |
int64_t v6; // 0x14000b998 | |
function_140006270(v3, v6, v5, v4); | |
// 0x14000ba21 | |
return 0xffffffff; | |
lab_0x14000ba11:; | |
int64_t v7 = function_140007cc0(); // 0x14000ba11 | |
if (v7 == 0) { | |
// 0x14000ba21 | |
return 0xffffffff; | |
} | |
int64_t v8 = *(int64_t *)v7; // 0x14000ba36 | |
int64_t v9 = v8 + 192; // 0x14000ba44 | |
int64_t v10 = v8; | |
while (*(int32_t *)(v10 + 4) != v1) { | |
int64_t v11 = v10 + 16; // 0x14000ba4e | |
v3 = v9; | |
if (v11 == v9) { | |
goto lab_0x14000ba5e; | |
} | |
v10 = v11; | |
} | |
// 0x14000ba59 | |
v3 = v9; | |
int64_t * v12; // 0x14000b998 | |
int64_t v13; // 0x14000b998 | |
bool v14; // 0x14000b998 | |
int64_t v15; // 0x14000b998 | |
if (v10 != 0) { | |
int64_t * v16 = (int64_t *)(v10 + 8); // 0x14000bab9 | |
v14 = true; | |
v13 = v7; | |
v12 = v16; | |
v15 = *v16; | |
goto lab_0x14000bad3; | |
} else { | |
goto lab_0x14000ba5e; | |
} | |
lab_0x14000bac1: | |
// 0x14000bac1 | |
__acrt_lock(3); | |
int64_t * v17 = (int64_t *)v2; // 0x14000bab9 | |
uint64_t v18 = g29 & 63; // 0x14000baca | |
int64_t v19 = g29 ^ *v17; // 0x14000bacd | |
v14 = false; | |
v13 = 0; | |
v12 = v17; | |
v15 = v19; | |
if (v18 != 0) { | |
v14 = false; | |
v13 = 0; | |
v12 = v17; | |
v15 = v19 << 64 - v18 | v19 >> v18; | |
} | |
goto lab_0x14000bad3; | |
lab_0x14000bad3:; | |
int64_t v20 = 0; // 0x14000b998 | |
int32_t v21 = 0; // 0x14000b998 | |
int32_t v22; // 0x14000b998 | |
int32_t v23; // 0x14000b998 | |
int64_t v24; // 0x14000b998 | |
int64_t v25; // 0x14000b998 | |
switch (v15) { | |
case 1: { | |
goto lab_0x14000bb77; | |
} | |
case 0: { | |
if (!v14) { | |
// 0x14000bbee | |
__acrt_lock2(3, v6); | |
} | |
// 0x14000bbf6 | |
_3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z((int32_t)&g113, (int64_t)&g113, (int64_t)&g113); | |
__asm_int3(); | |
__asm_int3(); | |
return __asm_int3(); | |
} | |
default: { | |
// 0x14000bae6 | |
v25 = 0; | |
v23 = 0; | |
if (v1 < 12) { | |
// 0x14000baf1 | |
v24 = 0; | |
v22 = 0; | |
if ((1 << (v1 & 31) & 2320) == 0) { | |
goto lab_0x14000bb2e; | |
} else { | |
int64_t * v26 = (int64_t *)(v13 + 8); // 0x14000baf7 | |
int64_t v27 = *v26; // 0x14000baf7 | |
*v26 = 0; | |
v25 = v27; | |
v23 = 0; | |
if (v1 != 8) { | |
goto lab_0x14000bb65; | |
} else { | |
int32_t v28 = *(int32_t *)(function_140007b44() + 16); // 0x14000bb17 | |
*(int32_t *)(function_140007b44() + 16) = 140; | |
v24 = v27; | |
v22 = v28; | |
goto lab_0x14000bb2e; | |
} | |
} | |
} else { | |
goto lab_0x14000bb65; | |
} | |
} | |
} | |
lab_0x14000bb77: | |
// 0x14000bb77 | |
if (!v14) { | |
// 0x14000bb7c | |
__acrt_lock2(3, v6); | |
} | |
// 0x14000bb86 | |
if (v15 == 1) { | |
// 0x14000ba21 | |
return 0; | |
} | |
if (v1 != 8) { | |
// 0x14000bbb1 | |
function_1400124a0(v1, 0x400124a0, (int32_t)v5); | |
} else { | |
uint32_t v29 = *(int32_t *)(function_140007b44() + 16); // 0x14000bb9d | |
function_1400124a0(v1, (int64_t)v29, 0x400124a0); | |
} | |
// 0x14000bbbf | |
if (v1 >= 12 || (1 << (v1 & 31) & 2320) == 0) { | |
// 0x14000ba21 | |
return 0; | |
} | |
// 0x14000bbca | |
*(int64_t *)(v13 + 8) = v20; | |
if (v1 == 8) { | |
// 0x14000bbdb | |
*(int32_t *)(function_140007b44() + 16) = v21; | |
} | |
// 0x14000ba21 | |
return 0; | |
lab_0x14000bb65: | |
// 0x14000bb65 | |
*v12 = g29; | |
v20 = v25; | |
v21 = v23; | |
goto lab_0x14000bb77; | |
lab_0x14000bb2e: | |
// 0x14000bb2e | |
v25 = v24; | |
v23 = v22; | |
if (v1 != 8) { | |
goto lab_0x14000bb65; | |
} else { | |
int64_t v30 = *(int64_t *)v13; // 0x14000bb3e | |
int64_t v31 = v30 + 48; | |
*(int64_t *)(v31 + 8) = 0; | |
int64_t v32 = v31 + 16; // 0x14000bb58 | |
v20 = v24; | |
v21 = v22; | |
while (v31 != v30 + 176) { | |
// 0x14000bb5a | |
v31 = v32; | |
*(int64_t *)(v31 + 8) = 0; | |
v32 = v31 + 16; | |
v20 = v24; | |
v21 = v22; | |
} | |
goto lab_0x14000bb77; | |
} | |
} | |
// Address range: 0x14000bc04 - 0x14000bd0c | |
int64_t function_14000bc04(int64_t a1, int64_t a2, int64_t a3) { | |
int64_t v1 = 0x100000000 * a1 / 0x100000000; // 0x14000bc2e | |
int64_t v2; // bp-64, 0x14000bc04 | |
function_14000331c(&v2, a3); | |
char v3; // 0x14000bc04 | |
if ((int32_t)v1 >= 256) { | |
uint64_t v4 = v1 / 256; | |
int64_t v5; // 0x14000bc04 | |
int16_t v6 = *(int16_t *)(*(int64_t *)v5 + (2 * v4 & 510)); // 0x14000bc6b | |
int64_t v7 = v6 < 0 ? 2 : 1; | |
int64_t v8 = 0x100000000000000 * (v6 < 0 ? v4 : a1) / 0x100000000000000; | |
int32_t v9 = 0; // bp-32, 0x14000bc92 | |
int32_t v10 = *(int32_t *)(v5 + 12); // 0x14000bca1 | |
int64_t v11; // bp-56, 0x14000bc04 | |
int64_t v12 = function_14000b17c((int32_t)(int64_t)&v11, 1, &v8, v7, (int64_t *)&v9, (int64_t)v10, 1); // 0x14000bcb4 | |
if ((int32_t)v12 == 0) { | |
if (v3 != 0) { | |
int32_t * v13 = (int32_t *)(v2 + 936); // 0x14000bcc6 | |
*v13 = *v13 & -3; | |
} | |
// 0x14000bce7 | |
return function_140011ed0(g29); | |
} | |
} | |
if (v3 != 0) { | |
int32_t * v14 = (int32_t *)(v2 + 936); // 0x14000bce0 | |
*v14 = *v14 & -3; | |
} | |
// 0x14000bce7 | |
return function_140011ed0(g29); | |
} | |
// Address range: 0x14000bd0c - 0x14000bdbb | |
int64_t function_14000bd0c(int64_t a1) { | |
int64_t v1 = 0; // 0x14000bd2a | |
if (a1 == 0) { | |
// 0x14000bda2 | |
return 0; | |
} | |
int64_t v2 = 227; // 0x14000bd2a | |
int32_t v3 = v2 + v1; // 0x14000bd43 | |
int64_t v4 = (v3 - (v3 >> 31)) / 2; // 0x14000bd4b | |
int64_t v5 = 16 * v4; // 0x14000bd57 | |
int32_t v6 = function_14000f9ac(a1, *(int64_t *)(v5 + 0x1400177c0), 85); // 0x14000bd64 | |
while (v6 != 0) { | |
// 0x14000bd68 | |
v1 = v6 >= 0 ? v4 + 1 & 0xffffffff : v1; | |
v2 = v6 >= 0 ? v2 : v4 + 0xffffffff & 0xffffffff; | |
if (v1 > v2) { | |
// 0x14000bda2 | |
return 0; | |
} | |
v3 = v2 + v1; | |
v4 = (v3 - (v3 >> 31)) / 2; | |
v5 = 16 * v4; | |
v6 = function_14000f9ac(a1, *(int64_t *)(v5 + 0x1400177c0), 85); | |
} | |
uint32_t v7 = *(int32_t *)(v5 + 0x1400177c8); // 0x14000bd7e | |
int64_t result = 0; // 0x14000bd88 | |
if (v7 >= 0 && v7 < 228) { | |
uint32_t v8 = *(int32_t *)(0x100000000 * (int64_t)v7 / 0x10000000 + 0x140015d60); // 0x14000bd96 | |
result = v8; | |
} | |
// 0x14000bda2 | |
return result; | |
} | |
// Address range: 0x14000bdbc - 0x14000be3f | |
int64_t function_14000bdbc(int64_t a1) { | |
// 0x14000bdbc | |
if (a1 == 0) { | |
// 0x14000bdce | |
*_errno() = 22; | |
int64_t v1; // 0x14000bdbc | |
int64_t v2; // 0x14000bdbc | |
int64_t v3; // 0x14000bdbc | |
function_140006270(a1, v3, v2, v1); | |
// 0x14000be34 | |
return 0xffffffff; | |
} | |
// 0x14000bde3 | |
if ((*(int32_t *)(a1 + 20) & 0x2000) == 0) { | |
// 0x14000be2a | |
function_14000fc88(a1); | |
// 0x14000be34 | |
return 0xffffffff; | |
} | |
int64_t v4 = function_140006d6c(a1); // 0x14000bdf0 | |
function_140006e3c(a1); | |
uint32_t v5 = _fileno((struct _IO_FILE *)a1); // 0x14000be02 | |
if ((int32_t)function_14000fb24((int64_t)v5) < 0) { | |
// 0x14000be2a | |
function_14000fc88(a1); | |
// 0x14000be34 | |
return 0xffffffff; | |
} | |
int64_t * v6 = (int64_t *)(a1 + 40); // 0x14000be17 | |
int64_t v7 = *v6; // 0x14000be17 | |
if (v7 != 0) { | |
// 0x14000be20 | |
_free_base((int64_t *)v7); | |
*v6 = 0; | |
} | |
// 0x14000be2a | |
function_14000fc88(a1); | |
// 0x14000be34 | |
return v4 & 0xffffffff; | |
} | |
// Address range: 0x14000be40 - 0x14000bea2 | |
int64_t function_14000be40(int64_t a1) { | |
// 0x14000be40 | |
if (a1 == 0) { | |
// 0x14000be57 | |
*_errno() = 22; | |
int64_t v1; // 0x14000be40 | |
int64_t v2; // 0x14000be40 | |
int64_t v3; // 0x14000be40 | |
function_140006270(a1, v3, v2, v1); | |
// 0x14000be6a | |
return 0xffffffff; | |
} | |
// 0x14000be75 | |
int64_t result; // 0x14000be40 | |
if ((*(int32_t *)(a1 + 20) & 0x1000) == 0) { | |
struct _RTL_CRITICAL_SECTION * lpCriticalSection = (struct _RTL_CRITICAL_SECTION *)a1; // 0x14000be86 | |
EnterCriticalSection(lpCriticalSection); | |
int64_t v4 = function_14000bdbc(a1); // 0x14000be8f | |
LeaveCriticalSection(lpCriticalSection); | |
result = v4 & 0xffffffff; | |
} else { | |
// 0x14000be7f | |
function_14000fc88(a1); | |
result = 0xffffffff; | |
} | |
// 0x14000be6a | |
return result; | |
} | |
// Address range: 0x14000bea4 - 0x14000bf30 | |
int64_t function_14000bea4(int64_t * a1, int32_t * a2, int64_t * a3, int32_t * a4, int32_t * a5) { | |
// 0x14000bea4 | |
int64_t v1; // 0x14000bea4 | |
function_14000acd4((int32_t)v1); | |
int64_t v2; // 0x14000bea4 | |
int64_t v3 = 0x100000000 * v2; | |
int64_t v4 = *(int64_t *)(8 * v3 / 0x4000000000 + (int64_t)&g85); // 0x14000bedf | |
int64_t v5; // 0x14000bea4 | |
if ((*(char *)(72 * (v2 & 63) + 56 + v4) & 1) != 0) { | |
// 0x14000beea | |
if (FlushFileBuffers((int64_t *)function_14000ade0(v3 / 0x100000000))) { | |
// 0x14000bf1c | |
function_14000acfc((int32_t)v5); | |
return 0; | |
} | |
// 0x14000befe | |
*__doserrno() = GetLastError(); | |
} | |
// 0x14000bf0e | |
*_errno() = 9; | |
// 0x14000bf1c | |
function_14000acfc((int32_t)v5); | |
return 0xffffffff; | |
} | |
// Address range: 0x14000bf30 - 0x14000bfc1 | |
int64_t function_14000bf30(int64_t a1) { | |
int64_t v1 = 0x100000000 * a1; | |
int64_t v2 = v1 / 0x100000000; // 0x14000bf30 | |
int64_t v3 = v2; // 0x14000bf30 | |
uint32_t v4 = (int32_t)v2; // 0x14000bf3b | |
if (v4 == -2) { | |
// 0x14000bf40 | |
*_errno() = 9; | |
// 0x14000bfbc | |
return 0xffffffff; | |
} | |
int64_t v5 = a1; // 0x14000bf4f | |
int64_t v6; // 0x14000bf30 | |
if ((int32_t)a1 >= 0) { | |
// 0x14000bf51 | |
v5 = a1; | |
if (g86 > v4) { | |
int64_t v7 = v2 & 63; // 0x14000bf63 | |
int64_t v8 = *(int64_t *)(8 * v1 / 0x4000000000 + (int64_t)&g85); // 0x14000bf71 | |
v6 = &g85; | |
v5 = 9 * v7; | |
if ((*(char *)(72 * v7 + 56 + v8) & 1) != 0) { | |
int64_t v9 = v2; // bp+24, 0x14000bf81 | |
int64_t v10 = v2; // bp+32, 0x14000bf85 | |
int32_t * v11 = (int32_t *)&v3; // bp-24, 0x14000bf93 | |
int64_t v12; // bp+16, 0x14000bf30 | |
int64_t result = function_14000bea4(&v12, (int32_t *)&v10, (int64_t *)&v11, (int32_t *)&v9, (int32_t *)&v3); // 0x14000bfa2 | |
// 0x14000bfbc | |
return result; | |
} | |
} | |
} | |
// 0x14000bfa9 | |
*_errno() = 9; | |
int64_t v13; // 0x14000bf30 | |
function_140006270(v5, v2, v6, v13); | |
// 0x14000bfbc | |
return 0xffffffff; | |
} | |
// Address range: 0x14000bfc4 - 0x14000c4b0 | |
int64_t function_14000bfc4(int64_t * a1, int64_t a2, uint64_t a3, int64_t a4) { | |
uint64_t v1 = (a4 & 0xffffffff) + a3; // 0x14000c00c | |
int64_t * v2 = (int64_t *)(8 * 0x100000000 * a2 / 0x4000000000 + 0x14001dfb0); // 0x14000c022 | |
int64_t v3 = 72 * (a2 & 63); // 0x14000c02a | |
int32_t v4 = GetConsoleOutputCP(); // 0x14000c033 | |
int64_t v5; // bp-232, 0x14000bfc4 | |
function_14000331c(&v5, 0); | |
int32_t errorCode = 0; // 0x14000c06d | |
int32_t v6 = 0; // 0x14000c06d | |
int64_t v7; // 0x14000bfc4 | |
int64_t v8; // 0x14000bfc4 | |
int64_t v9; // 0x14000bfc4 | |
int64_t v10; // 0x14000bfc4 | |
int64_t v11; // 0x14000bfc4 | |
int64_t v12; // 0x14000bfc4 | |
uint64_t v13; // 0x14000bfc4 | |
int64_t v14; // 0x14000bfc4 | |
int64_t v15; // 0x14000bfc4 | |
int32_t v16; // bp-240, 0x14000bfc4 | |
char lpBuffer2; // bp-244, 0x14000bfc4 | |
int32_t v17; // 0x14000bfc4 | |
int32_t v18; // 0x14000bfc4 | |
int64_t lpBuffer; // bp-80, 0x14000bfc4 | |
int64_t v19; // 0x14000bfc4 | |
int64_t v20; // 0x14000bfc4 | |
int64_t v21; // 0x14000bfc4 | |
int64_t v22; // 0x14000bfc4 | |
int64_t * hFile; // 0x14000bfc4 | |
int64_t v23; // 0x14000c252 | |
int64_t v24; // 0x14000c1b8 | |
int64_t v25; // 0x14000c0de | |
if (v1 > a3) { | |
// 0x14000c081 | |
v20 = v3 + 62; | |
int64_t v26; // bp-96, 0x14000bfc4 | |
int64_t v27 = &v26; | |
char v28; // bp-88, 0x14000bfc4 | |
int64_t v29 = &v28; | |
v21 = &v16; | |
v22 = &lpBuffer; | |
hFile = (int64_t *)*(int64_t *)(v3 + 40 + *v2); | |
int64_t v30 = v3 + 61; | |
v17 = 0; | |
v11 = a3; | |
while (true) { | |
lab_0x14000c081: | |
// 0x14000c081 | |
v12 = v11; | |
v18 = v17; | |
char * v31 = (char *)v12; | |
lpBuffer2 = *v31; | |
v16 = 0; | |
int64_t v32 = *v2; | |
int64_t v33; // 0x14000bfc4 | |
if (*(int32_t *)(v33 + 12) != 0xfde9) { | |
char * v34 = (char *)(v30 + v32); // 0x14000c21d | |
char v35 = *v34; // 0x14000c21d | |
if ((v35 & 4) == 0) { | |
int16_t * v36 = __pctype_func(); // 0x14000c242 | |
unsigned char v37 = *v31; // 0x14000c247 | |
if (*(int16_t *)(2 * (int64_t)v37 + (int64_t)v36) > -1) { | |
int64_t v38 = function_140007300(&v16, v12, 1); // 0x14000c28a | |
v14 = v12; | |
v9 = 1; | |
errorCode = 0; | |
v6 = v18; | |
if ((int32_t)v38 == -1) { | |
// break -> 0x14000c459 | |
break; | |
} | |
goto lab_0x14000c298; | |
} else { | |
// 0x14000c252 | |
v23 = v12 + 1; | |
v19 = v12; | |
if (v23 >= v1) { | |
// 0x14000c410 | |
*(char *)(*v2 + v20) = v37; | |
char * v39 = (char *)(v30 + *v2); // 0x14000c433 | |
*v39 = *v39 | 4; | |
errorCode = 0; | |
v6 = v18; | |
goto lab_0x14000c459_6; | |
} | |
goto lab_0x14000c261; | |
} | |
} else { | |
// 0x14000c227 | |
v28 = *(char *)(v32 + v20); | |
*v34 = v35 & -5; | |
v23 = v12; | |
v19 = v29; | |
goto lab_0x14000c261; | |
} | |
} else { | |
int64_t v40 = v32 + v20; | |
int64_t v41 = 0; // 0x14000c0b3 | |
int64_t v42 = 0; // 0x14000c0b3 | |
while (*(char *)(v42 + v40) != 0) { | |
// 0x14000c0be | |
v41 = v41 + 1 & 0xffffffff; | |
v42++; | |
if (v42 >= 5) { | |
goto lab_0x14000c0d2; | |
} | |
} | |
// 0x14000c0c9 | |
int64_t v43; // 0x14000bfc4 | |
if (v43 == 0) { | |
unsigned char v44 = *v31; // 0x14000c1b2 | |
v24 = v1 - v12; | |
char v45 = *(char *)((int64_t)v44 + 0x14001d910); // 0x14000c1bb | |
uint64_t v46 = (int64_t)v45; // 0x14000c1bb | |
if (v24 <= v46) { | |
// 0x14000c3b7 | |
errorCode = 0; | |
v6 = v18; | |
if (v24 < 1) { | |
goto lab_0x14000c459_6; | |
} else { | |
// 0x14000c3dc | |
*(char *)v40 = v44; | |
v8 = 1; | |
v10 = 0; | |
errorCode = 0; | |
v6 = v18; | |
if (v24 == 1) { | |
goto lab_0x14000c459_6; | |
} else { | |
goto lab_0x14000c3dc_2; | |
} | |
} | |
} | |
int64_t v47 = 0; // bp-144, 0x14000c1d6 | |
int64_t v48 = v12; // bp-136, 0x14000c1dd | |
int64_t v49 = v45 == 3 ? 2 : 1; // 0x14000c1e8 | |
int64_t v50 = function_14000cc98(&v16, &v48, v49, &v47, 0, (int64_t *)v12); // 0x14000c1f8 | |
errorCode = 0; | |
v6 = v18; | |
if (v50 == -1) { | |
// break -> 0x14000c459 | |
break; | |
} | |
// 0x14000c203 | |
v14 = v12 + v46; | |
v9 = v49; | |
} else { | |
lab_0x14000c0d2: | |
// 0x14000c0d2 | |
v13 = 5; | |
v25 = v1 - v12; | |
char v51 = *(char *)((int64_t)*(char *)v40 + 0x14001d910); // 0x14000c0e7 | |
int64_t v52 = (int64_t)v51 + 1; // 0x14000c0f0 | |
int64_t v53; // 0x14000bfc4 | |
int64_t v54 = v52 - v53; // 0x14000c0f6 | |
int64_t v55 = 0x100000000 * v54; | |
int64_t v56 = v55 / 0x100000000; // 0x14000c0f9 | |
if (v56 > v25) { | |
// 0x14000c37d | |
errorCode = 0; | |
v6 = v18; | |
if (v25 < 1) { | |
goto lab_0x14000c459_6; | |
} else { | |
// 0x14000c385 | |
*(char *)(v40 + v13) = *v31; | |
v7 = 1; | |
v15 = v13; | |
errorCode = 0; | |
v6 = v18; | |
if (v25 == 1) { | |
goto lab_0x14000c459_6; | |
} else { | |
goto lab_0x14000c38f; | |
} | |
} | |
} | |
int64_t v57 = v32 - v27; // 0x14000c10c | |
int64_t v58 = 0; // 0x14000c10f | |
int64_t v59 = v58 + v27; // 0x14000c117 | |
v58++; | |
*(char *)v59 = *(char *)(v57 + v20 + v59); | |
while (v58 < v13) { | |
// 0x14000c113 | |
v59 = v58 + v27; | |
v58++; | |
*(char *)v59 = *(char *)(v57 + v20 + v59); | |
} | |
if ((int32_t)v54 >= 1) { | |
// 0x14000c12e | |
function_140002760(v13 + v27, v12, v56, v57); | |
} | |
int64_t v60 = 0; | |
int64_t v61 = v60 + 1; // 0x14000c158 | |
*(char *)(v60 + v20 + *v2) = 0; | |
while (v61 < v13) { | |
// 0x14000c14d | |
v60 = v61; | |
v61 = v60 + 1; | |
*(char *)(v60 + v20 + *v2) = 0; | |
} | |
int64_t v62 = 0; // bp-160, 0x14000c169 | |
int64_t v63 = v27; // bp-152, 0x14000c16d | |
int64_t v64 = (int32_t)v52 == 4 ? 2 : 1; // 0x14000c188 | |
int64_t v65 = function_14000cc98(&v16, &v63, v64, &v62, 0, &v26); // 0x14000c190 | |
errorCode = 0; | |
v6 = v18; | |
if (v65 == -1) { | |
// break -> 0x14000c459 | |
break; | |
} | |
// 0x14000c19f | |
v14 = (v55 - 0x100000000) / 0x100000000 + v12; | |
v9 = v64; | |
} | |
goto lab_0x14000c298; | |
} | |
} | |
} | |
goto lab_0x14000c459_6; | |
lab_0x14000c298:; | |
uint32_t nNumberOfBytesToWrite = (int32_t)function_14000a47c(v4, 0, v21, (int32_t)v9, v22, 5); // 0x14000c2cd | |
errorCode = 0; | |
v6 = v18; | |
if (nNumberOfBytesToWrite == 0) { | |
// break -> 0x14000c459 | |
goto lab_0x14000c459_6; | |
} | |
// 0x14000c2d5 | |
int32_t lpNumberOfBytesWritten; // bp-236, 0x14000bfc4 | |
if (!WriteFile(hFile, &lpBuffer, nNumberOfBytesToWrite, &lpNumberOfBytesWritten, NULL)) { | |
// 0x14000c49e | |
errorCode = GetLastError(); | |
v6 = v18; | |
goto lab_0x14000c459_6; | |
} | |
// 0x14000c2fb | |
errorCode = 0; | |
v6 = v18; | |
if (lpNumberOfBytesWritten < nNumberOfBytesToWrite) { | |
// break -> 0x14000c459 | |
goto lab_0x14000c459_6; | |
} | |
int32_t v73 = v18; // 0x14000c31a | |
if (lpBuffer2 == 10) { | |
// 0x14000c31c | |
lpBuffer2 = 13; | |
if (!WriteFile(hFile, (int64_t *)&lpBuffer2, 1, &lpNumberOfBytesWritten, NULL)) { | |
// 0x14000c43e | |
errorCode = GetLastError(); | |
v6 = v18; | |
goto lab_0x14000c459_6; | |
} | |
// 0x14000c34d | |
errorCode = 0; | |
v6 = v18; | |
if (lpNumberOfBytesWritten == 0) { | |
// break -> 0x14000c459 | |
goto lab_0x14000c459_6; | |
} | |
// 0x14000c358 | |
v73 = v18 + 1; | |
} | |
int64_t v74 = v14 + 1; // 0x14000c2ab | |
v17 = v73; | |
v11 = v74; | |
errorCode = 0; | |
v6 = v73; | |
if (v74 >= v1) { | |
// break -> 0x14000c459 | |
goto lab_0x14000c459_6; | |
} | |
goto lab_0x14000c081; | |
lab_0x14000c261:; | |
int64_t v75 = function_140007300(&v16, v19, 2); // 0x14000c26c | |
v14 = v23; | |
v9 = 1; | |
errorCode = 0; | |
v6 = v18; | |
if ((int32_t)v75 == -1) { | |
// break -> 0x14000c459 | |
goto lab_0x14000c459_6; | |
} | |
goto lab_0x14000c298; | |
lab_0x14000c459_6:; | |
// 0x14000c459 | |
char v66; // 0x14000bfc4 | |
if (v66 != 0) { | |
int32_t * v67 = (int32_t *)(v5 + 936); // 0x14000c460 | |
*v67 = *v67 & -3; | |
} | |
// 0x14000c467 | |
*a1 = __asm_movsd_8(__asm_movsd((int64_t)errorCode)); | |
*(int32_t *)((int64_t)a1 + 8) = v6; | |
return function_140011ed0(g29); | |
lab_0x14000c3dc_2:; | |
int64_t v68 = v10 + 1; // 0x14000c3ee | |
int64_t v69 = (v8 & 0xffffffff) + 1; // 0x14000c3e0 | |
*(char *)(*v2 + v20 + v68) = *(char *)(v68 + v12); | |
v8 = v69; | |
v10 = v68; | |
errorCode = 0; | |
v6 = v18; | |
if (0x100000000 * v69 / 0x100000000 < v24) { | |
goto lab_0x14000c3dc_2; | |
} else { | |
goto lab_0x14000c459_6; | |
} | |
lab_0x14000c38f:; | |
int64_t v70 = v15 + 1; // 0x14000c39f | |
char v71 = *(char *)(v12 - v13 + v70); // 0x14000c38f | |
int64_t v72 = (v7 & 0xffffffff) + 1; // 0x14000c392 | |
*(char *)(*v2 + v20 + v70) = v71; | |
v7 = v72; | |
v15 = v70; | |
errorCode = 0; | |
v6 = v18; | |
if (0x100000000 * v72 / 0x100000000 < v25) { | |
goto lab_0x14000c38f; | |
} else { | |
goto lab_0x14000c459_6; | |
} | |
} | |
// Address range: 0x14000c4b0 - 0x14000c5b2 | |
int64_t function_14000c4b0(int64_t * a1, int64_t a2, uint64_t a3, int64_t a4) { | |
int64_t v1 = (int64_t)a1; | |
int64_t v2; // bp-24, 0x14000c4b0 | |
int64_t v3 = (int64_t)&v2 - __chkstk(v1, a2, a3); // 0x14000c4c8 | |
int64_t * v4 = (int64_t *)(v3 + 0x1440); // 0x14000c4d5 | |
*v4 = g29 ^ v3; | |
uint64_t v5 = (a4 & 0xffffffff) + a3; // 0x14000c4f8 | |
int64_t v6 = *(int64_t *)(8 * 0x100000000 * a2 / 0x4000000000 + (int64_t)&g85); // 0x14000c4fe | |
int64_t hFile = *(int64_t *)(72 * (a2 & 63) + 40 + v6); // 0x14000c506 | |
*a1 = 0; | |
int32_t * v7 = (int32_t *)(v1 + 8); // 0x14000c510 | |
*v7 = 0; | |
if (v5 <= a3) { | |
// 0x14000c587 | |
return function_140011ed0(*v4 ^ v3); | |
} | |
int64_t lpBuffer = v3 + 64; // 0x14000c518 | |
int32_t * lpNumberOfBytesWritten = (int32_t *)(v3 + 48); // 0x14000c563 | |
int32_t * v8 = (int32_t *)(v1 + 4); | |
int64_t v9 = a3; | |
int64_t v10 = lpBuffer; | |
int64_t v11 = v10; // 0x14000c520 | |
int64_t v12 = v9; // 0x14000c520 | |
int64_t v13; // 0x14000c4b0 | |
char v14; // 0x14000c522 | |
int64_t v15; // 0x14000c524 | |
int64_t v16; // 0x14000c536 | |
while (v9 < v5) { | |
// 0x14000c522 | |
v14 = *(char *)v9; | |
v13 = v10; | |
if (v14 == 10) { | |
// 0x14000c52b | |
*v7 = *v7 + 1; | |
*(char *)v10 = 13; | |
v13 = v10 + 1; | |
} | |
// 0x14000c534 | |
v15 = v9 + 1; | |
*(char *)v13 = v14; | |
v16 = v13 + 1; | |
v11 = v16; | |
v12 = v15; | |
if (v16 >= v3 + 0x143f) { | |
// break -> 0x14000c546 | |
break; | |
} | |
v9 = v15; | |
v10 = v16; | |
v11 = v10; | |
v12 = v9; | |
} | |
// 0x14000c546 | |
*(int64_t *)(v3 + 32) = 0; | |
uint32_t nNumberOfBytesToWrite = (int32_t)(v11 - lpBuffer); // 0x14000c558 | |
while (WriteFile((int64_t *)hFile, (int64_t *)lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, (struct _OVERLAPPED *)&g113)) { | |
uint32_t v17 = *lpNumberOfBytesWritten; // 0x14000c56d | |
*v8 = *v8 + v17; | |
if (v12 < v5 != v17 >= nNumberOfBytesToWrite) { | |
// 0x14000c587 | |
return function_140011ed0(*v4 ^ v3); | |
} | |
v9 = v12; | |
v10 = lpBuffer; | |
v11 = v10; | |
v12 = v9; | |
while (v9 < v5) { | |
// 0x14000c522 | |
v14 = *(char *)v9; | |
v13 = v10; | |
if (v14 == 10) { | |
// 0x14000c52b | |
*v7 = *v7 + 1; | |
*(char *)v10 = 13; | |
v13 = v10 + 1; | |
} | |
// 0x14000c534 | |
v15 = v9 + 1; | |
*(char *)v13 = v14; | |
v16 = v13 + 1; | |
v11 = v16; | |
v12 = v15; | |
if (v16 >= v3 + 0x143f) { | |
// break -> 0x14000c546 | |
break; | |
} | |
v9 = v15; | |
v10 = v16; | |
v11 = v10; | |
v12 = v9; | |
} | |
// 0x14000c546 | |
*(int64_t *)(v3 + 32) = 0; | |
nNumberOfBytesToWrite = (int32_t)(v11 - lpBuffer); | |
} | |
// 0x14000c57f | |
*(int32_t *)a1 = GetLastError(); | |
// 0x14000c587 | |
return function_140011ed0(*v4 ^ v3); | |
} | |
// Address range: 0x14000c5b4 - 0x14000c6cd | |
int64_t function_14000c5b4(int64_t * a1, int64_t a2, uint64_t a3, int64_t a4) { | |
int64_t v1 = (int64_t)a1; | |
int64_t v2; // bp-24, 0x14000c5b4 | |
int64_t v3 = (int64_t)&v2 - __chkstk(v1, a2, a3); // 0x14000c5cc | |
int64_t * v4 = (int64_t *)(v3 + 0x1440); // 0x14000c5d9 | |
*v4 = g29 ^ v3; | |
uint64_t v5 = (a4 & 0xffffffff) + a3; // 0x14000c5fc | |
int64_t v6 = *(int64_t *)(8 * 0x100000000 * a2 / 0x4000000000 + (int64_t)&g85); // 0x14000c602 | |
int64_t hFile = *(int64_t *)(72 * (a2 & 63) + 40 + v6); // 0x14000c60a | |
*a1 = 0; | |
int32_t * v7 = (int32_t *)(v1 + 8); // 0x14000c614 | |
*v7 = 0; | |
if (v5 <= a3) { | |
// 0x14000c6a2 | |
return function_140011ed0(*v4 ^ v3); | |
} | |
int64_t lpBuffer = v3 + 64; // 0x14000c620 | |
int32_t * lpNumberOfBytesWritten = (int32_t *)(v3 + 48); // 0x14000c67e | |
int32_t * v8 = (int32_t *)(v1 + 4); | |
int64_t v9 = a3; | |
int64_t v10 = lpBuffer; | |
int64_t v11 = v10; // 0x14000c628 | |
int64_t v12 = v9; // 0x14000c628 | |
int64_t v13; // 0x14000c5b4 | |
int16_t v14; // 0x14000c62a | |
int64_t v15; // 0x14000c62d | |
int64_t v16; // 0x14000c64a | |
while (v9 < v5) { | |
// 0x14000c62a | |
v14 = *(int16_t *)v9; | |
v13 = v10; | |
if (v14 == 10) { | |
// 0x14000c637 | |
*v7 = *v7 + 2; | |
*(int16_t *)v10 = 13; | |
v13 = v10 + 2; | |
} | |
// 0x14000c647 | |
v15 = v9 + 2; | |
*(int16_t *)v13 = v14; | |
v16 = v13 + 2; | |
v11 = v16; | |
v12 = v15; | |
if (v16 >= v3 + 0x143e) { | |
// break -> 0x14000c65b | |
break; | |
} | |
v9 = v15; | |
v10 = v16; | |
v11 = v10; | |
v12 = v9; | |
} | |
// 0x14000c65b | |
*(int64_t *)(v3 + 32) = 0; | |
uint32_t nNumberOfBytesToWrite = (int32_t)(v11 - lpBuffer) & -2; // 0x14000c67b | |
while (WriteFile((int64_t *)hFile, (int64_t *)lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, (struct _OVERLAPPED *)&g113)) { | |
uint32_t v17 = *lpNumberOfBytesWritten; // 0x14000c688 | |
*v8 = *v8 + v17; | |
if (v12 < v5 != v17 >= nNumberOfBytesToWrite) { | |
// 0x14000c6a2 | |
return function_140011ed0(*v4 ^ v3); | |
} | |
v9 = v12; | |
v10 = lpBuffer; | |
v11 = v10; | |
v12 = v9; | |
while (v9 < v5) { | |
// 0x14000c62a | |
v14 = *(int16_t *)v9; | |
v13 = v10; | |
if (v14 == 10) { | |
// 0x14000c637 | |
*v7 = *v7 + 2; | |
*(int16_t *)v10 = 13; | |
v13 = v10 + 2; | |
} | |
// 0x14000c647 | |
v15 = v9 + 2; | |
*(int16_t *)v13 = v14; | |
v16 = v13 + 2; | |
v11 = v16; | |
v12 = v15; | |
if (v16 >= v3 + 0x143e) { | |
// break -> 0x14000c65b | |
break; | |
} | |
v9 = v15; | |
v10 = v16; | |
v11 = v10; | |
v12 = v9; | |
} | |
// 0x14000c65b | |
*(int64_t *)(v3 + 32) = 0; | |
nNumberOfBytesToWrite = (int32_t)(v11 - lpBuffer) & -2; | |
} | |
// 0x14000c69a | |
*(int32_t *)a1 = GetLastError(); | |
// 0x14000c6a2 | |
return function_140011ed0(*v4 ^ v3); | |
} | |
// Address range: 0x14000c6d0 - 0x14000c840 | |
int64_t function_14000c6d0(int64_t * a1, int64_t a2, uint64_t a3, int64_t a4) { | |
int64_t v1 = (int64_t)a1; | |
int64_t v2; // bp-40, 0x14000c6d0 | |
int64_t v3 = (int64_t)&v2 - __chkstk(v1, a2, a3); // 0x14000c6ec | |
int64_t * v4 = (int64_t *)(v3 + 0x1460); // 0x14000c6f9 | |
*v4 = g29 ^ v3; | |
uint64_t v5 = (a4 & 0xffffffff) + a3; // 0x14000c71c | |
int64_t v6 = *(int64_t *)(8 * 0x100000000 * a2 / 0x4000000000 + (int64_t)&g85); // 0x14000c725 | |
int64_t hFile = *(int64_t *)(72 * (a2 & 63) + 40 + v6); // 0x14000c72d | |
*a1 = 0; | |
*(int32_t *)(v1 + 8) = 0; | |
if (v5 <= a3) { | |
// 0x14000c811 | |
return function_140011ed0(*v4 ^ v3); | |
} | |
int64_t v7 = v3 + 80; // 0x14000c743 | |
int64_t v8 = v3 + 1792; // 0x14000c79b | |
int64_t * v9 = (int64_t *)(v3 + 32); // 0x14000c7a6 | |
int32_t * lpNumberOfBytesWritten = (int32_t *)(v3 + 64); | |
int64_t v10 = a3; | |
int64_t v11 = v7; | |
int64_t v12 = v11; // 0x14000c74b | |
int64_t v13 = v10; // 0x14000c74b | |
int64_t v14; // 0x14000c6d0 | |
int16_t v15; // 0x14000c74d | |
int64_t v16; // 0x14000c750 | |
int64_t v17; // 0x14000c769 | |
while (v10 < v5) { | |
// 0x14000c74d | |
v15 = *(int16_t *)v10; | |
v14 = v11; | |
if (v15 == 10) { | |
// 0x14000c75a | |
*(int16_t *)v11 = 13; | |
v14 = v11 + 2; | |
} | |
// 0x14000c766 | |
v16 = v10 + 2; | |
*(int16_t *)v14 = v15; | |
v17 = v14 + 2; | |
v12 = v17; | |
v13 = v16; | |
if (v17 >= v3 + 1784) { | |
// break -> 0x14000c77a | |
break; | |
} | |
v10 = v16; | |
v11 = v17; | |
v12 = v11; | |
v13 = v10; | |
} | |
// 0x14000c77a | |
*(int64_t *)(v3 + 56) = 0; | |
*(int64_t *)(v3 + 48) = 0; | |
*(int32_t *)(v3 + 40) = 3413; | |
*v9 = v8; | |
int64_t v18 = function_14000a47c(0xfde9, 0, v7, (int32_t)((v12 - v7) / 2), (int64_t)&g113, (int32_t)&g113); // 0x14000c7b5 | |
uint32_t v19 = (int32_t)v18; // 0x14000c7bc | |
int64_t v20 = 0; // 0x14000c7be | |
while (v19 != 0) { | |
// 0x14000c743 | |
*v9 = 0; | |
int32_t v21 = v20; // 0x14000c7e4 | |
bool v22 = WriteFile((int64_t *)hFile, (int64_t *)(v20 + v8), v19 - v21, lpNumberOfBytesWritten, (struct _OVERLAPPED *)&g113); // 0x14000c7e7 | |
if (!v22) { | |
// break (via goto) -> 0x14000c809 | |
goto lab_0x14000c809; | |
} | |
uint32_t v23 = *lpNumberOfBytesWritten + v21; // 0x14000c7f1 | |
v20 = v23; | |
while (v23 < v19) { | |
// 0x14000c7c6 | |
*v9 = 0; | |
v21 = v20; | |
v22 = WriteFile((int64_t *)hFile, (int64_t *)(v20 + v8), v19 - v21, lpNumberOfBytesWritten, (struct _OVERLAPPED *)&g113); | |
if (!v22) { | |
// break (via goto) -> 0x14000c809 | |
goto lab_0x14000c809; | |
} | |
// 0x14000c7f1 | |
v23 = *lpNumberOfBytesWritten + v21; | |
v20 = v23; | |
} | |
// 0x14000c7f9 | |
*(int32_t *)(v1 + 4) = (int32_t)v13 - (int32_t)a3; | |
if (v13 >= v5) { | |
// 0x14000c811 | |
return function_140011ed0(*v4 ^ v3); | |
} | |
v10 = v13; | |
v11 = v7; | |
v12 = v11; | |
v13 = v10; | |
while (v10 < v5) { | |
// 0x14000c74d | |
v15 = *(int16_t *)v10; | |
v14 = v11; | |
if (v15 == 10) { | |
// 0x14000c75a | |
*(int16_t *)v11 = 13; | |
v14 = v11 + 2; | |
} | |
// 0x14000c766 | |
v16 = v10 + 2; | |
*(int16_t *)v14 = v15; | |
v17 = v14 + 2; | |
v12 = v17; | |
v13 = v16; | |
if (v17 >= v3 + 1784) { | |
// break -> 0x14000c77a | |
break; | |
} | |
v10 = v16; | |
v11 = v17; | |
v12 = v11; | |
v13 = v10; | |
} | |
// 0x14000c77a | |
*(int64_t *)(v3 + 56) = 0; | |
*(int64_t *)(v3 + 48) = 0; | |
*(int32_t *)(v3 + 40) = 3413; | |
*v9 = v8; | |
v18 = function_14000a47c(0xfde9, 0, v7, (int32_t)((v12 - v7) / 2), (int64_t)&g113, (int32_t)&g113); | |
v19 = (int32_t)v18; | |
v20 = 0; | |
} | |
lab_0x14000c809: | |
// 0x14000c809 | |
*(int32_t *)a1 = GetLastError(); | |
// 0x14000c811 | |
return function_140011ed0(*v4 ^ v3); | |
} | |
// Address range: 0x14000c840 - 0x14000c92b | |
int64_t function_14000c840(int64_t a1, int64_t a2, int64_t a3) { | |
int64_t v1 = 0x100000000 * a1; | |
int64_t v2 = v1 / 0x100000000; // 0x14000c861 | |
uint32_t v3 = (int32_t)v2; // 0x14000c864 | |
if (v3 == -2) { | |
// 0x14000c869 | |
*__doserrno() = 0; | |
*_errno() = 9; | |
// 0x14000c913 | |
return 0xffffffff; | |
} | |
if ((int32_t)a1 >= 0) { | |
// 0x14000c885 | |
if (g86 > v3) { | |
int64_t * v4 = (int64_t *)(8 * v1 / 0x4000000000 + (int64_t)&g85); // 0x14000c8a5 | |
int64_t v5 = 72 * (v2 & 63) + 56; | |
if ((*(char *)(*v4 + v5) & 1) != 0) { | |
// 0x14000c8b2 | |
function_14000acd4(v3); | |
int64_t result; // 0x14000c840 | |
if ((*(char *)(*v4 + v5) & 1) != 0) { | |
// 0x14000c8de | |
result = function_14000c92c(v2 & 0xffffffff, a2, a3 & 0xffffffff) & 0xffffffff; | |
} else { | |
// 0x14000c8c9 | |
*_errno() = 9; | |
*__doserrno() = 0; | |
result = 0xffffffff; | |
} | |
// 0x14000c8ed | |
function_14000acfc(v3); | |
// 0x14000c913 | |
return result; | |
} | |
} | |
} | |
// 0x14000c8f8 | |
*__doserrno() = 0; | |
*_errno() = 9; | |
int64_t v6; // 0x14000c840 | |
function_140006270(a1, a2, a3, v6); | |
// 0x14000c913 | |
return 0xffffffff; | |
} | |
// Address range: 0x14000c92c - 0x14000cc0f | |
int64_t function_14000c92c(int64_t a1, int64_t lpBuffer, int64_t a3) { | |
int32_t nNumberOfBytesToWrite = a3; // 0x14000c94e | |
if (nNumberOfBytesToWrite == 0) { | |
// 0x14000cbf7 | |
return 0; | |
} | |
int64_t v1 = a1; // 0x14000c95a | |
int64_t v2; // 0x14000c92c | |
char v3; // 0x14000c92c | |
char v4; // 0x14000c92c | |
int64_t v5; // 0x14000c92c | |
int64_t v6; // 0x14000c945 | |
int64_t v7; // 0x14000c948 | |
int64_t * v8; // 0x14000c993 | |
int64_t v9; // 0x14000c997 | |
char v10; // 0x14000c997 | |
if (lpBuffer != 0) { | |
int64_t v11 = 0x100000000 * a1; | |
v7 = v11 / 0x100000000; | |
v8 = (int64_t *)(8 * v11 / 0x4000000000 + (int64_t)&g85); | |
v1 = *v8; | |
v9 = 72 * (v7 & 63); | |
v10 = *(char *)(v1 + v9 + 57); | |
if ((a3 & 1) == 0 || v10 > 2) { | |
// 0x14000c9ad | |
v4 = lpBuffer; | |
v5 = v9 + 56; | |
v2 = v7 & 0xffffffff; | |
char v12 = v4; // 0x14000c9b3 | |
if ((*(char *)(v1 + v5) & 32) != 0) { | |
// 0x14000c9b5 | |
function_14000fe38(v2, 0, 2); | |
v12 = 0; | |
} | |
// 0x14000c9c3 | |
v6 = a3 & 0xffffffff; | |
v3 = v12; | |
if ((int32_t)function_14000e944(v2) == 0) { | |
goto lab_0x14000cae2; | |
} else { | |
// 0x14000c9d7 | |
v3 = v12; | |
if (*(char *)(*v8 + v5) < 0) { | |
// 0x14000c9ed | |
} else { | |
goto lab_0x14000cae2; | |
} | |
} | |
} else { | |
goto lab_0x14000c95c; | |
} | |
} else { | |
goto lab_0x14000c95c; | |
} | |
lab_0x14000cb74:; | |
char v13 = v4; // 0x14000cb74 | |
int64_t v14 = lpBuffer; // 0x14000cb74 | |
int32_t errorCode; // bp-104, 0x14000c92c | |
int128_t v15 = __asm_movsd((int64_t)errorCode); // 0x14000cb74 | |
int64_t v16 = 0; // 0x14000cb74 | |
int64_t v17 = v6; // 0x14000cb74 | |
goto lab_0x14000cb7e; | |
lab_0x14000c95c: | |
// 0x14000c95c | |
*__doserrno() = 0; | |
*_errno() = 22; | |
int64_t v22; // 0x14000c92c | |
function_140006270(v1, lpBuffer, a3, v22); | |
// 0x14000cbf7 | |
return 0xffffffff; | |
lab_0x14000cae2:; | |
int64_t v23 = *v8; // 0x14000cae9 | |
char v21; // 0x14000c92c | |
int64_t v24; // 0x14000c92c | |
int32_t lpNumberOfBytesWritten; // bp-100, 0x14000c92c | |
if (*(char *)(v23 + v5) < 0) { | |
if (v10 == 0) { | |
// 0x14000cb2d | |
v24 = function_14000c4b0((int64_t *)&errorCode, v2, lpBuffer, v6); | |
goto lab_0x14000cad6; | |
} else { | |
int32_t v25 = (int32_t)v10 - 1; // 0x14000cafb | |
if (v25 == 0) { | |
// 0x14000cb19 | |
v24 = function_14000c6d0((int64_t *)&errorCode, v2, lpBuffer, v6); | |
goto lab_0x14000cad6; | |
} else { | |
// 0x14000cb00 | |
v21 = v3; | |
if (v25 != 1) { | |
goto lab_0x14000cbbe; | |
} else { | |
// 0x14000cb05 | |
v24 = function_14000c5b4((int64_t *)&errorCode, v2, lpBuffer, v6); | |
goto lab_0x14000cad6; | |
} | |
} | |
} | |
} else { | |
int64_t hFile = *(int64_t *)(v9 + 40 + v23); // 0x14000cb41 | |
errorCode = 0; | |
if (!WriteFile((int64_t *)hFile, (int64_t *)lpBuffer, nNumberOfBytesToWrite, &lpNumberOfBytesWritten, NULL)) { | |
// 0x14000cb68 | |
errorCode = GetLastError(); | |
} | |
goto lab_0x14000cb74; | |
} | |
// 0x14000ca18 | |
int16_t lpMode; // bp-72, 0x14000c92c | |
int64_t v26 = &lpMode; // 0x14000ca23 | |
int64_t v27; // 0x14000c92c | |
int64_t hConsoleHandle = *(int64_t *)(v9 + 40 + v27); // 0x14000ca27 | |
bool v28 = GetConsoleMode((int64_t *)hConsoleHandle, (int32_t *)&lpMode); // 0x14000ca2c | |
char v29 = v26; | |
v3 = v29; | |
if (!v28) { | |
goto lab_0x14000cae2; | |
} else { | |
if (v10 == 0) { | |
int64_t v30 = function_14000bfc4((int64_t *)&errorCode, v2, lpBuffer, v6); // 0x14000cad1 | |
v24 = v30; | |
goto lab_0x14000cad6; | |
} else { | |
// 0x14000ca43 | |
v21 = v29; | |
unsigned char v31; // 0x14000c92c | |
if (v31 < 2) { | |
uint64_t v32 = v6 + lpBuffer; // 0x14000ca50 | |
errorCode = 0; | |
if (v32 > lpBuffer) { | |
uint32_t v33 = lpNumberOfBytesWritten; // 0x14000ca64 | |
int64_t v34 = 0; // 0x14000ca64 | |
int64_t v35 = v33; // 0x14000ca64 | |
int64_t v36 = lpBuffer; // 0x14000ca64 | |
int64_t v37 = v36; | |
int64_t v38 = v34; | |
uint16_t v39 = *(int16_t *)v37; // 0x14000ca67 | |
lpMode = v39; | |
int16_t v40 = lpMode; // 0x14000ca77 | |
while (v40 == (int16_t)function_14000fe40((int64_t)v39)) { | |
int64_t v41 = v35; | |
int64_t v42 = v41 + 2; // 0x14000ca80 | |
int64_t v43 = v42 & 0xffffffff; // 0x14000ca80 | |
lpNumberOfBytesWritten = v42; | |
int64_t v44 = v38; // 0x14000ca8a | |
int64_t v45 = v43; // 0x14000ca8a | |
if (v40 == 10) { | |
// 0x14000ca8c | |
if ((int16_t)function_14000fe40(13) != 13) { | |
// break -> 0x14000cab6 | |
break; | |
} | |
int64_t v46 = v43 + 1; // 0x14000caa0 | |
lpNumberOfBytesWritten = v46; | |
v44 = v38 + 1 & 0xffffffff; | |
v45 = v46 & 0xffffffff; | |
} | |
int64_t v47 = v45; | |
int64_t v48 = v44; | |
int64_t v49 = v37 + 2; // 0x14000caa7 | |
v34 = v48; | |
v35 = v47; | |
v36 = v49; | |
if (v49 >= v32) { | |
goto lab_0x14000cb74; | |
} | |
v37 = v36; | |
v38 = v34; | |
v39 = *(int16_t *)v37; | |
lpMode = v39; | |
v40 = lpMode; | |
} | |
// 0x14000cab6 | |
errorCode = GetLastError(); | |
} | |
goto lab_0x14000cb74; | |
} else { | |
goto lab_0x14000cbbe; | |
} | |
} | |
} | |
lab_0x14000cad6:; | |
int128_t v50 = __asm_movsd(*(int64_t *)v24); // 0x14000cad6 | |
v13 = v7; | |
v14 = v2; | |
v15 = v50; | |
v16 = (int64_t)*(int32_t *)(v24 + 8); | |
v17 = lpBuffer; | |
goto lab_0x14000cb7e; | |
lab_0x14000cb7e:; | |
int64_t v18 = __asm_movsd_8(v15); // 0x14000cb79 | |
int32_t v19 = v18; // 0x14000cb79 | |
if (v19 <= -1) { | |
// 0x14000cbf7 | |
int32_t v20; // 0x14000c92c | |
return v20 - (int32_t)v16; | |
} | |
// 0x14000cb8a | |
v21 = v13; | |
if (v19 != 0) { | |
if (v19 != 5) { | |
// 0x14000cbb1 | |
__acrt_errno_map_os_error(v18 & 0xffffffff, v14, v17); | |
} else { | |
// 0x14000cb96 | |
*_errno() = 9; | |
*__doserrno() = 5; | |
} | |
// 0x14000cbf7 | |
return 0xffffffff; | |
} | |
goto lab_0x14000cbbe; | |
lab_0x14000cbbe:; | |
int64_t result = 0; // 0x14000cbcf | |
if (v21 == 26 != (*(char *)(*v8 + v5) & 64) != 0) { | |
// 0x14000cbd6 | |
*_errno() = 28; | |
*__doserrno() = 0; | |
result = 0xffffffff; | |
} | |
// 0x14000cbf7 | |
return result; | |
} | |
// Address range: 0x14000cc10 - 0x14000cc5b | |
int64_t function_14000cc10(char a1) { | |
// 0x14000cc10 | |
int64_t v1; // bp-40, 0x14000cc10 | |
int64_t v2; // 0x14000cc10 | |
function_14000331c(&v1, v2); | |
int64_t result = 0; // 0x14000cc2b | |
if ((int32_t)a1 < 256) { | |
// 0x14000cc2d | |
int64_t v3; // 0x14000cc10 | |
int16_t v4 = *(int16_t *)(*(int64_t *)v3 + 2 * (int64_t)a1); // 0x14000cc35 | |
result = v4 & -0x8000; | |
} | |
// 0x14000cc42 | |
char v5; // 0x14000cc10 | |
if (v5 != 0) { | |
int32_t * v6 = (int32_t *)(v1 + 936); // 0x14000cc4e | |
*v6 = *v6 & -3; | |
} | |
// 0x14000cc55 | |
return result; | |
} | |
// Address range: 0x14000cc5c - 0x14000cc95 | |
int64_t function_14000cc5c(int64_t a1) { | |
// 0x14000cc5c | |
int32_t v1; // bp-24, 0x14000cc5c | |
int64_t v2; // 0x14000cc5c | |
int64_t v3; // 0x14000cc5c | |
int64_t v4; // 0x14000cc5c | |
uint64_t result = function_14000fe7c((int64_t *)&v1, v4, v3, v2); // 0x14000cc6a | |
if (result >= 5) { | |
// 0x14000cc8f | |
return result; | |
} | |
if (a1 != 0) { | |
uint32_t v5 = v1; // 0x14000cc75 | |
*(int16_t *)a1 = (int16_t)(v5 < 0x10000 ? v5 : 0xfffd); | |
} | |
// 0x14000cc8f | |
return result; | |
} | |
// Address range: 0x14000cc98 - 0x14000ce0e | |
int64_t function_14000cc98(int32_t * a1, int64_t * a2, int64_t a3, int64_t * a4, int64_t a5, int64_t * a6) { | |
int64_t v1 = (int64_t)a4; | |
int64_t v2 = (int64_t)a2; | |
int64_t v3 = a5; | |
int64_t v4 = v2; // 0x14000ccc4 | |
int64_t v5 = 0; // 0x14000ccc4 | |
if (a1 == NULL) { | |
int64_t result; // 0x14000cc98 | |
while (true) { | |
lab_0x14000cdbb:; | |
int64_t v6 = v4; | |
int64_t v7 = 1; // 0x14000cdbe | |
if (*(char *)v6 != 0) { | |
// 0x14000cdc8 | |
v7 = 2; | |
if (*(char *)(v6 + 1) != 0) { | |
// 0x14000cdd6 | |
v7 = *(char *)(v6 + 2) == 0 ? 3 : 4; | |
} | |
} | |
int64_t v8 = function_14000fe7c(NULL, v6, v7, v1); // 0x14000cded | |
result = v5; | |
switch (v8) { | |
case -1: { | |
goto lab_0x14000cd91; | |
} | |
case 0: { | |
return result; | |
} | |
default: { | |
// 0x14000cdfd | |
v4 = v8 + v6; | |
v5 = v5 + 1 + (int64_t)(v8 == 4); | |
goto lab_0x14000cdbb; | |
} | |
} | |
} | |
// 0x14000cda0 | |
return result; | |
} | |
int64_t v9 = (int64_t)a1; | |
int64_t v10 = v9; // 0x14000ccd0 | |
int64_t v11 = a3; // 0x14000ccd0 | |
int64_t v12 = v2; // 0x14000ccd0 | |
int64_t v13 = v9; // 0x14000ccd0 | |
int64_t v14 = v2; // 0x14000ccd0 | |
if (a3 == 0) { | |
goto lab_0x14000cd77_2; | |
lab_0x14000cd77_2: | |
// 0x14000cd77 | |
*a2 = v14; | |
// 0x14000cda0 | |
return (v13 - v9) / 2; | |
} | |
int64_t v15; // 0x14000cc98 | |
while (true) { | |
lab_0x14000ccd6: | |
// 0x14000ccd6 | |
v15 = v12; | |
int64_t v16 = v11; | |
int64_t v17 = v10; | |
int64_t v18 = 1; // 0x14000ccd9 | |
if (*(char *)v15 != 0) { | |
// 0x14000cce3 | |
v18 = 2; | |
if (*(char *)(v15 + 1) != 0) { | |
// 0x14000ccf1 | |
v18 = *(char *)(v15 + 2) == 0 ? 3 : 4; | |
} | |
} | |
int64_t v19 = function_14000fe7c(&v3, v15, v18, v1); // 0x14000cd0b | |
switch (v19) { | |
case -1: { | |
goto lab_0x14000cd8e; | |
} | |
case 0: { | |
// 0x14000cd85 | |
*(int16_t *)v17 = 0; | |
v13 = v17; | |
v14 = 0; | |
goto lab_0x14000cd77_2; | |
} | |
default: { | |
int64_t v20 = v3 & 0xffffffff; // 0x14000cd1e | |
int64_t v21 = v20; // 0x14000cd28 | |
int64_t v22 = v17; // 0x14000cd28 | |
int64_t v23 = v16; // 0x14000cd28 | |
if ((int32_t)v3 >= 0x10000) { | |
// 0x14000cd2a | |
v13 = v17; | |
v14 = v15; | |
if (v16 < 2) { | |
goto lab_0x14000cd77_2; | |
} | |
uint64_t v24 = v20 + 0xffff0000; // 0x14000cd30 | |
v3 = 0x100000000 * v24 / 0x100000000; | |
*(int16_t *)v17 = (int16_t)(v24 / 1024) | -0x2800; | |
v21 = v24 & 0xffff03ff | 0xdc00; | |
v22 = v17 + 2; | |
v23 = v16 - 1; | |
} | |
// 0x14000cd63 | |
*(int16_t *)v22 = (int16_t)v21; | |
v12 = v19 + v15; | |
v10 = v22 + 2; | |
v11 = v23 - 1; | |
v13 = v10; | |
v14 = v12; | |
if (v11 == 0) { | |
goto lab_0x14000cd77_2; | |
} | |
goto lab_0x14000ccd6; | |
} | |
} | |
} | |
lab_0x14000cd8e: | |
// 0x14000cd8e | |
*a2 = v15; | |
lab_0x14000cd91: | |
// 0x14000cd91 | |
*_errno() = 42; | |
// 0x14000cda0 | |
return -1; | |
} | |
// Address range: 0x14000ce10 - 0x14000cec3 | |
int64_t function_14000ce10(int64_t a1, int16_t a2, int64_t * a3) { | |
if (a1 == 0) { | |
// 0x14000ce19 | |
*a3 = 0; | |
// 0x14000cebe | |
return 1; | |
} | |
if (a2 == 0) { | |
// 0x14000ce2b | |
*(char *)a1 = (char)a2; | |
// 0x14000ce19 | |
*a3 = 0; | |
// 0x14000cebe | |
return 1; | |
} | |
int64_t v1 = a2; | |
if ((v1 & 0xffffff80) == 0) { | |
// 0x14000ce37 | |
*(char *)a1 = (char)a2; | |
// 0x14000cebe | |
return 1; | |
} | |
int64_t v2 = 1; // 0x14000ce41 | |
int64_t v3 = 192; // 0x14000ce41 | |
if ((v1 & 0xfffff800) != 0) { | |
// 0x14000ce4e | |
v2 = 2; | |
v3 = 224; | |
if ((v1 & 0xffff0000) != 0) { | |
// 0x14000ce6e | |
v2 = 3; | |
v3 = 240; | |
if (a2 > -1 != ((v1 & 0xffe00000) == 0)) { | |
// 0x14000ceab | |
*a3 = 0; | |
*_errno() = 42; | |
// 0x14000cebe | |
return -1; | |
} | |
} | |
} | |
int64_t v4 = v2; // 0x14000ce87 | |
uint64_t v5 = v1 / 64; // 0x14000ce8c | |
*(char *)(v4 + a1) = (char)v1 & 63 | -128; | |
v4--; | |
int64_t v6 = v5 & 0x3ffffff; // 0x14000ce9b | |
while (v4 != 0) { | |
// 0x14000ce8a | |
v5 = v6 / 64; | |
*(char *)(v4 + a1) = (char)v6 & 63 | -128; | |
v4--; | |
v6 = v5 & 0x3ffffff; | |
} | |
// 0x14000ce9d | |
*(char *)a1 = (char)(v5 | v3); | |
*a3 = v4 & (int64_t)a3; | |
// 0x14000cebe | |
return v2 + 1; | |
} | |
// Address range: 0x14000cec4 - 0x14000d01f | |
int64_t function_14000cec4(int64_t a1, uint64_t a2, int64_t a3, int64_t * a4, int64_t a5, int64_t a6) { | |
int64_t v1 = (int64_t)a4; | |
int64_t v2 = v1; | |
int64_t v3 = a1; | |
char v4; // 0x14000cec4 | |
int64_t v5; // 0x14000cec4 | |
int32_t * v6; // 0x14000cec4 | |
int64_t result; // 0x14000cec4 | |
if (a1 == 0 || a2 == 0) { | |
goto lab_0x14000cee7; | |
} else { | |
// 0x14000cf04 | |
*(char *)a1 = 0; | |
int32_t v7 = a3; | |
if ((v7 >= 0 == (v7 != 0) ? (0x100000000 * a3 + 0x100000000) / 0x100000000 : 1) < a2) { | |
if (a4 == NULL) { | |
goto lab_0x14000cee7; | |
} else { | |
int64_t v8 = *(int64_t *)(v2 + 8); // 0x14000cf2a | |
*(char *)v3 = 48; | |
int64_t v9 = v3 + 1; | |
int64_t v10 = v8; // 0x14000cf4f | |
v5 = v9; | |
bool v11 = v7 < 0; // 0x14000cf4f | |
if (v7 >= 0 == (v7 != 0)) { | |
char v12 = *(char *)v8; // 0x14000cf37 | |
int64_t v13 = v8 + (int64_t)(v12 != 0); | |
*(char *)v9 = v12 == 0 ? 48 : v12; | |
int64_t v14 = a3 + 0xffffffff; // 0x14000cf49 | |
int64_t v15 = v9 + 1; | |
int32_t v16 = v14; // 0x14000cf4c | |
int64_t v17 = v15; // 0x14000cf4f | |
int64_t v18 = v14 & 0xffffffff; // 0x14000cf4f | |
int64_t v19 = v13; // 0x14000cf4f | |
v10 = v13; | |
v5 = v15; | |
v11 = v16 < 0; | |
while (v16 >= 0 == (v16 != 0)) { | |
// 0x14000cf37 | |
v12 = *(char *)v19; | |
v13 = v19 + (int64_t)(v12 != 0); | |
*(char *)v17 = v12 == 0 ? 48 : v12; | |
v14 = v18 + 0xffffffff; | |
v15 = v17 + 1; | |
v16 = v14; | |
v17 = v15; | |
v18 = v14 & 0xffffffff; | |
v19 = v13; | |
v10 = v13; | |
v5 = v15; | |
v11 = v16 < 0; | |
} | |
} | |
// 0x14000cf51 | |
*(char *)v5 = 0; | |
if (v11) { | |
goto lab_0x14000cfda; | |
} else { | |
if ((int32_t)a6 != 0) { | |
int32_t v20 = function_14000e718(v3); // 0x14000cf71 | |
if (v20 != 0) { | |
int32_t v21 = *(int32_t *)&v2; // 0x14000cf5f | |
if (v20 != 512) { | |
if (v20 != 256) { | |
goto lab_0x14000cfda; | |
} else { | |
// 0x14000cfb6 | |
if (v21 != 45 | *(char *)v10 == 48) { | |
goto lab_0x14000cfda; | |
} else { | |
goto lab_0x14000cfcd; | |
} | |
} | |
} else { | |
// 0x14000cfa5 | |
if (v21 == 45 | *(char *)v10 == 48) { | |
goto lab_0x14000cfda; | |
} else { | |
goto lab_0x14000cfcd; | |
} | |
} | |
} else { | |
char v22 = *(char *)v10; // 0x14000cf75 | |
if (v22 > 53) { | |
goto lab_0x14000cfcd; | |
} else { | |
if (v22 == 53) { | |
// 0x14000cf7c | |
if ((int32_t)a5 == 0) { | |
goto lab_0x14000cfcd; | |
} else { | |
int64_t v23 = v10 + 1; | |
unsigned char v24 = *(char *)v23; // 0x14000cf8c | |
int64_t v25 = v3 & -256 | (int64_t)v24; // 0x14000cf8c | |
v3 = v25; | |
int64_t v26 = v25; // 0x14000cf91 | |
int64_t v27 = v23; // 0x14000cf91 | |
while (v24 == 48) { | |
// 0x14000cf8c | |
v23 = v27 + 1; | |
v24 = *(char *)v23; | |
v25 = v26 & -256 | (int64_t)v24; | |
v3 = v25; | |
v26 = v25; | |
v27 = v23; | |
} | |
if (v24 != 0) { | |
goto lab_0x14000cfcd; | |
} else { | |
// 0x14000cf97 | |
v4 = *(char *)(v10 - 1) & 1; | |
goto lab_0x14000cfc4; | |
} | |
} | |
} else { | |
goto lab_0x14000cfda; | |
} | |
} | |
} | |
} else { | |
char v28 = *(char *)v10; // 0x14000cf64 | |
v4 = v28 < 53 == (52 - v28 & v28) < 0; | |
goto lab_0x14000cfc4; | |
} | |
} | |
} | |
} else { | |
// 0x14000cf19 | |
v6 = _errno(); | |
result = 34; | |
goto lab_0x14000cef1; | |
} | |
} | |
lab_0x14000cee7: | |
// 0x14000cee7 | |
v6 = _errno(); | |
result = 22; | |
goto lab_0x14000cef1; | |
lab_0x14000cef1: | |
// 0x14000cef1 | |
*v6 = (int32_t)result; | |
function_140006270(v3, a2, a3, v2); | |
// 0x14000d006 | |
return result; | |
lab_0x14000cfda:; | |
int64_t v29 = -1; // 0x14000cfde | |
if (*(char *)&v3 == 49) { | |
int32_t * v30 = (int32_t *)(v1 + 4); // 0x14000cfe0 | |
*v30 = *v30 + 1; | |
// 0x14000d006 | |
return 0; | |
} | |
int64_t v31 = v29 + 2; // 0x14000cfed | |
v29++; | |
while (*(char *)(v31 + a1) != 0) { | |
// 0x14000cfea | |
v31 = v29 + 2; | |
v29++; | |
} | |
// 0x14000cff5 | |
function_140002760(a1, a1 + 1, v31, v2); | |
// 0x14000d006 | |
return 0; | |
lab_0x14000cfc4: | |
// 0x14000cfc4 | |
if (v4 == 0) { | |
goto lab_0x14000cfda; | |
} else { | |
goto lab_0x14000cfcd; | |
} | |
lab_0x14000cfcd:; | |
int64_t v32 = v5 - 1; // 0x14000cfcd | |
char * v33 = (char *)v32; // 0x14000cfd0 | |
char v34 = *v33; // 0x14000cfd0 | |
char * v35 = v33; // 0x14000cfd4 | |
char v36 = v34; // 0x14000cfd4 | |
if (v34 == 57) { | |
*v33 = 48; | |
int64_t v37 = v32 - 1; // 0x14000cfcd | |
char * v38 = (char *)v37; | |
char v39 = *v38; // 0x14000cfd0 | |
int64_t v40 = v37; // 0x14000cfd4 | |
v35 = v38; | |
v36 = v39; | |
while (v39 == 57) { | |
// 0x14000cfca | |
*v38 = 48; | |
v37 = v40 - 1; | |
v38 = (char *)v37; | |
v39 = *v38; | |
v40 = v37; | |
v35 = v38; | |
v36 = v39; | |
} | |
} | |
// 0x14000cfd6 | |
*v35 = v36 + 1; | |
goto lab_0x14000cfda; | |
} | |
// Address range: 0x14000d020 - 0x14000d449 | |
int64_t function_14000d020(int32_t * a1, int32_t * a2) { | |
int64_t v1 = (int64_t)a1; | |
int32_t v2 = v1; | |
if (v2 == 0) { | |
// 0x14000d437 | |
return 0; | |
} | |
int64_t v3 = (int64_t)a2; | |
uint32_t v4 = (int32_t)v3; | |
if (v4 == 0) { | |
// 0x14000d437 | |
return 0; | |
} | |
uint32_t v5 = v2 - 1; | |
int64_t v6 = v5; // 0x14000d052 | |
if (v4 == 1) { | |
uint32_t v7 = *(int32_t *)(v3 + 4); // 0x14000d060 | |
int64_t v8; // bp-532, 0x14000d020 | |
if (v7 == 1) { | |
int64_t v9 = v1 + 4; // 0x14000d06c | |
*a1 = 0; | |
memcpy_s((int64_t *)v9, 460, &v8, 0); | |
// 0x14000d437 | |
return (int64_t)*(int32_t *)v9; | |
} | |
uint64_t v10 = (int64_t)v7; // 0x14000d060 | |
int64_t v11 = v1 + 4; | |
if (v5 == 0) { | |
int32_t * v12 = (int32_t *)v11; | |
uint32_t v13 = *v12; // 0x14000d097 | |
*a1 = 0; | |
memcpy_s((int64_t *)v11, 460, &v8, 0); | |
uint32_t v14 = v13 % v7; | |
*v12 = v14; | |
*a1 = (int32_t)(v14 != 0); | |
// 0x14000d437 | |
return v13 / v7; | |
} | |
int64_t v15 = v6 + 0xffffffff; // 0x14000d0ec | |
uint64_t v16 = (int64_t)*(int32_t *)(4 * v6 + v11); // 0x14000d0ef | |
int64_t v17 = v16 % v10; | |
int64_t result = v16 / v10 & 0xffffffff; // 0x14000d0fe | |
int64_t v18 = result; // 0x14000d104 | |
int64_t v19 = v15 & 0xffffffff; // 0x14000d104 | |
while ((int32_t)v15 != -1) { | |
// 0x14000d0e1 | |
v15 = v19 + 0xffffffff; | |
v16 = 0x100000000 * v17 | (int64_t)*(int32_t *)(4 * v19 + v11); | |
v17 = v16 % v10; | |
result = v16 / v10 & 0xffffffff | 0x100000000 * v18; | |
v18 = result; | |
v19 = v15 & 0xffffffff; | |
} | |
// 0x14000d106 | |
*a1 = 0; | |
memcpy_s((int64_t *)v11, 460, &v8, 0); | |
*(int32_t *)v11 = (int32_t)v17; | |
*(int32_t *)(v1 + 8) = 0; | |
*a1 = 1; | |
// 0x14000d437 | |
return result; | |
} | |
uint32_t v20 = v4 - 1; | |
if (v20 > v5) { | |
// 0x14000d437 | |
return 0; | |
} | |
int64_t v21 = v5; // 0x14000d14e | |
int64_t v22 = v6 - (int64_t)v20; // 0x14000d151 | |
int64_t v23 = 0x100000000 * v22; | |
int64_t v24 = v23 / 0x100000000; // 0x14000d157 | |
int64_t v25; // 0x14000d020 | |
if (v24 > v21) { | |
// 0x14000d1a8 | |
v25 = v22 + 1; | |
goto lab_0x14000d1ab; | |
} else { | |
int64_t v26 = v1 + 4; | |
int64_t v27 = v21; // 0x14000d174 | |
int64_t v28 = v26 + 4 * v21; // 0x14000d174 | |
int64_t v29 = v6; | |
int32_t v30 = *(int32_t *)(v3 - v1 - v23 / 0x40000000 + v28); // 0x14000d17a | |
while (v30 == *(int32_t *)v28) { | |
uint64_t v31 = v27; // 0x14000d183 | |
v27 = v31 - 1; | |
v28 -= 4; | |
if (v31 <= v24) { | |
// 0x14000d1a8 | |
v25 = v22 + 1; | |
goto lab_0x14000d1ab; | |
} | |
v29 = v29 + 0xffffffff & 0xffffffff; | |
v30 = *(int32_t *)(v3 - v1 - v23 / 0x40000000 + v28); | |
} | |
uint32_t v32 = *(int32_t *)(v3 + 4 + 0x100000000 * (v29 - v22) / 0x40000000); // 0x14000d1a1 | |
v25 = v22; | |
if (v32 >= *(int32_t *)(v26 + 0x100000000 * v29 / 0x40000000)) { | |
goto lab_0x14000d1ab; | |
} else { | |
// 0x14000d1a8 | |
v25 = v22 + 1; | |
goto lab_0x14000d1ab; | |
} | |
} | |
lab_0x14000d304:; | |
// 0x14000d304 | |
int64_t v33; // 0x14000d020 | |
int64_t v34 = v33; | |
int64_t v35; // 0x14000d020 | |
int64_t v36 = v35; | |
int64_t v37; // 0x14000d020 | |
uint64_t v38 = v33 * v37; | |
int64_t v39 = v34; // 0x14000d31e | |
int64_t v40; // 0x14000d020 | |
uint64_t v41; // 0x14000d249 | |
while (v38 > (0x100000000 * v36 || v40)) { | |
int64_t v42 = v34 - 1; // 0x14000d320 | |
int64_t v43 = v36 + v41; // 0x14000d326 | |
int64_t v44 = v38 - v37; // 0x14000d32c | |
int64_t v45 = v43; // 0x14000d32c | |
int64_t v46 = v42; // 0x14000d32c | |
v39 = v42; | |
if (v43 >= 0x100000000) { | |
// break -> 0x14000d32e | |
break; | |
} | |
v34 = v46; | |
v36 = v45; | |
v38 = v44; | |
v39 = v34; | |
} | |
int64_t v47 = v39; // 0x14000d331 | |
int64_t v48 = 0; // 0x14000d331 | |
int64_t v49; // 0x14000d020 | |
int64_t v50 = v49; // 0x14000d331 | |
if (v39 == 0) { | |
goto lab_0x14000d3e1; | |
} else { | |
goto lab_0x14000d341; | |
} | |
lab_0x14000d341:; | |
int64_t v51 = v47; | |
int64_t v52 = 0; // 0x14000d34d | |
int64_t v53 = v3 + 4; | |
uint64_t v54 = v51 * (int64_t)*(int32_t *)v53; // 0x14000d35a | |
int64_t v55; // 0x14000d020 | |
int64_t v56; // 0x14000d020 | |
int32_t * v57 = (int32_t *)((4 * (v52 + v55) & 0x3fffffffc) + v56); // 0x14000d36a | |
uint32_t v58 = *v57; // 0x14000d36a | |
uint32_t v59 = (int32_t)v54; // 0x14000d374 | |
int64_t v60 = v54 / 0x100000000 + (int64_t)(v58 < v59); // 0x14000d377 | |
int64_t v61 = v52 + 1; // 0x14000d37e | |
*v57 = v58 - v59; | |
int64_t v62 = v53; // 0x14000d388 | |
v52 = v61 & 0xffffffff; | |
while (v4 > (int32_t)v61) { | |
// 0x14000d350 | |
v53 = v62 + 4; | |
v54 = v51 * (int64_t)*(int32_t *)v53 + v60; | |
v57 = (int32_t *)((4 * (v52 + v55) & 0x3fffffffc) + v56); | |
v58 = *v57; | |
v59 = (int32_t)v54; | |
v60 = v54 / 0x100000000 + (int64_t)(v58 < v59); | |
v61 = v52 + 1; | |
*v57 = v58 - v59; | |
v62 = v53; | |
v52 = v61 & 0xffffffff; | |
} | |
int64_t v63 = 0; // 0x14000d399 | |
int64_t v64 = v51; // 0x14000d399 | |
uint64_t v65; // 0x14000d020 | |
if (v65 < v60) { | |
int64_t v66 = v3 + 4; | |
int64_t v67 = v63 + 1; // 0x14000d3b5 | |
int32_t * v68 = (int32_t *)((4 * (v63 + v55) & 0x3fffffffc) + v56); | |
uint64_t v69 = (int64_t)*v68 + (int64_t)*(int32_t *)v66; // 0x14000d3ca | |
*v68 = (int32_t)v69; | |
int64_t v70 = v69 / 0x100000000; // 0x14000d3d8 | |
v63 = v67 & 0xffffffff; | |
int64_t v71 = v66; // 0x14000d3d8 | |
while (v4 > (int32_t)v67) { | |
// 0x14000d3b1 | |
v66 = v71 + 4; | |
v67 = v63 + 1; | |
v68 = (int32_t *)((4 * (v63 + v55) & 0x3fffffffc) + v56); | |
v69 = v70 + (int64_t)*v68 + (int64_t)*(int32_t *)v66; | |
*v68 = (int32_t)v69; | |
v70 = v69 / 0x100000000; | |
v63 = v67 & 0xffffffff; | |
v71 = v66; | |
} | |
// 0x14000d3da | |
v64 = v51 - 1; | |
} | |
// 0x14000d3dd | |
v48 = v64; | |
int64_t v72; // 0x14000d020 | |
v50 = v72 + 0xffffffff & 0xffffffff; | |
goto lab_0x14000d3e1; | |
lab_0x14000d3e1:; | |
// 0x14000d3e1 | |
int64_t v73; // 0x14000d020 | |
int64_t v74 = v48 & 0xffffffff | 0x100000000 * v73; // 0x14000d3eb | |
int32_t v75 = (int32_t)v55 - 1; // 0x14000d3ee | |
int64_t v76 = v50; // 0x14000d3f2 | |
v73 = v74; | |
int64_t v77; // 0x14000d020 | |
int64_t v78 = v77 + 0xffffffff; // 0x14000d3f2 | |
int64_t v79 = v75; // 0x14000d3f2 | |
int64_t v80 = v50; // 0x14000d3f2 | |
int64_t result2 = v74; // 0x14000d3f2 | |
if (v75 < 0) { | |
// break -> 0x14000d400 | |
goto lab_0x14000d400; | |
} | |
goto lab_0x14000d262; | |
lab_0x14000d1ab:; | |
int64_t v100 = v25 & 0xffffffff; | |
if (v100 == 0) { | |
// 0x14000d437 | |
return 0; | |
} | |
int64_t v101 = v3 & 0xffffffff; // 0x14000d048 | |
int64_t v102 = 4 * v101; // 0x14000d1b4 | |
int64_t v103 = v3 + 4; // 0x14000d1bc | |
uint32_t v104 = *(int32_t *)((v102 + 0x3fffffffc & 0x3fffffffc) + v103); // 0x14000d1bc | |
int64_t v105 = v104; // 0x14000d1bc | |
int64_t v106 = v101 + 0xfffffffe; // 0x14000d1c1 | |
uint32_t v107 = *(int32_t *)((4 * v106 & 0x3fffffffc) + v103); // 0x14000d1c4 | |
uint32_t v108 = v104 == 0 ? (int32_t)v106 : llvm_ctlz_i32(v104, true) ^ 31; // 0x14000d1c9 | |
int64_t v92 = v104 == 0 ? 32 : 31 - (int64_t)v108; | |
int64_t v91 = 32 - (v92 & 0xffffffff); // 0x14000d1e4 | |
int32_t v89 = v92; | |
int32_t v96 = v91; // 0x14000d1ef | |
int32_t v109 = v107; // 0x14000d1f6 | |
int64_t v110 = v105; // 0x14000d1f6 | |
if (v89 != 0) { | |
uint32_t v111 = v96 & 31; // 0x14000d1ff | |
uint32_t v112 = v89 & 31; | |
int32_t v113 = v107 << v112; | |
int64_t v114 = (v112 == 0 ? v105 : (int64_t)(v104 << v112)) | (int64_t)(v107 >> v111); // 0x14000d20b | |
v109 = v113; | |
v110 = v114; | |
if (v4 >= 3) { | |
uint32_t v115 = *(int32_t *)((v102 + 0x3fffffff4 & 0x3fffffffc) + v103); // 0x14000d21f | |
v109 = v115 >> v111 | v113; | |
v110 = v114; | |
} | |
} | |
int64_t v116 = v100 + 0xffffffff; // 0x14000d231 | |
v80 = v6; | |
result2 = 0; | |
if ((int32_t)v116 >= 0) { | |
// 0x14000d241 | |
v37 = v109; | |
v41 = v110 & 0xffffffff; | |
v56 = v1 + 4; | |
uint32_t v94 = v89 & 31; | |
v76 = v6; | |
v73 = 0; | |
v78 = v116 + v101; | |
v79 = v116 & 0xffffffff; | |
while (true) { | |
lab_0x14000d262: | |
// 0x14000d262 | |
v55 = v79; | |
v72 = v78; | |
v49 = v76; | |
v77 = v72 & 0xffffffff; | |
uint32_t v81 = (int32_t)v72; // 0x14000d262 | |
int64_t v82 = 4 * v77; | |
int64_t v83 = 0; // 0x14000d265 | |
if (v81 <= (int32_t)v49) { | |
// 0x14000d267 | |
v83 = (int64_t)*(int32_t *)(v82 + v56); | |
} | |
// 0x14000d270 | |
v65 = v83; | |
uint32_t v84 = *(int32_t *)((v82 + 0x3fffffff8 & 0x3fffffffc) + v56); // 0x14000d283 | |
int64_t v85 = v84; // 0x14000d283 | |
int64_t v86 = (int64_t)*(int32_t *)((v82 + 0x3fffffffc & 0x3fffffffc) + v56); | |
int64_t v87 = v86; // 0x14000d29a | |
int64_t v88 = v85; // 0x14000d29a | |
if (v89 != 0) { | |
int64_t v90 = v85 >> (v91 & 63) | v86 << (v92 & 63); // 0x14000d2b1 | |
int64_t v93 = v94 == 0 ? v85 : (int64_t)(v84 << v94); | |
v87 = v90; | |
v88 = v93; | |
if (v81 >= 3) { | |
uint32_t v95 = *(int32_t *)((v82 + 0x3fffffff4 & 0x3fffffffc) + v56); // 0x14000d2c5 | |
v87 = v90; | |
v88 = v95 >> (v96 & 31) | (int32_t)v93; | |
} | |
} | |
// 0x14000d2d5 | |
v40 = v88; | |
uint64_t v97 = v87 / v41; // 0x14000d2da | |
int64_t v98 = v87 % v41; | |
v33 = v97; | |
v35 = v98; | |
if (v97 > 0xffffffff) { | |
int64_t v99 = (v97 - 0xffffffff) * v41 + v98; // 0x14000d2fc | |
v33 = 0xffffffff; | |
v35 = v99; | |
v47 = 0xffffffff; | |
if (v99 > 0xffffffff) { | |
goto lab_0x14000d341; | |
} else { | |
goto lab_0x14000d304; | |
} | |
} else { | |
goto lab_0x14000d304; | |
} | |
} | |
} | |
lab_0x14000d400:; | |
int64_t v117 = v80 + 1; // 0x14000d400 | |
int32_t v118 = v117; // 0x14000d406 | |
*a1 = v118; | |
if (v118 == 0) { | |
// 0x14000d437 | |
return result2; | |
} | |
int64_t v119 = (v117 & 0xffffffff) + 0xffffffff; // 0x14000d422 | |
int64_t v120 = v119 & 0xffffffff; // 0x14000d422 | |
while (*(int32_t *)(v1 + 4 + 4 * v120) == 0) { | |
int32_t v121 = v119; // 0x14000d42a | |
*a1 = v121; | |
if (v121 == 0) { | |
// break -> 0x14000d437 | |
break; | |
} | |
v119 = v120 + 0xffffffff; | |
v120 = v119 & 0xffffffff; | |
} | |
// 0x14000d437 | |
return result2; | |
} | |
// Address range: 0x14000d44c - 0x14000e690 | |
int64_t function_14000d44c(int64_t a1, int64_t a2, int64_t * a3, int64_t a4, int64_t a5) { | |
// 0x14000d44c | |
int32_t v1; // bp-1984, 0x14000d44c | |
function_1400100b8((int64_t *)&v1); | |
char v2 = 0; // 0x14000d4a5 | |
if ((v1 & 31) != 31) { | |
// 0x14000d4ae | |
function_140010124((int64_t *)&v1); | |
v2 = 1; | |
} | |
int64_t v3 = (int64_t)a3; | |
*(int64_t *)(v3 + 8) = a4; | |
*(int32_t *)a3 = a1 < 0 ? 45 : 32; | |
int32_t v4; // bp-1968, 0x14000d44c | |
function_140010054((int64_t *)&v4, 0, 0); | |
int64_t v5 = a1 / 0x10000000000000 & 2047; // 0x14000d501 | |
int64_t v6; // 0x14000d44c | |
if (v5 != 0) { | |
goto lab_0x14000d53e; | |
} else { | |
if ((a1 & 0xfffffffffffff) == 0) { | |
// 0x14000d515 | |
*(int32_t *)(v3 + 4) = 0; | |
v6 = (int64_t)&g22; | |
goto lab_0x14000d522; | |
} else { | |
// 0x14000d50b | |
if ((v4 & 0x1000000) == 0) { | |
goto lab_0x14000d53e; | |
} else { | |
// 0x14000d515 | |
*(int32_t *)(v3 + 4) = 0; | |
v6 = (int64_t)&g22; | |
goto lab_0x14000d522; | |
} | |
} | |
} | |
lab_0x14000e040:; | |
// 0x14000e040 | |
int64_t v7; // 0x14000d44c | |
int32_t v8 = v7; // bp-1928, 0x14000e040 | |
int64_t v9; // 0x14000d44c | |
int64_t v10 = v9; // 0x14000e044 | |
int64_t v11 = v7; // 0x14000e044 | |
goto lab_0x14000e316; | |
lab_0x14000e316:; | |
// 0x14000e316 | |
int64_t v12; // 0x14000d44c | |
int32_t v13; // 0x14000d44c | |
int32_t v14 = v13 - (int32_t)v12; // 0x14000e321 | |
v13 = v14; | |
int64_t v15 = v14; // 0x14000e32e | |
int64_t v16 = v10; // 0x14000e32e | |
int64_t v17 = v11; // 0x14000e32e | |
int32_t v18; // 0x14000d44c | |
int32_t v19 = v18; // 0x14000e32e | |
int64_t v20 = v11; // 0x14000e32e | |
if (v14 == 0) { | |
// break -> 0x14000e33c | |
goto lab_0x14000e33c; | |
} | |
goto lab_0x14000dfb2; | |
lab_0x14000e087:; | |
// 0x14000e087 | |
int64_t v108; // 0x14000d44c | |
int64_t v117 = v108; | |
int64_t v107; // 0x14000d44c | |
int64_t v118 = v107; | |
int64_t v95 = v117; // 0x14000e08a | |
int64_t v88; // 0x14000d44c | |
int64_t v87; // 0x14000d44c | |
int64_t v102; // 0x14000d44c | |
if (v118 == 0) { | |
goto lab_0x14000e307; | |
} else { | |
uint32_t v119 = v8; // 0x14000e090 | |
if (v119 >= 115) { | |
// 0x14000e30e | |
v8 = 0; | |
// 0x14000e3c2 | |
v8 = 0; | |
v87 = v88; | |
goto lab_0x14000e3f2; | |
} | |
// 0x14000e096 | |
*(int32_t *)(4 * (int64_t)v119 + v102) = (int32_t)v118; | |
v9 = v117; | |
v7 = v8 + 1; | |
goto lab_0x14000e040; | |
} | |
lab_0x14000e307: | |
// 0x14000e307 | |
v10 = v95; | |
v11 = v8; | |
goto lab_0x14000e316; | |
lab_0x14000df7e_2:; | |
// 0x14000df7e | |
int64_t v120; // 0x14000d44c | |
int32_t v121 = v120; // bp-1464, 0x14000df7e | |
int64_t v122 = v120; // 0x14000df85 | |
int64_t v123; // 0x14000d44c | |
int64_t v124 = v123; // 0x14000df85 | |
goto lab_0x14000df20; | |
lab_0x14000db62:; | |
// 0x14000db62 | |
int64_t v282; // 0x14000d44c | |
v121 = v282; | |
int64_t v281; // 0x14000d44c | |
int64_t v223 = v281; // 0x14000db69 | |
int64_t v224 = v282; // 0x14000db69 | |
goto lab_0x14000de73; | |
lab_0x14000de73:; | |
// 0x14000de73 | |
int64_t v213; // 0x14000d44c | |
int32_t v206; // 0x14000d44c | |
int32_t v356 = v206 - (int32_t)v213; // 0x14000de7e | |
v206 = v356; | |
int64_t v207 = v356; // 0x14000de8c | |
int64_t v208 = v223; // 0x14000de8c | |
int64_t v209 = v224; // 0x14000de8c | |
int32_t v201; // 0x14000d44c | |
int32_t v198 = v201; // 0x14000de8c | |
int64_t v199 = v224; // 0x14000de8c | |
if (v356 == 0) { | |
// break -> 0x14000de96 | |
goto lab_0x14000de96; | |
} | |
goto lab_0x14000dad4; | |
lab_0x14000dbb2:; | |
// 0x14000dbb2 | |
int64_t v292; // 0x14000d44c | |
int64_t v357 = v292; | |
int64_t v291; // 0x14000d44c | |
int64_t v358 = v291; | |
int64_t v278 = v357; // 0x14000dbb5 | |
int64_t v203; // 0x14000d44c | |
if (v358 == 0) { | |
goto lab_0x14000de61; | |
} else { | |
uint32_t v359 = v121; // 0x14000dbbb | |
if (v359 >= 115) { | |
// 0x14000de6b | |
v121 = 0; | |
v120 = 0; | |
goto lab_0x14000df7e_2; | |
} | |
// 0x14000dbc4 | |
*(int32_t *)(4 * (int64_t)v359 + v203) = (int32_t)v358; | |
v281 = v357; | |
v282 = v121 + 1; | |
goto lab_0x14000db62; | |
} | |
lab_0x14000de61: | |
// 0x14000de61 | |
v223 = v278; | |
v224 = v121; | |
goto lab_0x14000de73; | |
lab_0x14000d53e:; | |
int64_t v318; // 0x14000d44c | |
int64_t v322; // 0x14000d44c | |
int64_t v312; // 0x14000d44c | |
int64_t v181; // 0x14000d44c | |
int64_t v315; // 0x14000d44c | |
int64_t v313; // 0x14000d44c | |
int64_t v343; // 0x14000d44c | |
int64_t v179; // 0x14000d44c | |
int64_t v180; // 0x14000d44c | |
int64_t v347; // 0x14000d44c | |
int64_t v177; // 0x14000d44c | |
int64_t v325; // 0x14000d44c | |
int64_t v349; // 0x14000d44c | |
int128_t v151; // bp-1460, 0x14000d44c | |
int128_t v36; // bp-1924, 0x14000d44c | |
int128_t v29; // bp-996, 0x14000d44c | |
int32_t v320; // 0x14000d44c | |
int32_t v337; // 0x14000d701 | |
int64_t v340; // 0x14000d60f | |
int64_t v330; // 0x14000d6be | |
uint32_t v332; // 0x14000d72e | |
uint32_t v335; // 0x14000d736 | |
int32_t v182; // 0x14000d61c | |
int64_t v345; // 0x14000d645 | |
int32_t v338; // 0x14000d44c | |
int64_t v351; // 0x14000d89f | |
int64_t v344; // 0x14000d8a4 | |
int64_t v127; // 0x14000d457 | |
int64_t v317; // 0x14000d6ad | |
int64_t v316; // 0x14000d6f0 | |
if (v5 == 2047) { | |
int64_t v360 = a1 & 0xfffffffffffff; // 0x14000d54a | |
if (v360 != 0) { | |
// 0x14000d554 | |
*(int32_t *)(v3 + 4) = 1; | |
v6 = (int64_t)"1#IND"; | |
if (a1 < 0 != (v360 == 0x8000000000000)) { | |
int64_t v361 = (a1 & 0x8000000000000) == 0 ? (int64_t)"1#SNAN" : (int64_t)"1#QNAN"; | |
v6 = v361; | |
} | |
goto lab_0x14000d522; | |
} else { | |
// 0x14000d583 | |
*(int32_t *)(v3 + 4) = 1; | |
if (strcpy_s((char *)a4, (int32_t)a5, "1#INF") != 0) { | |
// 0x14000e67a | |
function_140006290(0, 0, 0, 0, 0); | |
return __asm_int3(); | |
} | |
goto lab_0x14000e645; | |
} | |
} else { | |
// 0x14000d5a7 | |
int64_t v362; // bp-1832, 0x14000d44c | |
v127 = &v362; | |
int128_t v363 = __asm_movsd(a1 & 0x7fffffffffffffff); // 0x14000d5c0 | |
uint64_t v364 = __asm_movsd_8(v363); // 0x14000d5c6 | |
int64_t v365 = v364 / 0x10000000000000 & 2047; // 0x14000d5e4 | |
int64_t v366 = v365 == 0 ? 0 : 0x10000000000000; // 0x14000d5fd | |
v340 = (v365 == 0 ? 2 : 1) + v365; | |
float64_t v367 = log10((float64_t)(int64_t)v363); // 0x14000d612 | |
v182 = __asm_cvttsd2si((int128_t)(int32_t)(float32_t)ceil(v367)); | |
v36 = v364; | |
v345 = (v366 | v364 & 0xfffff00000000) == 0 ? 1 : 2; | |
v338 = v345; | |
v8 = v338; | |
if ((int32_t)v340 < 1076) { | |
if (v340 != 54) { | |
// 0x14000d87c | |
v29 = 0; | |
if ((v366 || v364 & 0xfffff00000000) != 0) { | |
// 0x14000d89f | |
v351 = v127 - 92; | |
v344 = v127 + 836; | |
int64_t v368 = 0; // 0x14000d44c | |
while (*(int32_t *)(4 * v368 + v344) == *(int32_t *)(4 * v368 + v351)) { | |
int64_t v369 = v368 + 1; // 0x14000d8b2 | |
v368 = v369 & 0xffffffff; | |
if ((int32_t)v369 == 2) { | |
int64_t v370 = v345 + 0xffffffff; // 0x14000d96b | |
v343 = 0xfffffffffffff; | |
v347 = v370; | |
v349 = v345; | |
if ((int32_t)v370 == -1) { | |
goto lab_0x14000d8e9; | |
} else { | |
goto lab_0x14000d978; | |
} | |
} | |
} | |
} | |
} | |
int64_t v371 = v127 - 92; // 0x14000d9c9 | |
int32_t v372 = *(int32_t *)(((v366 | v364 & 0xfffff00000000) == 0 ? 0 : 4) + v371); // 0x14000d9c9 | |
int64_t v373 = v345 + (int64_t)(v372 < 0); // 0x14000d9e6 | |
int64_t v374 = v373 + 0xffffffff; // 0x14000da31 | |
int64_t v375 = 0xfffffffffffff; // 0x14000da38 | |
if ((int32_t)v374 != -1) { | |
int64_t v376 = v374 & 0xffffffff; | |
uint32_t v377 = (int32_t)v345; // 0x14000da41 | |
int64_t v378 = 0; // 0x14000da43 | |
if ((int32_t)v374 < v377) { | |
// 0x14000da45 | |
v378 = (int64_t)*(int32_t *)(4 * v376 + v371); | |
} | |
int64_t v379 = v374 + 0xffffffff; // 0x14000da3d | |
int64_t v380 = v379 & 0xffffffff; // 0x14000da3d | |
uint32_t v381 = (int32_t)v379; // 0x14000da4f | |
int32_t v382 = 0; // 0x14000da52 | |
if (v381 < v377) { | |
// 0x14000da54 | |
v382 = *(int32_t *)(4 * v380 + v371); | |
} | |
// 0x14000da5d | |
*(int32_t *)(4 * v376 + v371) = v382 >> 31 | 2 * (int32_t)v378; | |
v375 = v378; | |
while (v381 != -1) { | |
// 0x14000da77 | |
v376 = v380 & 0xffffffff; | |
v377 = (int32_t)(int64_t)v8; | |
v378 = 0; | |
if ((int32_t)v380 < v377) { | |
// 0x14000da45 | |
v378 = (int64_t)*(int32_t *)(4 * v376 + v371); | |
} | |
// 0x14000da4f | |
v379 = v380 + 0xffffffff; | |
v380 = v379 & 0xffffffff; | |
v381 = (int32_t)v379; | |
v382 = 0; | |
if (v381 < v377) { | |
// 0x14000da54 | |
v382 = *(int32_t *)(4 * v380 + v371); | |
} | |
// 0x14000da5d | |
*(int32_t *)(4 * v376 + v371) = v382 >> 31 | 2 * (int32_t)v378; | |
v375 = v378; | |
} | |
} | |
// 0x14000d9f2 | |
v8 = v373; | |
uint64_t v383 = 1077 - v340; // 0x14000d9fb | |
int64_t v384 = v383 / 32 & 0x7ffffff; // 0x14000da09 | |
int64_t v385 = 4 * v384; // 0x14000da0e | |
function_140001e50((int64_t *)&v29, 0, v385, v375); | |
*(int32_t *)(v127 + 836 + v385) = 1 << ((int32_t)v383 & 31); | |
v177 = v384; | |
v179 = v375; | |
v181 = v373; | |
goto lab_0x14000d923; | |
} else { | |
// 0x14000d658 | |
v29 = 0; | |
v318 = v127 - 92; | |
if ((v366 || v364 & 0xfffff00000000) != 0) { | |
int64_t v386 = 0; // 0x14000d44c | |
while (*(int32_t *)(v127 + 836 + 4 * v386) == *(int32_t *)(4 * v386 + v318)) { | |
int64_t v387 = v386 + 1; // 0x14000d68e | |
v386 = v387 & 0xffffffff; | |
if ((int32_t)v387 == 2) { | |
uint64_t v388 = v340 + 0xfffffbce; // 0x14000d69b | |
v317 = v388 / 32 & 0x7ffffff; | |
int64_t v389 = v317 + v345; | |
v313 = 0xfffffffffffff; | |
v312 = 0; | |
if ((int32_t)v389 < 116) { | |
int64_t v390 = v388 & 31; // 0x14000d6a9 | |
int32_t v391 = *(int32_t *)((4 * v345 + 0x3fffffffc & 0x3fffffffc) + v318); // 0x14000d6c1 | |
v316 = v389 + (int64_t)(llvm_ctlz_i32(v391, false) < (int32_t)v390); | |
v313 = 0xfffffffffffff; | |
v312 = 0; | |
if ((int32_t)v316 < 116) { | |
int64_t v392 = v316 + 0xffffffff; // 0x14000d6fd | |
v320 = v317; | |
v337 = v320 - 1; | |
v315 = 0xfffffffffffff; | |
if (v337 == (int32_t)v392) { | |
goto lab_0x14000d74e; | |
} else { | |
uint64_t v393 = 32 - v390; // 0x14000d6b6 | |
v330 = (1 << v393) + 0xffffffff & 0xffffffff; | |
v332 = (int32_t)v393 & 31; | |
v335 = (int32_t)v388 & 31; | |
v325 = v345; | |
v322 = v392; | |
goto lab_0x14000d706_2; | |
} | |
} else { | |
goto lab_0x14000d767; | |
} | |
} else { | |
goto lab_0x14000d767; | |
} | |
} | |
} | |
} | |
uint64_t v394 = v340 + 0xfffffbcd; // 0x14000d789 | |
int64_t v395 = v394 / 32 & 0x7ffffff; // 0x14000d79b | |
int64_t v396 = v395 + v345; | |
int64_t v397 = 0xfffffffffffff; // 0x14000d7cb | |
int64_t v398 = 0; // 0x14000d7cb | |
if ((int32_t)v396 < 116) { | |
int64_t v399 = v394 & 31; // 0x14000d797 | |
int32_t v400 = *(int32_t *)((4 * v345 + 0x3fffffffc & 0x3fffffffc) + v318); // 0x14000d7af | |
int64_t v401 = v396 + (int64_t)(llvm_ctlz_i32(v400, false) < (int32_t)v399); // 0x14000d7de | |
v397 = 0xfffffffffffff; | |
v398 = 0; | |
if ((int32_t)v401 < 116) { | |
int64_t v402 = v401 + 0xffffffff; // 0x14000d7eb | |
int32_t v403 = v395; | |
int32_t v404 = v403 - 1; // 0x14000d7ef | |
int64_t v405 = 0xfffffffffffff; // 0x14000d7f2 | |
if (v404 != (int32_t)v402) { | |
uint64_t v406 = 32 - v399; // 0x14000d7a4 | |
int64_t v407 = (1 << v406) + 0xffffffff & 0xffffffff; // 0x14000d7ac | |
uint32_t v408 = (int32_t)v406 & 31; // 0x14000d81c | |
uint32_t v409 = (int32_t)v394 & 31; // 0x14000d824 | |
int64_t v410 = v402 & 0xffffffff; | |
int64_t v411 = v410 - v395; // 0x14000d7f7 | |
uint32_t v412 = (int32_t)v345; // 0x14000d7fd | |
int64_t v413 = 0; // 0x14000d7ff | |
if ((int32_t)v411 < v412) { | |
// 0x14000d801 | |
v413 = (int64_t)*(int32_t *)((4 * v411 & 0x3fffffffc) + v318); | |
} | |
int64_t v414 = v411 + 0xffffffff; // 0x14000d7fa | |
int64_t v415 = 0; // 0x14000d80d | |
if ((int32_t)v414 < v412) { | |
// 0x14000d80f | |
v415 = (int64_t)*(int32_t *)((4 * v414 & 0x3fffffffc) + v318); | |
} | |
int64_t v416 = v415 & (v407 ^ 0xffffffff); | |
int64_t v417 = v408 == 0 ? v416 : (int64_t)((int32_t)v416 >> v408); | |
int64_t v418 = v413 & v407; | |
int64_t v419 = v409 == 0 ? v418 : (int64_t)((int32_t)v418 << v409); | |
*(int32_t *)(4 * v410 + v318) = (int32_t)(v417 | v419); | |
int64_t v420 = v410 + 0xffffffff; // 0x14000d82f | |
v405 = v419; | |
while (v404 != (int32_t)v420) { | |
// 0x14000d837 | |
v410 = v420 & 0xffffffff; | |
v411 = v410 - v395; | |
v412 = (int32_t)(int64_t)v8; | |
v413 = 0; | |
if ((int32_t)v411 < v412) { | |
// 0x14000d801 | |
v413 = (int64_t)*(int32_t *)((4 * v411 & 0x3fffffffc) + v318); | |
} | |
// 0x14000d80b | |
v414 = v411 + 0xffffffff; | |
v415 = 0; | |
if ((int32_t)v414 < v412) { | |
// 0x14000d80f | |
v415 = (int64_t)*(int32_t *)((4 * v414 & 0x3fffffffc) + v318); | |
} | |
// 0x14000d817 | |
v416 = v415 & (v407 ^ 0xffffffff); | |
v417 = v408 == 0 ? v416 : (int64_t)((int32_t)v416 >> v408); | |
v418 = v413 & v407; | |
v419 = v409 == 0 ? v418 : (int64_t)((int32_t)v418 << v409); | |
*(int32_t *)(4 * v410 + v318) = (int32_t)(v417 | v419); | |
v420 = v410 + 0xffffffff; | |
v405 = v419; | |
} | |
} | |
int64_t v421 = 0; // 0x14000d841 | |
v397 = v405; | |
v398 = v401; | |
if (v395 != 0) { | |
*(int32_t *)(4 * v421 + v318) = 0; | |
int64_t v422 = v421 + 1; // 0x14000d848 | |
v421 = v422 & 0xffffffff; | |
v397 = v405; | |
v398 = v401; | |
while ((int32_t)v422 != v403) { | |
// 0x14000d843 | |
*(int32_t *)(4 * v421 + v318) = 0; | |
v422 = v421 + 1; | |
v421 = v422 & 0xffffffff; | |
v397 = v405; | |
v398 = v401; | |
} | |
} | |
} | |
} | |
// 0x14000d855 | |
v8 = v398; | |
v121 = 1; | |
v151 = 2; | |
v180 = v397; | |
v88 = 1; | |
v123 = v398; | |
goto lab_0x14000da9d; | |
} | |
} | |
lab_0x14000d522: | |
// 0x14000d522 | |
if (strcpy_s((char *)a4, (int32_t)a5, (char *)v6) != 0) { | |
// 0x14000e67a | |
function_140006290(0, 0, 0, 0, 0); | |
return __asm_int3(); | |
} | |
goto lab_0x14000e645; | |
lab_0x14000e645: | |
if (v2 != 0) { | |
// 0x14000e64c | |
function_1400100d8((int64_t *)&v1); | |
} | |
// 0x14000e656 | |
return function_140011ed0(g29); | |
lab_0x14000d923:; | |
uint64_t v176 = v177 + 1; // 0x14000d923 | |
v121 = v176; | |
int64_t v178 = &v151; // 0x14000d94a | |
if (v176 < 116) { | |
// 0x14000d95a | |
function_140002760(v178, (int64_t)&v29, 4 * v176, v179); | |
} else { | |
// 0x14000da7c | |
function_140001e50((int64_t *)&v151, 0, 460, v179); | |
*_errno() = 34; | |
function_140006270(v178, 0, 460, v179); | |
} | |
// 0x14000da96 | |
v180 = v179; | |
v88 = v121; | |
v123 = v181; | |
goto lab_0x14000da9d; | |
lab_0x14000da9d:; | |
uint32_t v139 = v182 > 0x80000000 ? v182 : 0; // 0x14000d634 | |
int64_t v94; // bp-532, 0x14000d44c | |
if (v139 < 0) { | |
uint64_t v183 = 0xcccccccd * (int64_t)-v139; // 0x14000df90 | |
v19 = 0; | |
v20 = v123; | |
if (v183 >= 0x800000000) { | |
int64_t v184 = v183 / 0x800000000; // 0x14000df90 | |
v18 = v184; | |
int64_t v31 = &v29; | |
v102 = v127 - 92; | |
int64_t v93 = &v36; | |
int64_t v86 = v127 + 1300; | |
v13 = v18; | |
v15 = v184; | |
v16 = v180; | |
v17 = v123; | |
while (true) { | |
lab_0x14000dfb2:; | |
int64_t v21 = v17; | |
int64_t v22 = v16; | |
uint64_t v23 = v15; | |
v12 = v23 < 38 ? v23 : 38; | |
int64_t v24 = 4 * v12 + 0x3fffffffc & 0x3fffffffc; // 0x14000dfc3 | |
int64_t v25 = (int64_t)*(char *)(v24 + 0x140019972); // 0x14000dfc3 | |
int64_t v26 = (int64_t)*(char *)(v24 + 0x140019973); // 0x14000dfcc | |
int64_t v27 = 4 * v25; // 0x14000dfd7 | |
uint64_t v28 = v26 + v25; // 0x14000dfde | |
function_140001e50((int64_t *)&v29, 0, v27, v22); | |
uint16_t v30 = *(int16_t *)(v24 + 0x140019970); // 0x14000dffe | |
function_140002760(v27 + v31, 4 * (int64_t)v30 + (int64_t)&g21, 4 * v26, v22); | |
uint32_t v32 = (int32_t)v28; // 0x14000e02a | |
if (v32 > 1) { | |
uint32_t v33 = (int32_t)v21; // 0x14000e0b5 | |
if (v33 > 1) { | |
int32_t v34 = (int32_t)(v32 < v33 ? v28 : v21); | |
if (v34 == 0) { | |
// 0x14000e2c1 | |
v8 = 0; | |
v10 = 0; | |
v11 = 0; | |
goto lab_0x14000e316; | |
} else { | |
int64_t v35 = v32 >= v33 ? &v36 : &v29; // 0x14000e16a | |
int64_t v37 = v32 >= v33 ? &v29 : &v36; // 0x14000e188 | |
int32_t v38 = (int32_t)(v32 < v33 ? v21 : v28); | |
int64_t v39 = 0x100000000 * v37 / 0x100000000; | |
int64_t v40 = 0; | |
int64_t v41 = 0; | |
int64_t v42 = v37; | |
int32_t v43 = 0; | |
int64_t v44 = 4 * v41; // 0x14000e1ac | |
uint32_t v45 = *(int32_t *)(v44 + v35); // 0x14000e1ac | |
int32_t * v46; // 0x14000d44c | |
int32_t * v47; // 0x14000d44c | |
int32_t v48; // 0x14000d44c | |
int32_t v49; // 0x14000d44c | |
int32_t v50; // 0x14000d44c | |
int32_t v51; // 0x14000d44c | |
int64_t v52; // 0x14000d44c | |
int64_t v53; // 0x14000d44c | |
int64_t v54; // 0x14000d44c | |
int64_t v55; // 0x14000d44c | |
int64_t v56; // 0x14000d44c | |
int64_t v57; // 0x14000d44c | |
int64_t v58; // 0x14000d44c | |
int64_t v59; // 0x14000d44c | |
int64_t v60; // 0x14000d44c | |
int64_t v61; // 0x14000d44c | |
int32_t v62; // 0x14000d44c | |
int32_t v63; // 0x14000d44c | |
int32_t v64; // 0x14000d44c | |
int32_t v65; // 0x14000d44c | |
int32_t v66; // 0x14000d44c | |
int32_t v67; // 0x14000d44c | |
int32_t v68; // 0x14000d44c | |
int32_t v69; // 0x14000d44c | |
int32_t v70; // 0x14000d44c | |
int64_t v71; // 0x14000e1ac | |
int64_t v72; // 0x14000e1e7 | |
int32_t v73; // 0x14000e1e9 | |
int32_t * v74; // 0x14000e1bd | |
int64_t v75; // 0x14000e1c5 | |
int64_t v76; // 0x14000e20d | |
int64_t v77; // 0x14000e20d | |
uint32_t v78; // 0x14000e210 | |
uint64_t v79; // 0x14000e224 | |
int64_t v80; // 0x14000e235 | |
int64_t v81; // 0x14000e23c | |
int32_t v82; // 0x14000e1e9 | |
int32_t v83; // 0x14000e251 | |
int64_t v84; // 0x14000e27c | |
uint64_t v85; // 0x14000e282 | |
if (v45 != 0) { | |
// 0x14000e1d5 | |
v69 = v43; | |
v59 = v41; | |
v55 = v40; | |
if (v38 != 0) { | |
// 0x14000e1e4 | |
v71 = v45; | |
v72 = -v41 & 0xffffffff; | |
v73 = v41; | |
v48 = v73; | |
v54 = v40; | |
v57 = v41; | |
v60 = v42; | |
v62 = v43; | |
v69 = v43; | |
v59 = v41; | |
v55 = v40; | |
if (v73 != 115) { | |
v51 = v48; | |
v47 = (int32_t *)((4 * v57 & 0x3fffffffc) + v86); | |
if (v51 != (int32_t)v54) { | |
// 0x14000e1ef | |
v49 = *v47; | |
v63 = v62; | |
} else { | |
// 0x14000e1f7 | |
*v47 = 0; | |
v49 = 0; | |
v63 = v51 + 1; | |
} | |
// 0x14000e209 | |
v64 = v63; | |
v76 = v57 + 1; | |
v77 = v76 & 0xffffffff; | |
v78 = *(int32_t *)((4 * (v57 + v72) & 0x3fffffffc) + v60); | |
v79 = (int64_t)v49 + (int64_t)v78 * v71; | |
*v47 = (int32_t)v79; | |
v80 = v64; | |
v81 = v79 / 0x100000000; | |
while ((int32_t)(v76 - v41) != v38) { | |
// 0x14000e245 | |
v82 = v76; | |
v48 = v82; | |
v54 = v80; | |
v52 = v81; | |
v57 = v77; | |
v60 = v39; | |
v62 = v64; | |
if (v82 == 115) { | |
// break -> 0x14000e24c | |
break; | |
} | |
v51 = v48; | |
v47 = (int32_t *)((4 * v57 & 0x3fffffffc) + v86); | |
if (v51 != (int32_t)v54) { | |
// 0x14000e1ef | |
v49 = *v47; | |
v63 = v62; | |
} else { | |
// 0x14000e1f7 | |
*v47 = 0; | |
v49 = 0; | |
v63 = v51 + 1; | |
} | |
// 0x14000e209 | |
v64 = v63; | |
v76 = v57 + 1; | |
v77 = v76 & 0xffffffff; | |
v78 = *(int32_t *)((4 * (v57 + v72) & 0x3fffffffc) + v60); | |
v79 = v52 + (int64_t)v49 + (int64_t)v78 * v71; | |
*v47 = (int32_t)v79; | |
v80 = v64; | |
v81 = v79 / 0x100000000; | |
} | |
// 0x14000e24c | |
v65 = v64; | |
v58 = v77; | |
v53 = v81; | |
v69 = v64; | |
v59 = v77; | |
v55 = v80; | |
if (v79 >= 0x100000000) { | |
v83 = v58; | |
if (v83 == 115) { | |
// 0x14000e3c2 | |
v8 = 0; | |
v87 = v88; | |
goto lab_0x14000e3f2; | |
} | |
// 0x14000e25b | |
v66 = v65; | |
v46 = (int32_t *)(4 * v58 + v86); | |
if (v66 != v83) { | |
// 0x14000e25b | |
v50 = *v46; | |
v67 = v66; | |
} else { | |
// 0x14000e263 | |
*v46 = 0; | |
v50 = 0; | |
v67 = v83 + 1; | |
} | |
// 0x14000e275 | |
v68 = v67; | |
v84 = v58 + 1 & 0xffffffff; | |
v85 = v53 + (int64_t)v50; | |
*v46 = (int32_t)v85; | |
v58 = v84; | |
v53 = v85 / 0x100000000; | |
while (v85 >= 0x100000000) { | |
// 0x14000e251 | |
v83 = v58; | |
if (v83 == 115) { | |
// 0x14000e3c2 | |
v8 = 0; | |
v87 = v88; | |
goto lab_0x14000e3f2; | |
} | |
// 0x14000e25b | |
v66 = v68; | |
v46 = (int32_t *)(4 * v58 + v86); | |
if (v66 != v83) { | |
// 0x14000e25b | |
v50 = *v46; | |
v67 = v66; | |
} else { | |
// 0x14000e263 | |
*v46 = 0; | |
v50 = 0; | |
v67 = v83 + 1; | |
} | |
// 0x14000e275 | |
v68 = v67; | |
v84 = v58 + 1 & 0xffffffff; | |
v85 = v53 + (int64_t)v50; | |
*v46 = (int32_t)v85; | |
v58 = v84; | |
v53 = v85 / 0x100000000; | |
} | |
// 0x14000e2a2 | |
v69 = v68; | |
v59 = v84; | |
v55 = v68; | |
} | |
} | |
} | |
// 0x14000e2a2 | |
v70 = v69; | |
v61 = v39; | |
v56 = v55; | |
if ((int32_t)v59 == 115) { | |
// 0x14000e3c2 | |
v8 = 0; | |
v87 = v88; | |
goto lab_0x14000e3f2; | |
} | |
} else { | |
// 0x14000e1b4 | |
v70 = v43; | |
v61 = v42; | |
v56 = v40; | |
if ((int32_t)v41 == (int32_t)v40) { | |
// 0x14000e1bd | |
v74 = (int32_t *)(v44 + v86); | |
*v74 = *v74 & v45; | |
v75 = v41 + 1; | |
v70 = v75; | |
v61 = v42; | |
v56 = v75 & 0xffffffff; | |
} | |
} | |
int64_t v89 = v56; | |
int64_t v90 = v41 + 1; // 0x14000e2b5 | |
int64_t v91 = v90 & 0xffffffff; // 0x14000e2b5 | |
while ((int32_t)v90 != v34) { | |
// 0x14000e1ac | |
v40 = v89; | |
v41 = v91; | |
v42 = v61; | |
v43 = v70; | |
v44 = 4 * v41; | |
v45 = *(int32_t *)(v44 + v35); | |
if (v45 != 0) { | |
// 0x14000e1d5 | |
v69 = v43; | |
v59 = v41; | |
v55 = v40; | |
if (v38 != 0) { | |
// 0x14000e1e4 | |
v71 = v45; | |
v72 = -v41 & 0xffffffff; | |
v73 = v41; | |
v48 = v73; | |
v54 = v40; | |
v57 = v41; | |
v60 = v42; | |
v62 = v43; | |
v69 = v43; | |
v59 = v41; | |
v55 = v40; | |
if (v73 != 115) { | |
v51 = v48; | |
v47 = (int32_t *)((4 * v57 & 0x3fffffffc) + v86); | |
if (v51 != (int32_t)v54) { | |
// 0x14000e1ef | |
v49 = *v47; | |
v63 = v62; | |
} else { | |
// 0x14000e1f7 | |
*v47 = 0; | |
v49 = 0; | |
v63 = v51 + 1; | |
} | |
// 0x14000e209 | |
v64 = v63; | |
v76 = v57 + 1; | |
v77 = v76 & 0xffffffff; | |
v78 = *(int32_t *)((4 * (v57 + v72) & 0x3fffffffc) + v60); | |
v79 = (int64_t)v49 + (int64_t)v78 * v71; | |
*v47 = (int32_t)v79; | |
v80 = v64; | |
v81 = v79 / 0x100000000; | |
while ((int32_t)(v76 - v41) != v38) { | |
// 0x14000e245 | |
v82 = v76; | |
v48 = v82; | |
v54 = v80; | |
v52 = v81; | |
v57 = v77; | |
v60 = v39; | |
v62 = v64; | |
if (v82 == 115) { | |
// break -> 0x14000e24c | |
break; | |
} | |
v51 = v48; | |
v47 = (int32_t *)((4 * v57 & 0x3fffffffc) + v86); | |
if (v51 != (int32_t)v54) { | |
// 0x14000e1ef | |
v49 = *v47; | |
v63 = v62; | |
} else { | |
// 0x14000e1f7 | |
*v47 = 0; | |
v49 = 0; | |
v63 = v51 + 1; | |
} | |
// 0x14000e209 | |
v64 = v63; | |
v76 = v57 + 1; | |
v77 = v76 & 0xffffffff; | |
v78 = *(int32_t *)((4 * (v57 + v72) & 0x3fffffffc) + v60); | |
v79 = v52 + (int64_t)v49 + (int64_t)v78 * v71; | |
*v47 = (int32_t)v79; | |
v80 = v64; | |
v81 = v79 / 0x100000000; | |
} | |
// 0x14000e24c | |
v65 = v64; | |
v58 = v77; | |
v53 = v81; | |
v69 = v64; | |
v59 = v77; | |
v55 = v80; | |
if (v79 >= 0x100000000) { | |
v83 = v58; | |
if (v83 == 115) { | |
// 0x14000e3c2 | |
v8 = 0; | |
v87 = v88; | |
goto lab_0x14000e3f2; | |
} | |
// 0x14000e25b | |
v66 = v65; | |
v46 = (int32_t *)(4 * v58 + v86); | |
if (v66 != v83) { | |
// 0x14000e25b | |
v50 = *v46; | |
v67 = v66; | |
} else { | |
// 0x14000e263 | |
*v46 = 0; | |
v50 = 0; | |
v67 = v83 + 1; | |
} | |
// 0x14000e275 | |
v68 = v67; | |
v84 = v58 + 1 & 0xffffffff; | |
v85 = v53 + (int64_t)v50; | |
*v46 = (int32_t)v85; | |
v58 = v84; | |
v53 = v85 / 0x100000000; | |
while (v85 >= 0x100000000) { | |
// 0x14000e251 | |
v83 = v58; | |
if (v83 == 115) { | |
// 0x14000e3c2 | |
v8 = 0; | |
v87 = v88; | |
goto lab_0x14000e3f2; | |
} | |
// 0x14000e25b | |
v66 = v68; | |
v46 = (int32_t *)(4 * v58 + v86); | |
if (v66 != v83) { | |
// 0x14000e25b | |
v50 = *v46; | |
v67 = v66; | |
} else { | |
// 0x14000e263 | |
*v46 = 0; | |
v50 = 0; | |
v67 = v83 + 1; | |
} | |
// 0x14000e275 | |
v68 = v67; | |
v84 = v58 + 1 & 0xffffffff; | |
v85 = v53 + (int64_t)v50; | |
*v46 = (int32_t)v85; | |
v58 = v84; | |
v53 = v85 / 0x100000000; | |
} | |
// 0x14000e2a2 | |
v69 = v68; | |
v59 = v84; | |
v55 = v68; | |
} | |
} | |
} | |
// 0x14000e2a2 | |
v70 = v69; | |
v61 = v39; | |
v56 = v55; | |
if ((int32_t)v59 == 115) { | |
// 0x14000e3c2 | |
v8 = 0; | |
v87 = v88; | |
goto lab_0x14000e3f2; | |
} | |
} else { | |
// 0x14000e1b4 | |
v70 = v43; | |
v61 = v42; | |
v56 = v40; | |
if ((int32_t)v41 == (int32_t)v40) { | |
// 0x14000e1bd | |
v74 = (int32_t *)(v44 + v86); | |
*v74 = *v74 & v45; | |
v75 = v41 + 1; | |
v70 = v75; | |
v61 = v42; | |
v56 = v75 & 0xffffffff; | |
} | |
} | |
// 0x14000e2b5 | |
v89 = v56; | |
v90 = v41 + 1; | |
v91 = v90 & 0xffffffff; | |
} | |
uint64_t v92 = 4 * v89 & 0x3fffffffc; // 0x14000e2c4 | |
v8 = v89; | |
v10 = v91; | |
v11 = v89; | |
if (v92 == 0) { | |
goto lab_0x14000e316; | |
} else { | |
if (v92 < 461) { | |
// 0x14000e2df | |
function_140002760(v93, (int64_t)&v94, v92, v91); | |
v95 = v91; | |
} else { | |
// 0x14000e2ed | |
function_140001e50((int64_t *)&v36, 0, 460, v91); | |
*_errno() = 34; | |
function_140006270(v93, 0, 460, v91); | |
v95 = v91; | |
} | |
goto lab_0x14000e307; | |
} | |
} | |
} else { | |
// 0x14000e0be | |
v8 = v32; | |
int64_t v96 = 0; // 0x14000e0d2 | |
if (v28 != 0) { | |
if (v28 < 116) { | |
// 0x14000e0e2 | |
function_140002760(v93, v31, 4 * v28, v22); | |
} else { | |
// 0x14000e0f0 | |
function_140001e50((int64_t *)&v36, 0, 460, v22); | |
*_errno() = 34; | |
function_140006270(v93, 0, 460, v22); | |
} | |
// 0x14000e10a | |
v96 = v8; | |
} | |
int64_t v97 = v96; | |
v9 = v22; | |
v7 = 0; | |
v10 = v22; | |
v11 = v97; | |
int128_t v98; // 0x14000e0be | |
switch ((int32_t)v98) { | |
case 0: { | |
goto lab_0x14000e040; | |
} | |
case 1: { | |
goto lab_0x14000e316; | |
} | |
default: { | |
int32_t v99 = v97; // 0x14000e11f | |
int64_t v100 = 0; // 0x14000e122 | |
v10 = v22; | |
v11 = v97; | |
if (v99 == 0) { | |
goto lab_0x14000e316; | |
} else { | |
int32_t * v101 = (int32_t *)(4 * v100 + v102); // 0x14000e131 | |
uint64_t v103 = ((int64_t)v36 & 0xffffffff) * (int64_t)*v101; // 0x14000e13d | |
*v101 = (int32_t)v103; | |
int64_t v104 = v103 / 0x100000000; // 0x14000e148 | |
int64_t v105 = v100 + 1; // 0x14000e14c | |
int64_t v106 = v105 & 0xffffffff; // 0x14000e14c | |
v107 = v104; | |
v108 = v106; | |
v100 = v106; | |
while ((int32_t)v105 != v99) { | |
// 0x14000e131 | |
v101 = (int32_t *)(4 * v100 + v102); | |
v103 = ((int64_t)v36 & 0xffffffff) * (int64_t)*v101 + v104; | |
*v101 = (int32_t)v103; | |
v104 = v103 / 0x100000000; | |
v105 = v100 + 1; | |
v106 = v105 & 0xffffffff; | |
v107 = v104; | |
v108 = v106; | |
v100 = v106; | |
} | |
goto lab_0x14000e087; | |
} | |
} | |
} | |
} | |
} else { | |
int32_t v109 = v29; // 0x14000e039 | |
v9 = v22; | |
v7 = 0; | |
if (v109 != 0) { | |
int32_t v110 = v21; // 0x14000e052 | |
int64_t v111 = 0; // 0x14000e04c | |
v10 = v22; | |
v11 = v21; | |
if (v110 == 0 || v109 == 1) { | |
goto lab_0x14000e316; | |
} else { | |
int32_t * v112 = (int32_t *)(4 * v111 + v102); // 0x14000e064 | |
uint64_t v113 = ((int64_t)v29 & 0xffffffff) * (int64_t)*v112; // 0x14000e070 | |
*v112 = (int32_t)v113; | |
int64_t v114 = v113 / 0x100000000; // 0x14000e07b | |
int64_t v115 = v111 + 1; // 0x14000e07f | |
int64_t v116 = v115 & 0xffffffff; // 0x14000e07f | |
v111 = v116; | |
v107 = v114; | |
v108 = v116; | |
while ((int32_t)v115 != v110) { | |
// 0x14000e064 | |
v112 = (int32_t *)(4 * v111 + v102); | |
v113 = ((int64_t)v29 & 0xffffffff) * (int64_t)*v112 + v114; | |
*v112 = (int32_t)v113; | |
v114 = v113 / 0x100000000; | |
v115 = v111 + 1; | |
v116 = v115 & 0xffffffff; | |
v111 = v116; | |
v107 = v114; | |
v108 = v116; | |
} | |
goto lab_0x14000e087; | |
} | |
} else { | |
goto lab_0x14000e040; | |
} | |
} | |
} | |
} | |
lab_0x14000e33c:; | |
uint32_t v185 = -10 * v19 - v139; // 0x14000e341 | |
v122 = v88; | |
v124 = v20; | |
if (v185 == 0) { | |
goto lab_0x14000df20; | |
} else { | |
uint32_t v186 = *(int32_t *)((4 * (int64_t)v185 + 0x3fffffffc & 0x3fffffffc) + 0x140019a08); // 0x14000e34c | |
v122 = v88; | |
v124 = v20; | |
switch (v186) { | |
case 0: { | |
// 0x14000e3c2 | |
v8 = 0; | |
v87 = v88; | |
goto lab_0x14000e3f2; | |
} | |
case 1: { | |
goto lab_0x14000df20; | |
} | |
default: { | |
int32_t v187 = v20; // 0x14000e361 | |
v122 = v88; | |
v124 = v20; | |
if (v187 == 0) { | |
goto lab_0x14000df20; | |
} else { | |
int64_t v188 = v127 - 92; // 0x14000e373 | |
int64_t v189 = 0; // 0x14000d44c | |
int32_t * v190 = (int32_t *)(4 * v189 + v188); // 0x14000e373 | |
uint64_t v191 = (int64_t)*v190 * (int64_t)v186; // 0x14000e37f | |
*v190 = (int32_t)v191; | |
int64_t v192 = v191 / 0x100000000; // 0x14000e38a | |
int64_t v193 = v189 + 1; // 0x14000e38e | |
v189 = v193 & 0xffffffff; | |
while ((int32_t)v193 != v187) { | |
// 0x14000e373 | |
v190 = (int32_t *)(4 * v189 + v188); | |
v191 = (int64_t)*v190 * (int64_t)v186 + v192; | |
*v190 = (int32_t)v191; | |
v192 = v191 / 0x100000000; | |
v193 = v189 + 1; | |
v189 = v193 & 0xffffffff; | |
} | |
int32_t v194 = v192; // 0x14000e396 | |
uint32_t v195 = v8; | |
if (v194 == 0) { | |
// 0x14000e3b9 | |
v122 = v88; | |
v124 = v195; | |
goto lab_0x14000df20; | |
} else { | |
if (v195 >= 115) { | |
// 0x14000e3c2 | |
v8 = 0; | |
v87 = v88; | |
goto lab_0x14000e3f2; | |
} else { | |
// 0x14000e3a1 | |
*(int32_t *)(4 * (int64_t)v195 + v188) = v194; | |
int32_t v196 = v8 + 1; // 0x14000e3ad | |
v8 = v196; | |
v122 = v88; | |
v124 = v196; | |
goto lab_0x14000df20; | |
} | |
} | |
} | |
} | |
} | |
} | |
} else { | |
uint64_t v197 = 0xcccccccd * (int64_t)v139; // 0x14000daae | |
v198 = 0; | |
v199 = v88; | |
if (v197 >= 0x800000000) { | |
int64_t v200 = v197 / 0x800000000; // 0x14000daae | |
v201 = v200; | |
int64_t v202 = &v29; | |
v203 = v127 + 372; | |
int64_t v204 = &v151; | |
int64_t v205 = v127 + 1300; | |
v206 = v201; | |
v207 = v200; | |
v208 = v180; | |
v209 = v88; | |
while (true) { | |
lab_0x14000dad4:; | |
int64_t v210 = v209; | |
int64_t v211 = v208; | |
uint64_t v212 = v207; | |
v213 = v212 < 38 ? v212 : 38; | |
int64_t v214 = 4 * v213 + 0x3fffffffc & 0x3fffffffc; // 0x14000dae5 | |
int64_t v215 = (int64_t)*(char *)(v214 + 0x140019972); // 0x14000dae5 | |
int64_t v216 = (int64_t)*(char *)(v214 + 0x140019973); // 0x14000daed | |
int64_t v217 = 4 * v215; // 0x14000daf7 | |
uint64_t v218 = v216 + v215; // 0x14000db00 | |
function_140001e50((int64_t *)&v29, 0, v217, v211); | |
uint16_t v219 = *(int16_t *)(v214 + 0x140019970); // 0x14000db20 | |
function_140002760(v217 + v202, 4 * (int64_t)v219 + (int64_t)&g21, 4 * v216, v211); | |
uint32_t v220 = (int32_t)v218; // 0x14000db4c | |
if (v220 > 1) { | |
uint32_t v221 = (int32_t)v210; // 0x14000dbef | |
if (v221 > 1) { | |
int32_t v222 = (int32_t)(v220 < v221 ? v218 : v210); | |
if (v222 == 0) { | |
// 0x14000de15 | |
v121 = 0; | |
v223 = 0; | |
v224 = 0; | |
goto lab_0x14000de73; | |
} else { | |
int64_t v225 = v220 >= v221 ? &v151 : &v29; // 0x14000dcb9 | |
int64_t v226 = v220 >= v221 ? &v29 : &v151; // 0x14000dcdb | |
int32_t v227 = (int32_t)(v220 < v221 ? v210 : v218); | |
int64_t v228 = 0x100000000 * v225 / 0x100000000; | |
int64_t v229 = 0; | |
int64_t v230 = 0; | |
int64_t v231 = v225; | |
int32_t v232 = 0; | |
int64_t v233 = 4 * v230; // 0x14000dcff | |
uint32_t v234 = *(int32_t *)(v233 + v231); // 0x14000dcff | |
int32_t * v235; // 0x14000d44c | |
int32_t * v236; // 0x14000d44c | |
int32_t v237; // 0x14000d44c | |
int32_t v238; // 0x14000d44c | |
int32_t v239; // 0x14000d44c | |
int32_t v240; // 0x14000d44c | |
int64_t v241; // 0x14000d44c | |
int64_t v242; // 0x14000d44c | |
int64_t v243; // 0x14000d44c | |
int64_t v244; // 0x14000d44c | |
int64_t v245; // 0x14000d44c | |
int64_t v246; // 0x14000d44c | |
int64_t v247; // 0x14000d44c | |
int64_t v248; // 0x14000d44c | |
int64_t v249; // 0x14000d44c | |
int32_t v250; // 0x14000d44c | |
int32_t v251; // 0x14000d44c | |
int32_t v252; // 0x14000d44c | |
int32_t v253; // 0x14000d44c | |
int32_t v254; // 0x14000d44c | |
int32_t v255; // 0x14000d44c | |
int32_t v256; // 0x14000d44c | |
int32_t v257; // 0x14000d44c | |
int32_t v258; // 0x14000d44c | |
int64_t v259; // 0x14000dcff | |
int64_t v260; // 0x14000dd3a | |
int32_t v261; // 0x14000dd3c | |
int32_t * v262; // 0x14000dd10 | |
int64_t v263; // 0x14000dd18 | |
int64_t v264; // 0x14000dd60 | |
int64_t v265; // 0x14000dd60 | |
uint32_t v266; // 0x14000dd63 | |
uint64_t v267; // 0x14000dd77 | |
int64_t v268; // 0x14000dd88 | |
int64_t v269; // 0x14000dd8f | |
int32_t v270; // 0x14000dd3c | |
int32_t v271; // 0x14000dda4 | |
int64_t v272; // 0x14000ddcf | |
uint64_t v273; // 0x14000ddd5 | |
if (v234 != 0) { | |
// 0x14000dd28 | |
v257 = v232; | |
v246 = v230; | |
v244 = v229; | |
if (v227 != 0) { | |
// 0x14000dd37 | |
v259 = v234; | |
v260 = -v230 & 0xffffffff; | |
v261 = v230; | |
v237 = v261; | |
v243 = v229; | |
v247 = v230; | |
v250 = v232; | |
v257 = v232; | |
v246 = v230; | |
v244 = v229; | |
if (v261 != 115) { | |
v240 = v237; | |
v236 = (int32_t *)((4 * v247 & 0x3fffffffc) + v205); | |
if (v240 != (int32_t)v243) { | |
// 0x14000dd42 | |
v238 = *v236; | |
v251 = v250; | |
} else { | |
// 0x14000dd4a | |
*v236 = 0; | |
v238 = 0; | |
v251 = v240 + 1; | |
} | |
// 0x14000dd5c | |
v252 = v251; | |
v264 = v247 + 1; | |
v265 = v264 & 0xffffffff; | |
v266 = *(int32_t *)((4 * (v247 + v260) & 0x3fffffffc) + v226); | |
v267 = (int64_t)v266 * v259 + (int64_t)v238; | |
*v236 = (int32_t)v267; | |
v268 = v252; | |
v269 = v267 / 0x100000000; | |
while ((int32_t)(v264 - v230) != v227) { | |
// 0x14000dd3c | |
v270 = v264; | |
v237 = v270; | |
v243 = v268; | |
v241 = v269; | |
v247 = v265; | |
v250 = v252; | |
if (v270 == 115) { | |
// break -> 0x14000dd9f | |
break; | |
} | |
v240 = v237; | |
v236 = (int32_t *)((4 * v247 & 0x3fffffffc) + v205); | |
if (v240 != (int32_t)v243) { | |
// 0x14000dd42 | |
v238 = *v236; | |
v251 = v250; | |
} else { | |
// 0x14000dd4a | |
*v236 = 0; | |
v238 = 0; | |
v251 = v240 + 1; | |
} | |
// 0x14000dd5c | |
v252 = v251; | |
v264 = v247 + 1; | |
v265 = v264 & 0xffffffff; | |
v266 = *(int32_t *)((4 * (v247 + v260) & 0x3fffffffc) + v226); | |
v267 = (int64_t)v266 * v259 + v241 + (int64_t)v238; | |
*v236 = (int32_t)v267; | |
v268 = v252; | |
v269 = v267 / 0x100000000; | |
} | |
// 0x14000dd9f | |
v253 = v252; | |
v248 = v265; | |
v242 = v269; | |
v257 = v252; | |
v246 = v265; | |
v244 = v268; | |
if (v267 >= 0x100000000) { | |
v271 = v248; | |
v120 = 0; | |
if (v271 == 115) { | |
goto lab_0x14000df7e_2; | |
} | |
// 0x14000ddae | |
v254 = v253; | |
v235 = (int32_t *)(4 * v248 + v205); | |
if (v254 != v271) { | |
// 0x14000ddae | |
v239 = *v235; | |
v255 = v254; | |
} else { | |
// 0x14000ddb6 | |
*v235 = 0; | |
v239 = 0; | |
v255 = v271 + 1; | |
} | |
// 0x14000ddc8 | |
v256 = v255; | |
v272 = v248 + 1 & 0xffffffff; | |
v273 = v242 + (int64_t)v239; | |
*v235 = (int32_t)v273; | |
v248 = v272; | |
v242 = v273 / 0x100000000; | |
while (v273 >= 0x100000000) { | |
// 0x14000dda4 | |
v271 = v248; | |
v120 = 0; | |
if (v271 == 115) { | |
goto lab_0x14000df7e_2; | |
} | |
// 0x14000ddae | |
v254 = v256; | |
v235 = (int32_t *)(4 * v248 + v205); | |
if (v254 != v271) { | |
// 0x14000ddae | |
v239 = *v235; | |
v255 = v254; | |
} else { | |
// 0x14000ddb6 | |
*v235 = 0; | |
v239 = 0; | |
v255 = v271 + 1; | |
} | |
// 0x14000ddc8 | |
v256 = v255; | |
v272 = v248 + 1 & 0xffffffff; | |
v273 = v242 + (int64_t)v239; | |
*v235 = (int32_t)v273; | |
v248 = v272; | |
v242 = v273 / 0x100000000; | |
} | |
// 0x14000ddf5 | |
v257 = v256; | |
v246 = v272; | |
v244 = v256; | |
} | |
} | |
} | |
// 0x14000ddf5 | |
v258 = v257; | |
v249 = v228; | |
v245 = v244; | |
v120 = 0; | |
if ((int32_t)v246 == 115) { | |
goto lab_0x14000df7e_2; | |
} | |
} else { | |
// 0x14000dd07 | |
v258 = v232; | |
v249 = v231; | |
v245 = v229; | |
if ((int32_t)v230 == (int32_t)v229) { | |
// 0x14000dd10 | |
v262 = (int32_t *)(v233 + v205); | |
*v262 = *v262 & v234; | |
v263 = v230 + 1; | |
v258 = v263; | |
v249 = v231; | |
v245 = v263 & 0xffffffff; | |
} | |
} | |
int64_t v274 = v245; | |
int64_t v275 = v230 + 1; // 0x14000de09 | |
int64_t v276 = v275 & 0xffffffff; // 0x14000de09 | |
while ((int32_t)v275 != v222) { | |
// 0x14000dcff | |
v229 = v274; | |
v230 = v276; | |
v231 = v249; | |
v232 = v258; | |
v233 = 4 * v230; | |
v234 = *(int32_t *)(v233 + v231); | |
if (v234 != 0) { | |
// 0x14000dd28 | |
v257 = v232; | |
v246 = v230; | |
v244 = v229; | |
if (v227 != 0) { | |
// 0x14000dd37 | |
v259 = v234; | |
v260 = -v230 & 0xffffffff; | |
v261 = v230; | |
v237 = v261; | |
v243 = v229; | |
v247 = v230; | |
v250 = v232; | |
v257 = v232; | |
v246 = v230; | |
v244 = v229; | |
if (v261 != 115) { | |
v240 = v237; | |
v236 = (int32_t *)((4 * v247 & 0x3fffffffc) + v205); | |
if (v240 != (int32_t)v243) { | |
// 0x14000dd42 | |
v238 = *v236; | |
v251 = v250; | |
} else { | |
// 0x14000dd4a | |
*v236 = 0; | |
v238 = 0; | |
v251 = v240 + 1; | |
} | |
// 0x14000dd5c | |
v252 = v251; | |
v264 = v247 + 1; | |
v265 = v264 & 0xffffffff; | |
v266 = *(int32_t *)((4 * (v247 + v260) & 0x3fffffffc) + v226); | |
v267 = (int64_t)v266 * v259 + (int64_t)v238; | |
*v236 = (int32_t)v267; | |
v268 = v252; | |
v269 = v267 / 0x100000000; | |
while ((int32_t)(v264 - v230) != v227) { | |
// 0x14000dd3c | |
v270 = v264; | |
v237 = v270; | |
v243 = v268; | |
v241 = v269; | |
v247 = v265; | |
v250 = v252; | |
if (v270 == 115) { | |
// break -> 0x14000dd9f | |
break; | |
} | |
v240 = v237; | |
v236 = (int32_t *)((4 * v247 & 0x3fffffffc) + v205); | |
if (v240 != (int32_t)v243) { | |
// 0x14000dd42 | |
v238 = *v236; | |
v251 = v250; | |
} else { | |
// 0x14000dd4a | |
*v236 = 0; | |
v238 = 0; | |
v251 = v240 + 1; | |
} | |
// 0x14000dd5c | |
v252 = v251; | |
v264 = v247 + 1; | |
v265 = v264 & 0xffffffff; | |
v266 = *(int32_t *)((4 * (v247 + v260) & 0x3fffffffc) + v226); | |
v267 = (int64_t)v266 * v259 + v241 + (int64_t)v238; | |
*v236 = (int32_t)v267; | |
v268 = v252; | |
v269 = v267 / 0x100000000; | |
} | |
// 0x14000dd9f | |
v253 = v252; | |
v248 = v265; | |
v242 = v269; | |
v257 = v252; | |
v246 = v265; | |
v244 = v268; | |
if (v267 >= 0x100000000) { | |
v271 = v248; | |
v120 = 0; | |
if (v271 == 115) { | |
goto lab_0x14000df7e_2; | |
} | |
// 0x14000ddae | |
v254 = v253; | |
v235 = (int32_t *)(4 * v248 + v205); | |
if (v254 != v271) { | |
// 0x14000ddae | |
v239 = *v235; | |
v255 = v254; | |
} else { | |
// 0x14000ddb6 | |
*v235 = 0; | |
v239 = 0; | |
v255 = v271 + 1; | |
} | |
// 0x14000ddc8 | |
v256 = v255; | |
v272 = v248 + 1 & 0xffffffff; | |
v273 = v242 + (int64_t)v239; | |
*v235 = (int32_t)v273; | |
v248 = v272; | |
v242 = v273 / 0x100000000; | |
while (v273 >= 0x100000000) { | |
// 0x14000dda4 | |
v271 = v248; | |
v120 = 0; | |
if (v271 == 115) { | |
goto lab_0x14000df7e_2; | |
} | |
// 0x14000ddae | |
v254 = v256; | |
v235 = (int32_t *)(4 * v248 + v205); | |
if (v254 != v271) { | |
// 0x14000ddae | |
v239 = *v235; | |
v255 = v254; | |
} else { | |
// 0x14000ddb6 | |
*v235 = 0; | |
v239 = 0; | |
v255 = v271 + 1; | |
} | |
// 0x14000ddc8 | |
v256 = v255; | |
v272 = v248 + 1 & 0xffffffff; | |
v273 = v242 + (int64_t)v239; | |
*v235 = (int32_t)v273; | |
v248 = v272; | |
v242 = v273 / 0x100000000; | |
} | |
// 0x14000ddf5 | |
v257 = v256; | |
v246 = v272; | |
v244 = v256; | |
} | |
} | |
} | |
// 0x14000ddf5 | |
v258 = v257; | |
v249 = v228; | |
v245 = v244; | |
v120 = 0; | |
if ((int32_t)v246 == 115) { | |
goto lab_0x14000df7e_2; | |
} | |
} else { | |
// 0x14000dd07 | |
v258 = v232; | |
v249 = v231; | |
v245 = v229; | |
if ((int32_t)v230 == (int32_t)v229) { | |
// 0x14000dd10 | |
v262 = (int32_t *)(v233 + v205); | |
*v262 = *v262 & v234; | |
v263 = v230 + 1; | |
v258 = v263; | |
v249 = v231; | |
v245 = v263 & 0xffffffff; | |
} | |
} | |
// 0x14000de09 | |
v274 = v245; | |
v275 = v230 + 1; | |
v276 = v275 & 0xffffffff; | |
} | |
uint64_t v277 = 4 * v274 & 0x3fffffffc; // 0x14000de18 | |
v121 = v274; | |
v223 = v276; | |
v224 = v274; | |
if (v277 == 0) { | |
goto lab_0x14000de73; | |
} else { | |
if (v277 < 461) { | |
// 0x14000de39 | |
function_140002760(v204, (int64_t)&v94, v277, v276); | |
v278 = v276; | |
} else { | |
// 0x14000de47 | |
function_140001e50((int64_t *)&v151, 0, 460, v276); | |
*_errno() = 34; | |
function_140006270(v204, 0, 460, v276); | |
v278 = v276; | |
} | |
goto lab_0x14000de61; | |
} | |
} | |
} else { | |
// 0x14000dbf8 | |
v121 = v220; | |
int64_t v279 = 0; // 0x14000dc12 | |
if (v218 != 0) { | |
if (v218 < 116) { | |
// 0x14000dc25 | |
function_140002760(v204, v202, 4 * v218, v211); | |
} else { | |
// 0x14000dc33 | |
function_140001e50((int64_t *)&v151, 0, 460, v211); | |
*_errno() = 34; | |
function_140006270(v204, 0, 460, v211); | |
} | |
// 0x14000dc4d | |
v279 = v121; | |
} | |
int64_t v280 = v279; | |
v281 = v211; | |
v282 = 0; | |
v223 = v211; | |
v224 = v280; | |
int128_t v283; // 0x14000dbf8 | |
switch ((int32_t)v283) { | |
case 0: { | |
goto lab_0x14000db62; | |
} | |
case 1: { | |
goto lab_0x14000de73; | |
} | |
default: { | |
int32_t v284 = v280; // 0x14000dc65 | |
int64_t v285 = 0; // 0x14000dc68 | |
v223 = v211; | |
v224 = v280; | |
if (v284 == 0) { | |
goto lab_0x14000de73; | |
} else { | |
int32_t * v286 = (int32_t *)(4 * v285 + v203); // 0x14000dc77 | |
uint64_t v287 = ((int64_t)v151 & 0xffffffff) * (int64_t)*v286; // 0x14000dc86 | |
*v286 = (int32_t)v287; | |
int64_t v288 = v287 / 0x100000000; // 0x14000dc94 | |
int64_t v289 = v285 + 1; // 0x14000dc98 | |
int64_t v290 = v289 & 0xffffffff; // 0x14000dc98 | |
v291 = v288; | |
v292 = v290; | |
v285 = v290; | |
while ((int32_t)v289 != v284) { | |
// 0x14000dc77 | |
v286 = (int32_t *)(4 * v285 + v203); | |
v287 = ((int64_t)v151 & 0xffffffff) * (int64_t)*v286 + v288; | |
*v286 = (int32_t)v287; | |
v288 = v287 / 0x100000000; | |
v289 = v285 + 1; | |
v290 = v289 & 0xffffffff; | |
v291 = v288; | |
v292 = v290; | |
v285 = v290; | |
} | |
goto lab_0x14000dbb2; | |
} | |
} | |
} | |
} | |
} else { | |
int32_t v293 = v29; // 0x14000db5b | |
v281 = v211; | |
v282 = 0; | |
if (v293 != 0) { | |
int32_t v294 = v210; // 0x14000db77 | |
int64_t v295 = 0; // 0x14000db71 | |
v223 = v211; | |
v224 = v210; | |
if (v294 == 0 || v293 == 1) { | |
goto lab_0x14000de73; | |
} else { | |
int32_t * v296 = (int32_t *)(4 * v295 + v203); // 0x14000db89 | |
uint64_t v297 = ((int64_t)v29 & 0xffffffff) * (int64_t)*v296; // 0x14000db98 | |
*v296 = (int32_t)v297; | |
int64_t v298 = v297 / 0x100000000; // 0x14000dba6 | |
int64_t v299 = v295 + 1; // 0x14000dbaa | |
int64_t v300 = v299 & 0xffffffff; // 0x14000dbaa | |
v295 = v300; | |
v291 = v298; | |
v292 = v300; | |
while ((int32_t)v299 != v294) { | |
// 0x14000db89 | |
v296 = (int32_t *)(4 * v295 + v203); | |
v297 = ((int64_t)v29 & 0xffffffff) * (int64_t)*v296 + v298; | |
*v296 = (int32_t)v297; | |
v298 = v297 / 0x100000000; | |
v299 = v295 + 1; | |
v300 = v299 & 0xffffffff; | |
v295 = v300; | |
v291 = v298; | |
v292 = v300; | |
} | |
goto lab_0x14000dbb2; | |
} | |
} else { | |
goto lab_0x14000db62; | |
} | |
} | |
} | |
} | |
lab_0x14000de96:; | |
uint32_t v301 = -10 * v198 + v139; // 0x14000de9f | |
v122 = v199; | |
v124 = v123; | |
if (v301 == 0) { | |
goto lab_0x14000df20; | |
} else { | |
uint32_t v302 = *(int32_t *)((4 * (int64_t)v301 + 0x3fffffffc & 0x3fffffffc) + 0x140019a08); // 0x14000dea6 | |
v122 = v199; | |
v124 = v123; | |
v120 = 0; | |
switch (v302) { | |
case 0: { | |
goto lab_0x14000df7e_2; | |
} | |
case 1: { | |
goto lab_0x14000df20; | |
} | |
default: { | |
int32_t v303 = v199; // 0x14000deba | |
v122 = v199; | |
v124 = v123; | |
if (v303 == 0) { | |
goto lab_0x14000df20; | |
} else { | |
int64_t v304 = v127 + 372; // 0x14000dec8 | |
int64_t v305 = 0; // 0x14000d44c | |
int32_t * v306 = (int32_t *)(4 * v305 + v304); // 0x14000dec8 | |
uint64_t v307 = (int64_t)*v306 * (int64_t)v302; // 0x14000ded7 | |
*v306 = (int32_t)v307; | |
int64_t v308 = v307 / 0x100000000; // 0x14000dee5 | |
int64_t v309 = v305 + 1; // 0x14000dee9 | |
v305 = v309 & 0xffffffff; | |
while ((int32_t)v309 != v303) { | |
// 0x14000dec8 | |
v306 = (int32_t *)(4 * v305 + v304); | |
v307 = (int64_t)*v306 * (int64_t)v302 + v308; | |
*v306 = (int32_t)v307; | |
v308 = v307 / 0x100000000; | |
v309 = v305 + 1; | |
v305 = v309 & 0xffffffff; | |
} | |
int32_t v310 = v308; // 0x14000def1 | |
uint32_t v311 = v121; | |
if (v310 == 0) { | |
// 0x14000df19 | |
v122 = v311; | |
v124 = v123; | |
goto lab_0x14000df20; | |
} else { | |
// 0x14000def6 | |
v120 = 0; | |
if (v311 < 115) { | |
// 0x14000deff | |
*(int32_t *)(4 * (int64_t)v311 + v304) = v310; | |
v120 = v121 + 1; | |
} | |
goto lab_0x14000df7e_2; | |
} | |
} | |
} | |
} | |
} | |
} | |
lab_0x14000df20:; | |
int32_t v125 = v124; // 0x14000df27 | |
v87 = v122; | |
if (v125 != 0) { | |
int64_t v126 = v127 - 92; // 0x14000df36 | |
int64_t v128 = 0; // 0x14000d44c | |
int32_t * v129 = (int32_t *)(4 * v128 + v126); // 0x14000df36 | |
uint64_t v130 = 10 * (int64_t)*v129; // 0x14000df42 | |
*v129 = (int32_t)v130; | |
int64_t v131 = v128 + 1; // 0x14000df4b | |
int64_t v132 = v130 / 0x100000000; // 0x14000df4e | |
v128 = v131 & 0xffffffff; | |
while ((int32_t)v131 != v125) { | |
// 0x14000df36 | |
v129 = (int32_t *)(4 * v128 + v126); | |
v130 = 10 * (int64_t)*v129 + v132; | |
*v129 = (int32_t)v130; | |
v131 = v128 + 1; | |
v132 = v130 / 0x100000000; | |
v128 = v131 & 0xffffffff; | |
} | |
int32_t v133 = v132; // 0x14000df57 | |
v87 = v122; | |
if (v133 != 0) { | |
uint32_t v134 = v8; // 0x14000df60 | |
if (v134 >= 115) { | |
// 0x14000e3cf | |
v8 = 0; | |
memcpy_s((int64_t *)&v36, 460, (int64_t *)&v29, 0); | |
v87 = v122; | |
} else { | |
// 0x14000df6a | |
*(int32_t *)(4 * (int64_t)v134 + v126) = v133; | |
v8++; | |
v87 = v122; | |
} | |
} | |
} | |
goto lab_0x14000e3f2; | |
lab_0x14000e3f2:; | |
int64_t v135 = function_14000d020(&v8, &v121); // 0x14000e3fd | |
int32_t v136 = v135; // 0x14000e406 | |
int64_t v137; // 0x14000d44c | |
int64_t v138; // 0x14000d44c | |
if (v136 != 10) { | |
if (v136 != 0) { | |
// 0x14000e4a8 | |
*(char *)a4 = (char)v135 + 48; | |
v137 = a4 + 1; | |
v138 = v139; | |
} else { | |
// 0x14000e4a3 | |
v137 = a4; | |
v138 = v139 - 1; | |
} | |
} else { | |
int64_t v140 = v139 + 1; // 0x14000e40f | |
*(char *)a4 = 49; | |
int64_t v141 = a4 + 1; // 0x14000e415 | |
int32_t v142 = v87; // 0x14000e419 | |
v137 = v141; | |
v138 = v140; | |
if (v142 != 0) { | |
int64_t v143 = v127 + 372; // 0x14000e428 | |
int64_t v144 = 0; // 0x14000d44c | |
int32_t * v145 = (int32_t *)(4 * v144 + v143); // 0x14000e428 | |
uint64_t v146 = 10 * (int64_t)*v145; // 0x14000e437 | |
*v145 = (int32_t)v146; | |
int64_t v147 = v144 + 1; // 0x14000e443 | |
int64_t v148 = v146 / 0x100000000; // 0x14000e446 | |
v144 = v147 & 0xffffffff; | |
while ((int32_t)v147 != v142) { | |
// 0x14000e428 | |
v145 = (int32_t *)(4 * v144 + v143); | |
v146 = 10 * (int64_t)*v145 + v148; | |
*v145 = (int32_t)v146; | |
v147 = v144 + 1; | |
v148 = v146 / 0x100000000; | |
v144 = v147 & 0xffffffff; | |
} | |
int32_t v149 = v148; // 0x14000e44f | |
v137 = v141; | |
v138 = v140; | |
if (v149 != 0) { | |
uint32_t v150 = v121; // 0x14000e454 | |
if (v150 >= 115) { | |
// 0x14000e474 | |
v121 = 0; | |
memcpy_s((int64_t *)&v151, 460, (int64_t *)&v29, 0); | |
v137 = v141; | |
v138 = v140; | |
} else { | |
// 0x14000e45d | |
*(int32_t *)(4 * (int64_t)v150 + v143) = v149; | |
v121++; | |
v137 = v141; | |
v138 = v140; | |
} | |
} | |
} | |
} | |
int64_t v152 = a2 + 1; // 0x14000d5b9 | |
int32_t v153 = v138; // 0x14000e4b8 | |
*(int32_t *)(v3 + 4) = v153; | |
uint64_t v154 = ((int32_t)v152 > -1 == v153 > -1 ? v138 : 0) + v152 & 0xffffffff; | |
uint64_t v155 = a5 - 1; // 0x14000e4d0 | |
int64_t v156 = (v155 < v154 ? v155 : v154) + a4; // 0x14000e4dc | |
int64_t v157 = v137; // 0x14000e4e2 | |
if (v137 != v156) { | |
int64_t v158 = v127 - 92; | |
int64_t v159 = v137; | |
int64_t v160 = 0; // 0x14000e4f5 | |
v157 = v159; | |
while (v8 != 0) { | |
int32_t * v161 = (int32_t *)(4 * v160 + v158); // 0x14000e501 | |
uint64_t v162 = 0x3b9aca00 * (int64_t)*v161; // 0x14000e510 | |
*v161 = (int32_t)v162; | |
int64_t v163 = v162 / 0x100000000; // 0x14000e51b | |
int64_t v164 = v160 + 1; // 0x14000e51f | |
v160 = v164 & 0xffffffff; | |
while (v8 != (int32_t)v164) { | |
// 0x14000e501 | |
v161 = (int32_t *)(4 * v160 + v158); | |
v162 = 0x3b9aca00 * (int64_t)*v161 + v163; | |
*v161 = (int32_t)v162; | |
v163 = v162 / 0x100000000; | |
v164 = v160 + 1; | |
v160 = v164 & 0xffffffff; | |
} | |
int32_t v165 = v163; // 0x14000e527 | |
if (v165 != 0) { | |
uint32_t v166 = v8; // 0x14000e52c | |
if (v166 >= 115) { | |
// 0x14000e540 | |
v8 = 0; | |
memcpy_s((int64_t *)&v36, 460, (int64_t *)&v29, 0); | |
} else { | |
// 0x14000e532 | |
*(int32_t *)(4 * (int64_t)v166 + v158) = v165; | |
v8++; | |
} | |
} | |
int64_t v167 = function_14000d020(&v8, &v121); // 0x14000e56e | |
int64_t v168 = v156 - v159; // 0x14000e58a | |
int64_t v169 = 8; | |
int64_t v170 = v167; | |
uint64_t v171 = 0xcccccccd * (v170 & 0xffffffff); // 0x14000e592 | |
int64_t v172 = v171 / 0x800000000; // 0x14000e592 | |
if ((int32_t)v168 >= (int32_t)v169) { | |
// 0x14000e5c3 | |
*(char *)(v169 + v159) = (char)(v170 - 2 * ((4 * v172 & 252 | v171 & 0xffffff00) + v172)) + 48; | |
} | |
int64_t v173 = v169 + 0xffffffff; // 0x14000e5cd | |
while ((int32_t)v173 != -1) { | |
// 0x14000e58d | |
v169 = v173 & 0xffffffff; | |
v170 = v172; | |
v171 = 0xcccccccd * (v170 & 0xffffffff); | |
v172 = v171 / 0x800000000; | |
if ((int32_t)v168 >= (int32_t)v169) { | |
// 0x14000e5c3 | |
*(char *)(v169 + v159) = (char)(v170 - 2 * ((4 * v172 & 252 | v171 & 0xffffff00) + v172)) + 48; | |
} | |
// 0x14000e5ca | |
v173 = v169 + 0xffffffff; | |
} | |
int64_t v174 = v168 - 9; // 0x14000e5e0 | |
int64_t v175 = (v174 < 0 == (8 - v168 & v168) < 0 == (v174 != 0) ? 9 : v168) + v159; // 0x14000e5e7 | |
v157 = v175; | |
if (v175 == v156) { | |
// break -> 0x14000e5f3 | |
break; | |
} | |
v159 = v175; | |
v160 = 0; | |
v157 = v159; | |
} | |
} | |
// 0x14000e5f3 | |
*(char *)v157 = 0; | |
goto lab_0x14000e645; | |
lab_0x14000d767: | |
// 0x14000d767 | |
v8 = v312; | |
v121 = 1; | |
v151 = 4; | |
v180 = v313; | |
v88 = 1; | |
v123 = v312; | |
goto lab_0x14000da9d; | |
lab_0x14000d74e:; | |
int64_t v314 = 0; // 0x14000d753 | |
v313 = v315; | |
v312 = v316; | |
if (v317 == 0) { | |
goto lab_0x14000d767; | |
} else { | |
goto lab_0x14000d755; | |
} | |
lab_0x14000d755: | |
// 0x14000d755 | |
*(int32_t *)(4 * v314 + v318) = 0; | |
int64_t v319 = v314 + 1; // 0x14000d75a | |
v314 = v319 & 0xffffffff; | |
v313 = v315; | |
v312 = v316; | |
if ((int32_t)v319 != v320) { | |
goto lab_0x14000d755; | |
} else { | |
goto lab_0x14000d767; | |
} | |
lab_0x14000d706_2:; | |
int64_t v321 = v322 & 0xffffffff; | |
int64_t v323 = v321 - v317; // 0x14000d709 | |
uint32_t v324 = (int32_t)v325; // 0x14000d70f | |
int64_t v326 = 0; // 0x14000d711 | |
if ((int32_t)v323 >= v324) { | |
goto lab_0x14000d71d; | |
} else { | |
// 0x14000d713 | |
v326 = (int64_t)*(int32_t *)((4 * v323 & 0x3fffffffc) + v318); | |
goto lab_0x14000d71d; | |
} | |
lab_0x14000d71d:; | |
int64_t v327 = v323 + 0xffffffff; // 0x14000d70c | |
int64_t v328 = 0; // 0x14000d71f | |
if ((int32_t)v327 >= v324) { | |
goto lab_0x14000d729; | |
} else { | |
// 0x14000d721 | |
v328 = (int64_t)*(int32_t *)((4 * v327 & 0x3fffffffc) + v318); | |
goto lab_0x14000d729; | |
} | |
lab_0x14000d729:; | |
int64_t v329 = v328 & (v330 ^ 0xffffffff); | |
int64_t v331 = v332 == 0 ? v329 : (int64_t)((int32_t)v329 >> v332); | |
int64_t v333 = v326 & v330; | |
int64_t v334 = v335 == 0 ? v333 : (int64_t)((int32_t)v333 << v335); | |
*(int32_t *)(4 * v321 + v318) = (int32_t)(v331 | v334); | |
int64_t v336 = v321 + 0xffffffff; // 0x14000d741 | |
v315 = v334; | |
if (v337 == (int32_t)v336) { | |
goto lab_0x14000d74e; | |
} else { | |
// 0x14000d749 | |
v325 = v8; | |
v322 = v336; | |
goto lab_0x14000d706_2; | |
} | |
lab_0x14000d8e9: | |
// 0x14000d8e9 | |
v8 = v338; | |
uint64_t v339 = 1078 - v340; // 0x14000d8f2 | |
int64_t v341 = v339 / 32 & 0x7ffffff; // 0x14000d900 | |
int64_t v342 = 4 * v341; // 0x14000d905 | |
function_140001e50((int64_t *)&v29, 0, v342, v343); | |
*(int32_t *)(v342 + v344) = 1 << ((int32_t)v339 & 31); | |
v177 = v341; | |
v179 = v343; | |
v181 = v345; | |
goto lab_0x14000d923; | |
lab_0x14000d978:; | |
int64_t v346 = v347 & 0xffffffff; | |
uint32_t v348 = (int32_t)v349; // 0x14000d97f | |
int64_t v350 = 0; // 0x14000d981 | |
if ((int32_t)v347 >= v348) { | |
goto lab_0x14000d98d; | |
} else { | |
// 0x14000d983 | |
v350 = (int64_t)*(int32_t *)(4 * v346 + v351); | |
goto lab_0x14000d98d; | |
} | |
lab_0x14000d98d:; | |
int64_t v352 = v347 + 0xffffffff; // 0x14000d97b | |
int64_t v353 = v352 & 0xffffffff; // 0x14000d97b | |
uint32_t v354 = (int32_t)v352; // 0x14000d98d | |
int32_t v355 = 0; // 0x14000d990 | |
if (v354 >= v348) { | |
goto lab_0x14000d99b; | |
} else { | |
// 0x14000d992 | |
v355 = *(int32_t *)(4 * v353 + v351); | |
goto lab_0x14000d99b; | |
} | |
lab_0x14000d99b: | |
// 0x14000d99b | |
*(int32_t *)(4 * v346 + v351) = v355 / 0x40000000 | 4 * (int32_t)v350; | |
v343 = v350; | |
if (v354 == -1) { | |
goto lab_0x14000d8e9; | |
} else { | |
// 0x14000d9b7 | |
v347 = v353; | |
v349 = v8; | |
goto lab_0x14000d978; | |
} | |
} | |
// Address range: 0x14000e718 - 0x14000e72c | |
int64_t function_14000e718(int64_t a1) { | |
// 0x14000e718 | |
return function_1400107ec(function_1400107f8() & 0xffffffff); | |
} | |
// Address range: 0x14000e72c - 0x14000e810 | |
int64_t function_14000e72c(int64_t a1, int64_t a2) { | |
int64_t v1 = 0x100000000000000 * a1 / 0x100000000000000; // 0x14000e736 | |
int32_t v2 = _fileno((struct _IO_FILE *)a2); // 0x14000e745 | |
int32_t * v3 = (int32_t *)(a2 + 20); // 0x14000e74a | |
int64_t v4 = v2; // 0x14000e74d | |
if ((*v3 & 192) == 0) { | |
int64_t v5 = function_14000c840(v4 & 0xffffffff, (int64_t)&v1, 1); // 0x14000e7f5 | |
// 0x14000e800 | |
return v5 & -256 | (int64_t)((int32_t)v5 == 1); | |
} | |
int64_t v6 = a2 + 8; // 0x14000e75d | |
int64_t * v7 = (int64_t *)v6; // 0x14000e75d | |
int64_t v8 = *v7; // 0x14000e75d | |
int64_t v9; // 0x14000e72c | |
int32_t v10 = (int32_t)v9 - *(int32_t *)v6; // 0x14000e761 | |
*(int64_t *)a2 = v8 + 1; | |
*(int32_t *)(a2 + 16) = *(int32_t *)(a2 + 32) - 1; | |
int64_t v11; // 0x14000e72c | |
int32_t v12; // 0x14000e72c | |
if (v10 < 1) { | |
int64_t v13 = v4 + 2; // 0x14000e792 | |
int64_t v14 = v13 & 0xffffffff; // 0x14000e799 | |
int64_t v15 = &g35; // 0x14000e799 | |
if ((int32_t)v13 >= 2) { | |
// 0x14000e79b | |
v14 = *(int64_t *)(8 * v4 / 64 + (int64_t)&g85); | |
v15 = v14 + 72 * (v4 & 63); | |
} | |
// 0x14000e7c4 | |
v11 = v14; | |
v12 = 0; | |
if ((*(char *)(v15 + 56) & 32) != 0) { | |
int64_t v16 = function_14000fe30(v4 & 0xffffffff, 0, 2, v4); // 0x14000e7d3 | |
v11 = v16; | |
v12 = 0; | |
if (v16 == -1) { | |
// 0x14000e7de | |
*v3 = *v3 | 16; | |
// 0x14000e800 | |
return v16 & -256 | 1; | |
} | |
} | |
} else { | |
int64_t v17 = function_14000c840(v4 & 0xffffffff, v8, (int64_t)v10); // 0x14000e77d | |
v11 = v17; | |
v12 = v17; | |
} | |
// 0x14000e784 | |
*(char *)*v7 = (char)v1; | |
// 0x14000e800 | |
return v11 & -256 & -256 | (int64_t)(v12 == v10); | |
} | |
// Address range: 0x14000e810 - 0x14000e889 | |
int64_t function_14000e810(int64_t a1) { | |
int32_t v1 = *(int32_t *)(a1 + 20); // 0x14000e816 | |
if ((v1 & 8) != 0) { | |
// 0x14000e883 | |
int64_t v2; // 0x14000e810 | |
return v2 & -256 | 1; | |
} | |
if ((v1 & 192) != 0) { | |
// 0x14000e82c | |
if (*(int64_t *)(a1 + 8) == a1) { | |
// 0x14000e883 | |
return a1 & -256; | |
} | |
} | |
int64_t v3 = function_14000ade0((int64_t)*(int32_t *)(a1 + 24)); // 0x14000e838 | |
if (v3 == -1) { | |
// 0x14000e883 | |
return -256; | |
} | |
int64_t * hFile = (int64_t *)v3; // 0x14000e856 | |
int64_t lpNewFilePointer; // bp+16, 0x14000e810 | |
int64_t lpFileSize; // 0x14000e810 | |
if (!SetFilePointerEx(hFile, (struct {int64_t e0;}){.e0 = 0}, (struct _LARGE_INTEGER *)&lpNewFilePointer, 1) || !GetFileSizeEx(hFile, (struct _LARGE_INTEGER *)&lpFileSize)) { | |
// 0x14000e883 | |
return 0; | |
} | |
int64_t v4 = lpFileSize; // 0x14000e872 | |
// 0x14000e883 | |
return v4 & -256 | (int64_t)(lpNewFilePointer == v4); | |
} | |
// Address range: 0x14000e88c - 0x14000e943 | |
int64_t function_14000e88c(int64_t a1, int64_t a2) { | |
// 0x14000e88c | |
_fileno((struct _IO_FILE *)a2); | |
int32_t * v1 = (int32_t *)(a2 + 20); // 0x14000e8a3 | |
int32_t v2 = *v1; // 0x14000e8a3 | |
if ((v2 & 6) == 0) { | |
// 0x14000e8aa | |
*_errno() = 9; | |
// 0x14000e8b5 | |
*v1 = *v1 | 16; | |
// 0x14000e938 | |
return 0xffffffff; | |
} | |
if ((v2 & 0x1000) != 0) { | |
// 0x14000e8c9 | |
*_errno() = 34; | |
// 0x14000e8b5 | |
*v1 = *v1 | 16; | |
// 0x14000e938 | |
return 0xffffffff; | |
} | |
int32_t * v3; // 0x14000e88c | |
int32_t v4; // 0x14000e88c | |
if ((v2 & 1) == 0) { | |
// 0x14000e8d6 | |
v3 = (int32_t *)(a2 + 16); | |
v4 = v2; | |
} else { | |
int64_t v5 = function_14000e810(a2); // 0x14000e8e0 | |
int32_t * v6 = (int32_t *)(a2 + 16); | |
*v6 = 0; | |
if ((char)v5 == 0) { | |
// 0x14000e8b5 | |
*v1 = *v1 | 16; | |
// 0x14000e938 | |
return 0xffffffff; | |
} | |
// 0x14000e8ed | |
*(int64_t *)a2 = *(int64_t *)(a2 + 8); | |
int32_t v7 = *v1 & -2; // 0x14000e8f4 | |
*v1 = v7; | |
v3 = v6; | |
v4 = v7; | |
} | |
// 0x14000e8f9 | |
*v1 = v4 & -11 | 2; | |
*v3 = 0; | |
if ((*v1 & 1216) == 0) { | |
// 0x14000e911 | |
if ((char)function_140008bf0(a2) == 0) { | |
// 0x14000e91d | |
function_140010b0c(a2); | |
} | |
} | |
int64_t result = a1 & 255; // 0x14000e928 | |
if ((char)function_14000e72c(a2 & -256 || result, a2) != 0) { | |
// 0x14000e938 | |
return result; | |
} | |
// 0x14000e8b5 | |
*v1 = *v1 | 16; | |
// 0x14000e938 | |
return 0xffffffff; | |
} | |
// Address range: 0x14000e944 - 0x14000e9a3 | |
int64_t function_14000e944(int64_t a1) { | |
uint32_t v1 = (int32_t)a1; // 0x14000e948 | |
if (v1 == -2) { | |
// 0x14000e94d | |
*_errno() = 9; | |
// 0x14000e99e | |
return 0; | |
} | |
if (v1 >= 0) { | |
// 0x14000e95e | |
if (g86 > v1) { | |
int64_t v2 = *(int64_t *)(8 * 0x100000000 * a1 / 0x4000000000 + (int64_t)&g85); // 0x14000e97e | |
// 0x14000e99e | |
return (int64_t)(*(char *)(72 * (a1 & 63) + 56 + v2) & 64); | |
} | |
} | |
// 0x14000e98c | |
*_errno() = 9; | |
int64_t v3; // 0x14000e944 | |
int64_t v4; // 0x14000e944 | |
int64_t v5; // 0x14000e944 | |
function_140006270(a1, v5, v4, v3); | |
// 0x14000e99e | |
return 0; | |
} | |
// Address range: 0x14000e9b0 - 0x14000ed4d | |
int64_t function_14000e9b0(int64_t a1, uint64_t a2, int64_t a3, int64_t a4) { | |
// 0x14000e9b0 | |
if (a1 == 0 == (a2 != 0) || a3 == 0 || a4 == 0) { | |
// 0x14000e9e2 | |
*_errno() = 22; | |
function_140006270(a1, a2, a3, a4); | |
// 0x14000ed2f | |
return function_140011ed0(g29); | |
} | |
if (a2 < 2) { | |
// 0x14000ed2f | |
return function_140011ed0(g29); | |
} | |
// 0x14000ea0b | |
int64_t v1; // bp-1128, 0x14000e9b0 | |
int64_t v2 = &v1; // 0x14000e9b6 | |
int64_t v3 = v2 + 48; | |
int64_t v4 = v2 + 544; | |
int64_t v5 = 0; // 0x14000ea45 | |
int64_t v6 = a3; // 0x14000ea45 | |
int64_t v7 = a1; // 0x14000ea45 | |
int64_t v8 = (a2 - 1) * a3 + a1; // 0x14000ea45 | |
int64_t v9; // 0x14000e9b0 | |
int64_t v10; // 0x14000e9b0 | |
int64_t v11; // 0x14000e9b0 | |
uint64_t v12; // 0x14000e9b0 | |
int64_t v13; // 0x14000e9b0 | |
int64_t v14; // 0x14000e9b0 | |
while (true) { | |
lab_0x14000ea50_2:; | |
uint64_t v15 = v7; | |
int32_t v16 = v15; | |
int64_t v17 = v5; | |
int64_t v18 = v6; // 0x14000e9b0 | |
int64_t v19 = v8; // 0x14000e9b0 | |
int64_t v20; // 0x14000e9b0 | |
int64_t v21; // 0x14000e9b0 | |
while (true) { | |
// 0x14000ea50 | |
v9 = v19; | |
v20 = v18; | |
v21 = v17; | |
uint64_t v22 = (v9 - v15) / a3 + 1; // 0x14000ea5b | |
if (v22 < 9) { | |
// break -> 0x14000ea69 | |
break; | |
} | |
int64_t v23 = v22 / 2 * a3; // 0x14000eafa | |
int64_t v24 = v23 + v15; // 0x14000eb01 | |
int64_t v25 = function_1400124a0(v16, v24, (int32_t)v20); // 0x14000eb08 | |
int64_t v26 = v20; // 0x14000eb10 | |
if ((int32_t)v25 >= 1) { | |
int64_t v27 = v24; // 0x14000eb1b | |
v26 = v24; | |
if (v23 != 0) { | |
char * v28 = (char *)v27; // 0x14000eb20 | |
char * v29 = (char *)(v27 - v23); // 0x14000eb2a | |
*v29 = *v28; | |
*v28 = *v29; | |
int64_t v30 = v27 + 1; // 0x14000eb32 | |
int64_t v31 = a3 - 1; // 0x14000eb35 | |
v27 = v30; | |
int64_t v32 = v31; // 0x14000eb39 | |
v26 = v30; | |
while (v31 != 0) { | |
// 0x14000eb20 | |
v28 = (char *)v27; | |
v29 = (char *)(v27 - v23); | |
*v29 = *v28; | |
*v28 = *v29; | |
v30 = v27 + 1; | |
v31 = v32 - 1; | |
v27 = v30; | |
v32 = v31; | |
v26 = v30; | |
} | |
} | |
} | |
int64_t v33 = function_1400124a0(v16, v9, (int32_t)v26); // 0x14000eb44 | |
int64_t v34 = v26; // 0x14000eb4c | |
if ((int32_t)v33 >= 1) { | |
// 0x14000eb4e | |
v34 = a3; | |
if (v9 != v15) { | |
int64_t v35 = v9; // 0x14000eb5f | |
int64_t v36 = a3; // 0x14000eb5f | |
char * v37 = (char *)v35; // 0x14000eb60 | |
char * v38 = (char *)(v15 - v9 + v35); // 0x14000eb63 | |
*v38 = *v37; | |
*v37 = *v38; | |
v36--; | |
v35++; | |
v34 = v36; | |
while (v36 != 0) { | |
// 0x14000eb60 | |
v37 = (char *)v35; | |
v38 = (char *)(v15 - v9 + v35); | |
*v38 = *v37; | |
*v37 = *v38; | |
v36--; | |
v35++; | |
v34 = v36; | |
} | |
} | |
} | |
int64_t v39 = function_1400124a0((int32_t)v24, v9, (int32_t)v34); // 0x14000eb81 | |
int64_t v40 = v34; // 0x14000eb89 | |
if ((int32_t)v39 >= 1) { | |
// 0x14000eb8b | |
v40 = a3; | |
if (v24 != v9) { | |
int64_t v41 = v9; // 0x14000eb9c | |
int64_t v42 = a3; // 0x14000eb9c | |
char * v43 = (char *)v41; // 0x14000eba0 | |
char * v44 = (char *)(v24 - v9 + v41); // 0x14000eba3 | |
*v44 = *v43; | |
*v43 = *v44; | |
v42--; | |
v41++; | |
v40 = v42; | |
while (v42 != 0) { | |
// 0x14000eba0 | |
v43 = (char *)v41; | |
v44 = (char *)(v24 - v9 + v41); | |
*v44 = *v43; | |
*v43 = *v44; | |
v42--; | |
v41++; | |
v40 = v42; | |
} | |
} | |
} | |
int64_t v45 = v15; // 0x14000ebbe | |
int64_t v46 = v24; // 0x14000ebbe | |
int64_t v47 = v9; // 0x14000ebbe | |
int64_t v48 = v40; // 0x14000ebbe | |
int64_t v49; // 0x14000e9b0 | |
uint64_t v50; // 0x14000e9b0 | |
int32_t v51; // 0x14000e9b0 | |
while (true) { | |
// 0x14000ebc0 | |
v10 = v48; | |
v50 = v46; | |
v51 = v10; | |
int64_t v52 = v45; // 0x14000ebc3 | |
int64_t v53 = v45; // 0x14000ebc3 | |
int64_t v54; // 0x14000e9b0 | |
if (v50 > v45) { | |
int64_t v55 = v53 + a3; // 0x14000ebc5 | |
v52 = v55; | |
while (v55 < v50) { | |
int64_t v56 = function_1400124a0((int32_t)v55, v50, v51); // 0x14000ebd6 | |
v53 = v55; | |
v54 = v55; | |
if ((int32_t)v56 >= 1) { | |
goto lab_0x14000ec00; | |
} | |
v55 = v53 + a3; | |
v52 = v55; | |
} | |
} | |
int64_t v57 = v52; // 0x14000ebe2 | |
v57 += a3; | |
v54 = v57; | |
while (v57 <= v9) { | |
int64_t v58 = function_1400124a0((int32_t)v57, v50, v51); // 0x14000ebf3 | |
v54 = v57; | |
if ((int32_t)v58 >= 1) { | |
// break -> 0x14000ec00 | |
break; | |
} | |
v57 += a3; | |
v54 = v57; | |
} | |
lab_0x14000ec00: | |
// 0x14000ec00 | |
v12 = v54; | |
v49 = v47; | |
int64_t v59 = v49 - a3; // 0x14000ec03 | |
while (v59 > v50) { | |
int32_t v60 = function_1400124a0((int32_t)v59, v50, v51); // 0x14000ec1a | |
int64_t v61 = v59; // 0x14000ec1c | |
if (v60 >= 0 != v60 != 0) { | |
// break -> 0x14000ec1e | |
break; | |
} | |
v49 = v61; | |
v59 = v49 - a3; | |
} | |
if (v12 > v59) { | |
// break -> 0x14000ec5b | |
break; | |
} | |
int64_t v62 = a3; // 0x14000ec29 | |
if (v12 != v59) { | |
int64_t v63 = v59; // 0x14000ec2e | |
int64_t v64 = a3; // 0x14000ec2e | |
char * v65 = (char *)v63; // 0x14000ec31 | |
char * v66 = (char *)(v12 - v59 + v63); // 0x14000ec34 | |
*v66 = *v65; | |
*v65 = *v66; | |
v64--; | |
v63++; | |
v62 = v64; | |
while (v64 != 0) { | |
// 0x14000ec31 | |
v65 = (char *)v63; | |
v66 = (char *)(v12 - v59 + v63); | |
*v66 = *v65; | |
*v65 = *v66; | |
v64--; | |
v63++; | |
v62 = v64; | |
} | |
} | |
// 0x14000ec49 | |
v48 = v62; | |
v46 = v50 != v59 ? v50 : v12; | |
v45 = v12; | |
v47 = v59; | |
} | |
int64_t v67 = v49; // 0x14000ec5e | |
int64_t v68 = v49; // 0x14000ec5e | |
int64_t v69; // 0x14000e9b0 | |
if (v50 < v49) { | |
int64_t v70 = v67 - a3; // 0x14000ec60 | |
v68 = v70; | |
while (v70 > v50) { | |
int64_t v71 = function_1400124a0((int32_t)v70, v50, v51); // 0x14000ec71 | |
v67 = v70; | |
v69 = v70; | |
if ((int32_t)v71 != 0) { | |
goto lab_0x14000ec9b; | |
} | |
v70 = v67 - a3; | |
v68 = v70; | |
} | |
} | |
int64_t v72 = v68; // 0x14000ec80 | |
v72 -= a3; | |
v69 = v72; | |
while (v72 > v15) { | |
int64_t v73 = function_1400124a0((int32_t)v72, v50, v51); // 0x14000ec91 | |
v69 = v72; | |
if ((int32_t)v73 != 0) { | |
// break -> 0x14000ec9b | |
break; | |
} | |
v72 -= a3; | |
v69 = v72; | |
} | |
lab_0x14000ec9b:; | |
uint64_t v74 = v69; | |
if (v74 - v15 >= v9 - v12) { | |
// 0x14000ecb1 | |
v14 = v21; | |
if (v74 <= v15) { | |
goto lab_0x14000eccb; | |
} else { | |
int64_t v75 = 8 * v21; // 0x14000ecb6 | |
*(int64_t *)(v75 + v3) = v15; | |
*(int64_t *)(v75 + v4) = v74; | |
v14 = v21 + 1; | |
goto lab_0x14000eccb; | |
} | |
} | |
int64_t v76 = v21; // 0x14000ecdf | |
if (v9 > v12) { | |
int64_t v77 = 8 * v21; // 0x14000ece1 | |
*(int64_t *)(v77 + v3) = v12; | |
*(int64_t *)(v77 + v4) = v9; | |
v76 = v21 + 1; | |
} | |
// 0x14000ecf6 | |
v17 = v76; | |
v18 = v10; | |
v19 = v74; | |
v13 = v17; | |
v11 = v10; | |
if (v74 <= v15) { | |
goto lab_0x14000ead3; | |
} | |
} | |
// 0x14000ea69 | |
v13 = v21; | |
v11 = v20; | |
if (v9 > v15) { | |
int64_t v78 = v15 + a3; // 0x14000ea6e | |
int64_t v79 = v20; // 0x14000ea6e | |
uint64_t v80 = v9; | |
int64_t v81 = v15; // 0x14000ea7b | |
int32_t v82; // 0x14000ea8f | |
int64_t v83; // 0x14000ea91 | |
int64_t v84; // 0x14000ea95 | |
if (v78 <= v80) { | |
// 0x14000ea80 | |
v83 = v15; | |
v84 = v78; | |
v82 = function_1400124a0((int32_t)v84, v83, (int32_t)v79); | |
v83 = v82 >= 0 == (v82 != 0) ? v84 : v83; | |
v84 += a3; | |
v81 = v83; | |
while (v84 <= v80) { | |
// 0x14000ea80 | |
v82 = function_1400124a0((int32_t)v84, v83, (int32_t)v79); | |
v83 = v82 >= 0 == (v82 != 0) ? v84 : v83; | |
v84 += a3; | |
v81 = v83; | |
} | |
} | |
int64_t v85 = v81; | |
int64_t v86 = a3; // 0x14000eaa6 | |
int64_t v87; // 0x14000e9b0 | |
char * v88; // 0x14000eab0 | |
char * v89; // 0x14000eab3 | |
int64_t v90; // 0x14000eac0 | |
if (v85 != v80) { | |
// 0x14000eaa8 | |
v87 = v80; | |
v90 = a3; | |
v88 = (char *)v87; | |
v89 = (char *)(v85 - v80 + v87); | |
*v89 = *v88; | |
*v88 = *v89; | |
v90--; | |
v87++; | |
v86 = v90; | |
while (v90 != 0) { | |
// 0x14000eab0 | |
v88 = (char *)v87; | |
v89 = (char *)(v85 - v80 + v87); | |
*v89 = *v88; | |
*v88 = *v89; | |
v90--; | |
v87++; | |
v86 = v90; | |
} | |
} | |
int64_t v91 = v80 - a3; // 0x14000eac6 | |
v79 = v86; | |
v13 = v21; | |
v11 = v86; | |
while (v91 > v15) { | |
// 0x14000ea72 | |
v80 = v91; | |
v81 = v15; | |
if (v78 <= v80) { | |
// 0x14000ea80 | |
v83 = v15; | |
v84 = v78; | |
v82 = function_1400124a0((int32_t)v84, v83, (int32_t)v79); | |
v83 = v82 >= 0 == (v82 != 0) ? v84 : v83; | |
v84 += a3; | |
v81 = v83; | |
while (v84 <= v80) { | |
// 0x14000ea80 | |
v82 = function_1400124a0((int32_t)v84, v83, (int32_t)v79); | |
v83 = v82 >= 0 == (v82 != 0) ? v84 : v83; | |
v84 += a3; | |
v81 = v83; | |
} | |
} | |
// 0x14000ea9d | |
v85 = v81; | |
v86 = a3; | |
if (v85 != v80) { | |
// 0x14000eaa8 | |
v87 = v80; | |
v90 = a3; | |
v88 = (char *)v87; | |
v89 = (char *)(v85 - v80 + v87); | |
*v89 = *v88; | |
*v88 = *v89; | |
v90--; | |
v87++; | |
v86 = v90; | |
while (v90 != 0) { | |
// 0x14000eab0 | |
v88 = (char *)v87; | |
v89 = (char *)(v85 - v80 + v87); | |
*v89 = *v88; | |
*v88 = *v89; | |
v90--; | |
v87++; | |
v86 = v90; | |
} | |
} | |
// 0x14000eac6 | |
v91 = v80 - a3; | |
v79 = v86; | |
v13 = v21; | |
v11 = v86; | |
} | |
} | |
goto lab_0x14000ead3; | |
} | |
// 0x14000ed2f | |
return function_140011ed0(g29); | |
lab_0x14000ead3:; | |
int64_t v92 = v13 - 1; // 0x14000ead3 | |
if (v92 < 0) { | |
return function_140011ed0(g29); | |
} | |
int64_t v93 = 8 * v92; // 0x14000eae2 | |
v5 = v92; | |
v6 = v11; | |
v7 = *(int64_t *)(v93 + v3); | |
v8 = *(int64_t *)(v93 + v4); | |
goto lab_0x14000ea50_2; | |
lab_0x14000ea50: | |
// 0x14000ea50 | |
goto lab_0x14000ea50_2; | |
lab_0x14000eccb: | |
// 0x14000eccb | |
v13 = v14; | |
v11 = v10; | |
v5 = v14; | |
v6 = v10; | |
v7 = v12; | |
v8 = v9; | |
if (v9 <= v12) { | |
goto lab_0x14000ead3; | |
} else { | |
goto lab_0x14000ea50; | |
} | |
} | |
// Address range: 0x14000ed50 - 0x14000ee23 | |
int64_t function_14000ed50(int64_t a1, int64_t a2, int64_t a3, int64_t a4) { | |
int64_t v1; // 0x14000ed50 | |
int64_t v2; // 0x14000ed50 | |
int32_t * v3; // 0x14000ed50 | |
int64_t v4; // 0x14000ed50 | |
if (a4 != 0) { | |
if (a1 == 0 || a2 == 0) { | |
goto lab_0x14000ed72; | |
} else { | |
if (a3 != 0) { | |
int64_t v5 = a3 - a1; // 0x14000edb2 | |
int64_t v6 = a2; // 0x14000edc2 | |
int64_t v7 = a4; // 0x14000edc2 | |
int64_t v8 = a2; // 0x14000edc2 | |
int64_t v9; // 0x14000ed50 | |
int64_t v10; // 0x14000ed50 | |
if (a4 != -1) { | |
char v11 = *(char *)(a1 + v5); // 0x14000edd8 | |
*(char *)a1 = v11; | |
int64_t v12 = a1 + 1; // 0x14000eddd | |
int64_t v13 = v7; // 0x14000ede2 | |
int64_t v14 = v8; // 0x14000ede2 | |
while (v11 != 0) { | |
int64_t v15 = v8 - 1; // 0x14000ede4 | |
v13 = v7; | |
v14 = 0; | |
if (v15 == 0) { | |
// break -> 0x14000edf0 | |
break; | |
} | |
int64_t v16 = v7 - 1; // 0x14000edea | |
v7 = v16; | |
v8 = v15; | |
v13 = v16; | |
v14 = v15; | |
if (v16 == 0) { | |
// break -> 0x14000edf0 | |
break; | |
} | |
v11 = *(char *)(v12 + v5); | |
*(char *)v12 = v11; | |
v12++; | |
v13 = v7; | |
v14 = v8; | |
} | |
// 0x14000edf0 | |
v10 = v12; | |
v9 = v14; | |
if (v13 == 0) { | |
// 0x14000edf5 | |
*(char *)v12 = 0; | |
v10 = v12; | |
v9 = v14; | |
} | |
} else { | |
char v17 = *(char *)(a1 + v5); // 0x14000edc4 | |
*(char *)a1 = v17; | |
int64_t v18 = a1 + 1; // 0x14000edc9 | |
v10 = v18; | |
v9 = v6; | |
while (v17 != 0) { | |
int64_t v19 = v6 - 1; // 0x14000edd0 | |
v6 = v19; | |
v10 = v18; | |
v9 = v19; | |
if (v19 == 0) { | |
// break -> 0x14000edf8 | |
break; | |
} | |
v17 = *(char *)(v18 + v5); | |
*(char *)v18 = v17; | |
v18++; | |
v10 = v18; | |
v9 = v6; | |
} | |
} | |
// 0x14000edf8 | |
if (v9 != 0) { | |
// 0x14000ed86 | |
return 0; | |
} | |
if (a4 == -1) { | |
// 0x14000ee03 | |
*(char *)(a1 - 1 + a2) = 0; | |
// 0x14000ed86 | |
return v9 + 80 & 0xffffffff & 0xffffffff; | |
} | |
// 0x14000ee11 | |
*(char *)a1 = 0; | |
v2 = v10; | |
v1 = v9; | |
v3 = _errno(); | |
v4 = 34; | |
goto lab_0x14000ed7c; | |
} else { | |
// 0x14000edad | |
*(char *)a1 = 0; | |
goto lab_0x14000ed72; | |
} | |
} | |
} else { | |
if (a1 != 0) { | |
if (a2 != 0) { | |
// 0x14000eda3 | |
*(char *)a1 = 0; | |
// 0x14000ed86 | |
return 0; | |
} | |
} else { | |
// 0x14000ed6d | |
if (a2 == 0) { | |
// 0x14000ed86 | |
return 0; | |
} | |
} | |
goto lab_0x14000ed72; | |
} | |
lab_0x14000ed72: | |
// 0x14000ed72 | |
v2 = a2; | |
v1 = a3; | |
v3 = _errno(); | |
v4 = 22; | |
goto lab_0x14000ed7c; | |
lab_0x14000ed7c: | |
// 0x14000ed7c | |
*v3 = (int32_t)v4; | |
function_140006270(a1, v2, v1, a4); | |
// 0x14000ed86 | |
return v4 & 0xffffffff; | |
} | |
// Address range: 0x14000f298 - 0x14000f334 | |
int64_t function_14000f298(uint64_t a1, uint64_t a2, int64_t a3) { | |
// 0x14000f298 | |
if (a1 == 0 || a2 == 0) { | |
// 0x14000f2b5 | |
*_errno() = 22; | |
int64_t v1; // 0x14000f298 | |
function_140006270(a1, a2, 0, v1); | |
// 0x14000f329 | |
return 0; | |
} | |
// 0x14000f2ce | |
if (a1 >= a2) { | |
// 0x14000f329 | |
return 0; | |
} | |
// 0x14000f2d3 | |
int64_t v2; // bp-40, 0x14000f298 | |
function_14000331c(&v2, 0); | |
int64_t v3 = a2 - 1; // 0x14000f2e5 | |
int64_t result = v3; // 0x14000f2ed | |
int64_t v4; // 0x14000f298 | |
if (*(int32_t *)(v4 + 8) != 0) { | |
int64_t v5 = v3 - 1; // 0x14000f2ef | |
while (v5 >= a1) { | |
// 0x14000f2f7 | |
if ((*(char *)(v4 + 25 + (int64_t)*(char *)v5) & 4) == 0) { | |
// break -> 0x14000f301 | |
break; | |
} | |
v5--; | |
} | |
// 0x14000f301 | |
result = -1 - (a2 - v5 & 1) + a2; | |
} | |
// 0x14000f313 | |
char v6; // 0x14000f298 | |
if (v6 != 0) { | |
int32_t * v7 = (int32_t *)(v2 + 936); // 0x14000f31f | |
*v7 = *v7 & -3; | |
} | |
// 0x14000f329 | |
return result; | |
} | |
// Address range: 0x14000f334 - 0x14000f649 | |
int64_t function_14000f334(int64_t a1, int64_t a2, int64_t a3, int64_t a4, uint32_t a5, int64_t a6, uint32_t a7, int32_t a8, int32_t a9) { | |
int64_t v1 = a1; // 0x14000f374 | |
if (a5 >= 1) { | |
// 0x14000f376 | |
function_140010b78(a4, (int64_t)a5); | |
v1 = a4; | |
} | |
int32_t v2 = a8; // 0x14000f391 | |
if (a8 == 0) { | |
// 0x14000f393 | |
v2 = *(int32_t *)(v1 + 12); | |
} | |
int64_t v3 = function_14000a420(v2, a9 == 0 ? 1 : 9); // 0x14000f3bb | |
if ((int32_t)v3 == 0) { | |
// 0x14000f601 | |
return function_140011ed0(g29); | |
} | |
int64_t v4 = 0x100000000 * v3; | |
int64_t v5 = v4 / 0x80000000; // 0x14000f3d8 | |
uint64_t v6 = v5 + 16; // 0x14000f3db | |
if (v5 > 0xffffffffffffffef || v6 == 0) { | |
// 0x14000f601 | |
return function_140011ed0(g29); | |
} | |
// 0x14000f3ea | |
int64_t v7; // bp-136, 0x14000f334 | |
int64_t v8 = &v7; // 0x14000f33e | |
int64_t v9; // 0x14000f334 | |
int64_t v10; // 0x14000f334 | |
int64_t v11; // 0x14000f334 | |
int64_t v12; // 0x14000f334 | |
if (v6 < 1025) { | |
int64_t v13 = v8 - __chkstk(v6, v6, 0xffffffffffffff0); // 0x14000f408 | |
int64_t v14 = v13 + 80; // 0x14000f40b | |
if (v14 == 0) { | |
// 0x14000f601 | |
return function_140011ed0(g29); | |
} | |
// 0x14000f419 | |
*(int32_t *)v14 = 0xcccc; | |
v11 = v13; | |
v9 = v14; | |
goto lab_0x14000f437; | |
} else { | |
int64_t * v15 = _malloc_base((int32_t)v6); // 0x14000f424 | |
int64_t v16 = (int64_t)v15; // 0x14000f424 | |
v12 = v8; | |
v10 = v16; | |
if (v15 == NULL) { | |
goto lab_0x14000f43f; | |
} else { | |
// 0x14000f431 | |
*(int32_t *)v15 = 0xdddd; | |
v11 = v8; | |
v9 = v16; | |
goto lab_0x14000f437; | |
} | |
} | |
lab_0x14000f437: | |
// 0x14000f437 | |
v12 = v11; | |
v10 = v9 + 16; | |
goto lab_0x14000f43f; | |
lab_0x14000f43f: | |
// 0x14000f43f | |
if (v10 == 0) { | |
// 0x14000f601 | |
return function_140011ed0(g29); | |
} | |
int64_t v17 = v4 / 0x100000000; // 0x14000f3c0 | |
int32_t * v18 = (int32_t *)(v12 + 40); // 0x14000f448 | |
*v18 = (int32_t)v17; | |
int64_t * v19 = (int64_t *)(v12 + 32); // 0x14000f453 | |
*v19 = v10; | |
int64_t v20; // 0x14000f334 | |
int64_t v21; // 0x14000f334 | |
int64_t v22; // 0x14000f334 | |
int64_t v23; // 0x14000f334 | |
int64_t v24; // 0x14000f36c | |
int64_t v25; // 0x14000f473 | |
int64_t v26; // 0x14000f49f | |
if ((int32_t)function_14000a420(v2, 1) == 0) { | |
goto lab_0x14000f5ee; | |
} else { | |
// 0x14000f46d | |
v24 = a3 & 0xffffffff; | |
int64_t * v27 = (int64_t *)(v12 + 64); // 0x14000f46d | |
*v27 = 0; | |
v25 = v17 & 0xffffffff; | |
int64_t * v28 = (int64_t *)(v12 + 56); // 0x14000f476 | |
*v28 = 0; | |
int64_t * v29 = (int64_t *)(v12 + 48); // 0x14000f47f | |
*v29 = 0; | |
*v18 = 0; | |
*v19 = 0; | |
int64_t v30 = __acrt_LCMapStringEx(a2, v24, v10, v25); // 0x14000f49a | |
if ((int32_t)v30 == 0) { | |
goto lab_0x14000f5ee; | |
} else { | |
int64_t v31 = 0x100000000 * v30; | |
v26 = v31 / 0x100000000; | |
if ((a3 & 1024) == 0) { | |
int64_t v32 = v31 / 0x80000000; // 0x14000f509 | |
uint64_t v33 = v32 - (v32 | (int64_t)(v32 < 0xfffffffffffffff0)) & v32 + 16; // 0x14000f516 | |
if (v33 == 0) { | |
goto lab_0x14000f5ee; | |
} else { | |
if (v33 > 1024) { | |
int64_t * v34 = _malloc_base((int32_t)v33); // 0x14000f555 | |
int64_t v35 = (int64_t)v34; // 0x14000f555 | |
v21 = v35; | |
v23 = v12; | |
if (v34 == NULL) { | |
goto lab_0x14000f570; | |
} else { | |
// 0x14000f562 | |
*(int32_t *)v34 = 0xdddd; | |
v20 = v35; | |
v22 = v12; | |
goto lab_0x14000f568; | |
} | |
} else { | |
int64_t v36 = v12 - __chkstk(v33, 1024, v10); // 0x14000f53c | |
int64_t v37 = v36 + 80; // 0x14000f53f | |
if (v37 == 0) { | |
goto lab_0x14000f5ee; | |
} else { | |
// 0x14000f54d | |
*(int32_t *)v37 = 0xcccc; | |
v20 = v37; | |
v22 = v36; | |
goto lab_0x14000f568; | |
} | |
} | |
} | |
} else { | |
if (a7 != 0 && v26 <= (int64_t)a7) { | |
// 0x14000f4c7 | |
*v27 = 0; | |
*v28 = 0; | |
*v29 = 0; | |
*v18 = a7; | |
*v19 = a6; | |
__acrt_LCMapStringEx(a2, v24, v10, v25); | |
} | |
goto lab_0x14000f5ee; | |
} | |
} | |
} | |
lab_0x14000f5ee:; | |
int64_t v38 = v10 - 16; // 0x14000f5ee | |
if (*(int32_t *)v38 == 0xdddd) { | |
// 0x14000f5fa | |
_free_base((int64_t *)v38); | |
} | |
// 0x14000f601 | |
return function_140011ed0(g29); | |
lab_0x14000f570: | |
// 0x14000f570 | |
if (v21 == 0) { | |
goto lab_0x14000f5ee; | |
} else { | |
// 0x14000f575 | |
*(int64_t *)(v23 + 64) = 0; | |
int64_t * v39 = (int64_t *)(v23 + 56); // 0x14000f57e | |
*v39 = 0; | |
int64_t * v40 = (int64_t *)(v23 + 48); // 0x14000f587 | |
*v40 = 0; | |
int32_t v41 = v26; // 0x14000f590 | |
int32_t * v42 = (int32_t *)(v23 + 40); // 0x14000f590 | |
*v42 = v41; | |
int64_t * v43 = (int64_t *)(v23 + 32); // 0x14000f597 | |
*v43 = v21; | |
if ((int32_t)__acrt_LCMapStringEx(a2, v24, v10, v25) == 0) { | |
goto lab_0x14000f5d6; | |
} else { | |
// 0x14000f5a5 | |
*v39 = 0; | |
*v40 = 0; | |
*v42 = a7 != 0 ? a7 : 0; | |
*v43 = a7 != 0 ? a6 : 0; | |
int64_t v44 = function_14000a47c(v2, 0, v21, v41, (int64_t)&g113, (int32_t)&g113); // 0x14000f5cb | |
if ((int32_t)v44 != 0) { | |
int64_t v45 = v21 - 16; // 0x14000f636 | |
if (*(int32_t *)v45 == 0xdddd) { | |
// 0x14000f642 | |
_free_base((int64_t *)v45); | |
} | |
goto lab_0x14000f5ee; | |
} else { | |
goto lab_0x14000f5d6; | |
} | |
} | |
} | |
lab_0x14000f568: | |
// 0x14000f568 | |
v21 = v20 + 16; | |
v23 = v22; | |
goto lab_0x14000f570; | |
lab_0x14000f5d6:; | |
int64_t v46 = v21 - 16; // 0x14000f5d6 | |
if (*(int32_t *)v46 == 0xdddd) { | |
// 0x14000f5e2 | |
_free_base((int64_t *)v46); | |
} | |
goto lab_0x14000f5ee; | |
} | |
// Address range: 0x14000f6e4 - 0x14000f6fb | |
int64_t function_14000f6e4(int64_t a1) { | |
// 0x14000f6e4 | |
return (char)__acrt_initialize_multibyte() == 0; | |
} | |
// Address range: 0x14000f6fc - 0x14000f711 | |
int32_t function_14000f6fc(char * String1, char * String2, int32_t MaxCount) { | |
// 0x14000f6fc | |
if (g78 == 0) { | |
_strnicmp(String1, String2, MaxCount); | |
} | |
// 0x14000f709 | |
return _strnicoll_l(String1, String2, MaxCount, 0); | |
} | |
// Address range: 0x14000f814 - 0x14000f9ab | |
int64_t function_14000f814(int64_t a1, int64_t a2) { | |
int64_t v1 = 0; // bp-72, 0x14000f83c | |
int64_t v2 = 0; // bp-120, 0x14000f85d | |
int64_t v3; // bp-152, 0x14000f814 | |
function_14000331c(&v3, 0); | |
int64_t v4; // 0x14000f814 | |
int32_t * v5 = (int32_t *)(v4 + 12); // 0x14000f883 | |
int64_t v6; // 0x14000f814 | |
char v7; // 0x14000f814 | |
if (*v5 != 0xfde9) { | |
// 0x14000f89e | |
if ((int32_t)__acrt_AreFileApisANSI() != 0) { | |
// 0x14000f8c0 | |
v6 = 0; | |
if (v7 != 0) { | |
int32_t * v8 = (int32_t *)(v3 + 936); // 0x14000f8ca | |
*v8 = *v8 & -3; | |
v6 = 0; | |
} | |
} else { | |
// 0x14000f8a7 | |
v6 = 1; | |
if (v7 != 0) { | |
int32_t * v9 = (int32_t *)(v3 + 936); // 0x14000f8b1 | |
*v9 = *v9 & -3; | |
v6 = 1; | |
} | |
} | |
} else { | |
// 0x14000f888 | |
v6 = 0xfde9; | |
if (v7 != 0) { | |
int32_t * v10 = (int32_t *)(v3 + 936); // 0x14000f892 | |
*v10 = *v10 & -3; | |
v6 = 0xfde9; | |
} | |
} | |
// 0x14000f8d4 | |
int64_t v11; // 0x14000f814 | |
if ((int32_t)function_140008d50(a1, &v1, v6, v11) != 0) { | |
// 0x14000f98c | |
return 0; | |
} | |
// 0x14000f8e8 | |
function_14000331c(&v3, 0); | |
int64_t v12; // 0x14000f814 | |
if (*v5 != 0xfde9) { | |
// 0x14000f90f | |
if ((int32_t)__acrt_AreFileApisANSI() != 0) { | |
// 0x14000f930 | |
v12 = 0; | |
if (v7 != 0) { | |
int32_t * v13 = (int32_t *)(v3 + 936); // 0x14000f93a | |
*v13 = *v13 & -3; | |
v12 = 0; | |
} | |
} else { | |
// 0x14000f918 | |
v12 = 1; | |
if (v7 != 0) { | |
int32_t * v14 = (int32_t *)(v3 + 936); // 0x14000f922 | |
*v14 = *v14 & -3; | |
v12 = 1; | |
} | |
} | |
} else { | |
// 0x14000f8fc | |
v12 = 0xfde9; | |
if (v7 != 0) { | |
int32_t * v15 = (int32_t *)(v3 + 936); // 0x14000f906 | |
*v15 = *v15 & -3; | |
v12 = 0xfde9; | |
} | |
} | |
int64_t v16 = function_140008d50(a2, &v2, v12, v11); // 0x14000f94e | |
int64_t result = 0; // 0x14000f959 | |
if ((int32_t)v16 == 0) { | |
// 0x14000f95b | |
result = SetEnvironmentVariableW(NULL, NULL) ? 0xffffffff : 0; | |
} | |
// 0x14000f98c | |
return result; | |
} | |
// Address range: 0x14000f9ac - 0x14000f9f7 | |
int64_t function_14000f9ac(int64_t a1, int64_t a2, int64_t a3) { | |
int64_t v1 = a3; // 0x14000f9b5 | |
int64_t v2 = a1; // 0x14000f9b5 | |
if (a3 == 0) { | |
// 0x14000f9b7 | |
return 0; | |
} | |
int64_t v3 = a2; // 0x14000f9b5 | |
uint16_t v4 = *(int16_t *)v2; // 0x14000f9ba | |
uint16_t v5 = *(int16_t *)v3; // 0x14000f9c2 | |
int64_t v6 = v4; | |
int32_t v7 = v5; | |
int64_t v8 = v4 == 90 | (int32_t)v4 < 90 ? v6 + 32 : v6; // 0x14000f9d7 | |
uint32_t result = (int32_t)v8 - (v5 == 90 | v7 < 90 ? v7 + 32 : v7); // 0x14000f9e7 | |
while (v8 != 0 && result == 0) { | |
// 0x14000f9f0 | |
v1--; | |
v2 += 2; | |
v3 += 2; | |
if (v1 == 0) { | |
// break -> 0x14000f9b7 | |
break; | |
} | |
v4 = *(int16_t *)v2; | |
v5 = *(int16_t *)v3; | |
v6 = v4; | |
v7 = v5; | |
v8 = v4 == 90 | (int32_t)v4 < 90 ? v6 + 32 : v6; | |
result = (int32_t)v8 - (v5 == 90 | v7 < 90 ? v7 + 32 : v7); | |
} | |
// 0x14000f9b7 | |
return result; | |
} | |
// Address range: 0x14000fa34 - 0x14000faae | |
int64_t function_14000fa34(int64_t lpMem, uint64_t a2) { | |
if (lpMem == 0) { | |
// 0x14000fa72 | |
return (int64_t)_malloc_base((int32_t)a2); | |
} | |
if (a2 == 0) { | |
// 0x14000fa58 | |
_free_base((int64_t *)lpMem); | |
// 0x14000fa72 | |
return 0; | |
} | |
if (a2 >= 0xffffffffffffffe1) { | |
// 0x14000fa65 | |
*_errno() = 12; | |
// 0x14000fa72 | |
return 0; | |
} | |
int32_t dwBytes = a2; // 0x14000faa1 | |
int64_t * v1 = HeapReAlloc((int64_t *)g96, 0, (int64_t *)lpMem, dwBytes); // 0x14000faa1 | |
while (v1 == NULL) { | |
// 0x14000fa7d | |
if ((int32_t)function_14000557c() == 0 || _callnewh(dwBytes) == 0) { | |
// 0x14000fa65 | |
*_errno() = 12; | |
// 0x14000fa72 | |
return 0; | |
} | |
v1 = HeapReAlloc((int64_t *)g96, 0, (int64_t *)lpMem, dwBytes); | |
} | |
// 0x14000fa72 | |
return (int64_t)v1; | |
} | |
// Address range: 0x14000fab0 - 0x14000fb21 | |
int64_t function_14000fab0(int64_t * a1, int32_t * a2, int64_t * a3, int32_t * a4, int32_t * a5) { | |
// 0x14000fab0 | |
int64_t v1; // 0x14000fab0 | |
function_14000acd4((int32_t)v1); | |
int64_t v2; // 0x14000fab0 | |
int64_t v3 = 0x100000000 * v2; | |
int64_t v4 = *(int64_t *)(8 * v3 / 0x4000000000 + (int64_t)&g85); // 0x14000faeb | |
int64_t result; // 0x14000fab0 | |
if ((*(char *)(72 * (v2 & 63) + 56 + v4) & 1) == 0) { | |
// 0x14000faff | |
*_errno() = 9; | |
result = 0xffffffff; | |
} else { | |
// 0x14000faf6 | |
result = function_14000fbc8(v3 / 0x100000000) & 0xffffffff; | |
} | |
// 0x14000fb0d | |
int64_t v5; // 0x14000fab0 | |
function_14000acfc((int32_t)v5); | |
return result; | |
} | |
// Address range: 0x14000fb24 - 0x14000fbc5 | |
int64_t function_14000fb24(int64_t a1) { | |
int64_t v1 = 0x100000000 * a1; | |
int64_t v2 = v1 / 0x100000000; // 0x14000fb24 | |
int64_t v3 = v2; // 0x14000fb24 | |
uint32_t v4 = (int32_t)v2; // 0x14000fb2f | |
if (v4 == -2) { | |
// 0x14000fb34 | |
*__doserrno() = 0; | |
*_errno() = 9; | |
// 0x14000fbc0 | |
return 0xffffffff; | |
} | |
int64_t v5 = a1; // 0x14000fb4b | |
int64_t v6; // 0x14000fb24 | |
if ((int32_t)a1 >= 0) { | |
// 0x14000fb4d | |
v5 = a1; | |
if (g86 > v4) { | |
int64_t v7 = v2 & 63; // 0x14000fb5f | |
int64_t v8 = *(int64_t *)(8 * v1 / 0x4000000000 + (int64_t)&g85); // 0x14000fb6d | |
v6 = &g85; | |
v5 = 9 * v7; | |
if ((*(char *)(72 * v7 + 56 + v8) & 1) != 0) { | |
int64_t v9 = v2; // bp+24, 0x14000fb7d | |
int64_t v10 = v2; // bp+32, 0x14000fb81 | |
int32_t * v11 = (int32_t *)&v3; // bp-24, 0x14000fb8f | |
int64_t v12; // bp+16, 0x14000fb24 | |
int64_t result = function_14000fab0(&v12, (int32_t *)&v10, (int64_t *)&v11, (int32_t *)&v9, (int32_t *)&v3); // 0x14000fb9e | |
// 0x14000fbc0 | |
return result; | |
} | |
} | |
} | |
// 0x14000fba5 | |
*__doserrno() = 0; | |
*_errno() = 9; | |
int64_t v13; // 0x14000fb24 | |
function_140006270(v5, v2, v6, v13); | |
// 0x14000fbc0 | |
return 0xffffffff; | |
} | |
// Address range: 0x14000fbc8 - 0x14000fc85 | |
int64_t function_14000fbc8(int64_t a1) { | |
int64_t v1 = 0x100000000 * a1; | |
int64_t v2 = v1 / 0x100000000; // 0x14000fbd2 | |
int64_t v3 = v2 & 0xffffffff; // 0x14000fbd5 | |
int64_t errorCode = 0; // 0x14000fbe0 | |
int32_t v4; // 0x14000fbf2 | |
if (function_14000ade0(v3) != -1) { | |
// 0x14000fbe6 | |
v4 = v2; | |
if (v4 != 1) { | |
goto lab_0x14000fc00; | |
} else { | |
// 0x14000fbf7 | |
if ((*(char *)(g85 + 200) & (char)v2) != 0) { | |
goto lab_0x14000fc0d; | |
} else { | |
goto lab_0x14000fc00; | |
} | |
} | |
} else { | |
goto lab_0x14000fc40; | |
} | |
lab_0x14000fc40:; | |
// 0x14000fc40 | |
int64_t v5; // 0x14000fbc8 | |
function_14000ad24(v3, v5); | |
int64_t v6 = v2 & 63; // 0x14000fc51 | |
int64_t v7 = *(int64_t *)(8 * v1 / 0x4000000000 + (int64_t)&g85); // 0x14000fc5f | |
*(char *)(72 * v6 + 56 + v7) = 0; | |
int64_t result = 0; // 0x14000fc6a | |
if (errorCode != 0) { | |
// 0x14000fc6c | |
__acrt_errno_map_os_error(errorCode, 9 * v6, (int64_t)&g85); | |
result = 0xffffffff; | |
} | |
// 0x14000fc7a | |
return result; | |
lab_0x14000fc00: | |
if (v4 != 2) { | |
goto lab_0x14000fc24; | |
} else { | |
// 0x14000fc04 | |
if ((*(char *)(g85 + 128) & 1) == 0) { | |
goto lab_0x14000fc24; | |
} else { | |
goto lab_0x14000fc0d; | |
} | |
} | |
lab_0x14000fc24:; | |
int64_t hObject = function_14000ade0(v3); // 0x14000fc26 | |
errorCode = 0; | |
if (!CloseHandle((int64_t *)hObject)) { | |
// 0x14000fc38 | |
errorCode = GetLastError(); | |
} | |
goto lab_0x14000fc40; | |
lab_0x14000fc0d:; | |
int64_t v8 = function_14000ade0(2); // 0x14000fc0d | |
errorCode = 0; | |
if (function_14000ade0(1) == v8) { | |
goto lab_0x14000fc40; | |
} else { | |
goto lab_0x14000fc24; | |
} | |
} | |
// Address range: 0x14000fc88 - 0x14000fca4 | |
int64_t function_14000fc88(int64_t a1) { | |
// 0x14000fc88 | |
*(int32_t *)(a1 + 24) = -1; | |
*(int64_t *)a1 = 0; | |
*(int64_t *)(a1 + 8) = 0; | |
*(int32_t *)(a1 + 16) = 0; | |
*(int64_t *)(a1 + 28) = 0; | |
*(int64_t *)(a1 + 40) = 0; | |
int32_t * v1 = (int32_t *)(a1 + 20); // 0x14000fca0 | |
*v1 = 0; | |
return (int64_t)*v1; | |
} | |
// Address range: 0x14000fca4 - 0x14000fd93 | |
int64_t function_14000fca4(int64_t a1, int64_t a2, int64_t a3) { | |
int64_t v1 = 0x100000000 * a1; | |
int64_t v2 = v1 / 0x100000000; // 0x14000fcc5 | |
uint32_t v3 = (int32_t)v2; // 0x14000fcc8 | |
if (v3 == -2) { | |
// 0x14000fccd | |
*__doserrno() = 0; | |
*_errno() = 9; | |
// 0x14000fd7b | |
return -1; | |
} | |
if ((int32_t)a1 >= 0) { | |
// 0x14000fce9 | |
if (g86 > v3) { | |
int64_t * v4 = (int64_t *)(8 * v1 / 0x4000000000 + (int64_t)&g85); // 0x14000fd09 | |
int64_t v5 = 72 * (v2 & 63) + 56; | |
if ((*(char *)(*v4 + v5) & 1) != 0) { | |
// 0x14000fd16 | |
function_14000acd4(v3); | |
int64_t result; // 0x14000fca4 | |
if ((*(char *)(*v4 + v5) & 1) != 0) { | |
// 0x14000fd43 | |
result = function_14000fd94(v2 & 0xffffffff, a2, a3 & 0xffffffff); | |
} else { | |
// 0x14000fd2e | |
*_errno() = 9; | |
*__doserrno() = 0; | |
result = -1; | |
} | |
// 0x14000fd53 | |
function_14000acfc(v3); | |
// 0x14000fd7b | |
return result; | |
} | |
} | |
} | |
// 0x14000fd5f | |
*__doserrno() = 0; | |
*_errno() = 9; | |
int64_t v6; // 0x14000fca4 | |
function_140006270(a1, a2, a3, v6); | |
// 0x14000fd7b | |
return -1; | |
} | |
// Address range: 0x14000fd94 - 0x14000fe2d | |
int64_t function_14000fd94(int64_t a1, int64_t a2, int64_t dwMoveMethod) { | |
struct _LARGE_INTEGER liDistanceToMove; // 0x14000fdd8 | |
int64_t v1 = 0x100000000 * a1; | |
int64_t v2 = v1 / 0x100000000; // 0x14000fda3 | |
int64_t hFile = function_14000ade0(v2 & 0xffffffff); // 0x14000fdae | |
if (hFile == -1) { | |
// 0x14000fdb9 | |
*_errno() = 9; | |
// 0x14000fe1d | |
return -1; | |
} | |
// 0x14000fdca | |
liDistanceToMove = (struct {int64_t e0;}){ | |
.e0 = 0 | |
}; | |
liDistanceToMove.e0 = a2; | |
int64_t lpNewFilePointer; // bp+32, 0x14000fd94 | |
bool v3 = SetFilePointerEx((int64_t *)hFile, liDistanceToMove, (struct _LARGE_INTEGER *)&lpNewFilePointer, (int32_t)dwMoveMethod); // 0x14000fdd8 | |
if (!v3) { | |
// 0x14000fde2 | |
__acrt_errno_map_os_error((int64_t)GetLastError(), a2, (int64_t)&lpNewFilePointer); | |
// 0x14000fe1d | |
return -1; | |
} | |
int64_t result = -1; // 0x14000fdfa | |
if (result != -1) { | |
int64_t v4 = *(int64_t *)(8 * v1 / 0x4000000000 + (int64_t)&g85); // 0x14000fe14 | |
char * v5 = (char *)(72 * (v2 & 63) + 56 + v4); // 0x14000fe18 | |
*v5 = *v5 & -3; | |
} | |
// 0x14000fe1d | |
return result; | |
} | |
// Address range: 0x14000fe30 - 0x14000fe35 | |
int64_t function_14000fe30(int64_t a1, int32_t a2, int64_t a3, int64_t a4) { | |
// 0x14000fe30 | |
return function_14000fca4(a1, (int64_t)a2, a3); | |
} | |
// Address range: 0x14000fe38 - 0x14000fe3d | |
int64_t function_14000fe38(int64_t a1, int32_t a2, int64_t a3) { | |
// 0x14000fe38 | |
return function_14000fd94(a1, (int64_t)a2, a3); | |
} | |
// Address range: 0x14000fe40 - 0x14000fe7b | |
int64_t function_14000fe40(int64_t a1) { | |
int64_t v1 = 0x1000000000000 * a1 / 0x1000000000000; // 0x14000fe40 | |
if ((int32_t)function_1400110c8() == 0) { | |
// 0x14000fe76 | |
return 0xffff; | |
} | |
// 0x14000fe52 | |
int64_t v2; // bp+16, 0x14000fe40 | |
int64_t v3 = function_140011138((int16_t *)&v1, 1, &v2); // 0x14000fe61 | |
int64_t result = 0xffff; // 0x14000fe68 | |
if ((int32_t)v3 != 0) { | |
// 0x14000fe6a | |
result = v1 & 0xffff; | |
} | |
// 0x14000fe76 | |
return result; | |
} | |
// Address range: 0x14000fe7c - 0x140010051 | |
int64_t function_14000fe7c(int64_t * a1, int64_t a2, int64_t a3, int64_t a4) { | |
uint64_t v1 = a2 != 0 ? a3 : 1; // 0x14000fec7 | |
if (v1 == 0) { | |
// 0x140010033 | |
return function_140011ed0(g29); | |
} | |
int64_t v2 = a4 != 0 ? a4 : (int64_t)&g102; // 0x14000feb5 | |
int64_t v3 = a2 != 0 ? a2 : (int64_t)&g11; // 0x14000fec0 | |
int64_t v4 = a2 == 0 ? 0 : (int64_t)a1; // 0x14000fed1 | |
int64_t v5 = v2 + 6; // 0x14000fee5 | |
int16_t * v6 = (int16_t *)v5; // 0x14000fee5 | |
int64_t v7; // 0x14000fe7c | |
int64_t v8; // 0x14000fe7c | |
int64_t v9; // 0x14000fe7c | |
int64_t v10; // 0x14000fe7c | |
if (*v6 != 0) { | |
unsigned char v11 = *(char *)(v2 + 4); // 0x14000ff54 | |
unsigned char v12 = *(char *)v5; // 0x14000ff5b | |
v10 = (int64_t)*(int32_t *)v2; | |
v8 = v12; | |
v9 = v3; | |
v7 = v11; | |
if (v11 > 4 || v12 == 0 || v12 >= v11) { | |
// 0x140010021 | |
*(int64_t *)v2 = 0; | |
*_errno() = 42; | |
// 0x140010033 | |
return function_140011ed0(g29); | |
} | |
} else { | |
unsigned char v13 = *(char *)v3; // 0x14000feec | |
if (v13 >= 0) { | |
if (v4 != 0) { | |
// 0x14000fefd | |
*(int32_t *)v4 = (int32_t)v13; | |
} | |
// 0x140010033 | |
return function_140011ed0(g29); | |
} | |
int64_t v14 = v13; // 0x14000feec | |
int64_t v15 = 2; // 0x14000ff16 | |
if ((v14 & 224) != 192) { | |
// 0x14000ff1d | |
v15 = 3; | |
if ((v14 & 240) != 224) { | |
// 0x14000ff2b | |
v15 = 4; | |
if ((v14 & 248) != 240) { | |
// 0x140010021 | |
*(int64_t *)v2 = 0; | |
*_errno() = 42; | |
// 0x140010033 | |
return function_140011ed0(g29); | |
} | |
} | |
} | |
// 0x14000ff3b | |
v10 = (int64_t)((1 << ((int32_t)v15 ^ 7)) + 255) & v14; | |
v8 = v15; | |
v9 = v3 + 1; | |
v7 = v15; | |
} | |
uint64_t v16 = v8 & 255; // 0x14000ff7d | |
uint64_t v17 = v16 >= v1 ? v1 : v16; // 0x14000ff86 | |
int64_t v18 = v9; // 0x14000ffb3 | |
int64_t v19 = v10; // 0x14000ffb3 | |
int64_t v20 = v10; // 0x14000ffb3 | |
if (v9 - a2 < v17) { | |
char v21 = *(char *)v18; // 0x14000ff8c | |
while ((v21 & -64) == -128) { | |
// 0x14000ff9e | |
v18++; | |
v19 = 64 * v19 & 0xffffffc0 | (int64_t)(v21 & 63); | |
v20 = v19; | |
if (v18 - a2 >= v17) { | |
goto lab_0x14000ffb5; | |
} | |
v21 = *(char *)v18; | |
} | |
// 0x140010021 | |
*(int64_t *)v2 = 0; | |
*_errno() = 42; | |
// 0x140010033 | |
return function_140011ed0(g29); | |
} | |
lab_0x14000ffb5: | |
// 0x14000ffb5 | |
if (v17 < v16) { | |
// 0x14000ffba | |
*(int16_t *)(v2 + 4) = (int16_t)v7 & 255; | |
*v6 = (int16_t)(v8 - v17) & 255; | |
*(int32_t *)v2 = (int32_t)v20; | |
// 0x140010033 | |
return function_140011ed0(g29); | |
} | |
if ((v20 & 0xfffff800) == 0xd800) { | |
// 0x140010021 | |
*(int64_t *)v2 = 0; | |
*_errno() = 42; | |
// 0x140010033 | |
return function_140011ed0(g29); | |
} | |
uint32_t v22 = (int32_t)v20; // 0x14000ffe3 | |
if (v22 >= 0x110000) { | |
// 0x140010021 | |
*(int64_t *)v2 = 0; | |
*_errno() = 42; | |
// 0x140010033 | |
return function_140011ed0(g29); | |
} | |
// 0x14000ffeb | |
int64_t v23; // bp-104, 0x14000fe7c | |
uint32_t v24 = *(int32_t *)((int64_t)&v23 + 24 + (4 * v7 & 1020)); // 0x140010007 | |
if (v24 > v22) { | |
// 0x140010021 | |
*(int64_t *)v2 = 0; | |
*_errno() = 42; | |
// 0x140010033 | |
return function_140011ed0(g29); | |
} | |
if (v4 != 0) { | |
// 0x140010012 | |
*(int32_t *)v4 = v22; | |
} | |
// 0x140010014 | |
*(int64_t *)v2 = 0; | |
// 0x140010033 | |
return function_140011ed0(g29); | |
} | |
// Address range: 0x140010054 - 0x1400100b7 | |
int64_t function_140010054(int64_t * a1, uint32_t a2, int32_t a3) { | |
uint32_t v1 = a3 & -0x80001; // 0x14001005a | |
if ((a2 & -0x30f0320 & a3) == 0) { | |
int64_t v2 = function_140011268(a2, v1); | |
if (a1 != NULL) { | |
// 0x1400100a1 | |
*(int32_t *)a1 = (int32_t)v2; | |
} | |
// 0x1400100b1 | |
return 0; | |
} | |
int64_t v3 = (int64_t)a1; // 0x140010074 | |
int64_t v4 = a2; // 0x140010074 | |
if (a1 != NULL) { | |
// 0x140010076 | |
*(int32_t *)a1 = (int32_t)function_140011268(0, 0); | |
v3 = 0; | |
v4 = 0; | |
} | |
// 0x140010081 | |
*_errno() = 22; | |
function_140006270(v3, v4, (int64_t)v1, (int64_t)a2); | |
// 0x1400100b1 | |
return 22; | |
} | |
// Address range: 0x1400100b8 - 0x1400100d8 | |
int64_t function_1400100b8(int64_t * a1) { | |
// 0x1400100b8 | |
*(int32_t *)a1 = (int32_t)function_1400107f8(); | |
*(int32_t *)((int64_t)a1 + 4) = (int32_t)function_1400108ec(); | |
return 0; | |
} | |
// Address range: 0x1400100d8 - 0x140010124 | |
int64_t function_1400100d8(int64_t * a1) { | |
// 0x1400100d8 | |
int64_t v1; // 0x1400100d8 | |
int32_t v2 = v1; | |
function_140010940(v2); | |
int32_t * v3 = (int32_t *)((int64_t)a1 + 4); // 0x1400100e8 | |
function_140010a88(*v3); | |
int32_t v4 = 0; // 0x1400100f0 | |
if ((int32_t)function_1400100b8((int64_t *)&v4) != 0 || v4 != v2) { | |
// 0x14001011e | |
return 1; | |
} | |
// 0x14001010c | |
int32_t v5; // 0x1400100d8 | |
if (*v3 == v5) { | |
// 0x14001011e | |
return 0; | |
} | |
// 0x14001011e | |
return 1; | |
} | |
// Address range: 0x140010124 - 0x140010174 | |
int64_t function_140010124(int64_t * a1) { | |
int32_t v1 = 0; // bp+16, 0x14001012a | |
if ((int32_t)function_1400100b8((int64_t *)&v1) != 0) { | |
// 0x14001016e | |
return 1; | |
} | |
int32_t v2 = v1; | |
v1 = v2 | 31; | |
*a1 = (int64_t)v2; | |
int64_t v3 = function_1400100d8((int64_t *)&v1); // 0x140010157 | |
int64_t result = 1; // 0x14001015e | |
if ((int32_t)v3 == 0) { | |
// 0x140010160 | |
function_1400111f8(); | |
result = 0; | |
} | |
// 0x14001016e | |
return result; | |
} | |
// Address range: 0x1400107ec - 0x1400107f5 | |
int64_t function_1400107ec(int64_t a1) { | |
// 0x1400107ec | |
return a1 & 768; | |
} | |
// Address range: 0x1400107f8 - 0x1400108e9 | |
int64_t function_1400107f8(void) { | |
// 0x1400107f8 | |
uint32_t v1; // 0x1400107f8 | |
__asm_stmxcsr(v1); | |
int32_t v2 = v1 & 0x8040; | |
int64_t v3 = 3072; // 0x140010819 | |
if (v2 != 0x8000) { | |
int16_t v4 = v2; // 0x140010823 | |
v3 = 2048; | |
if (v4 != 64) { | |
// 0x140010831 | |
v3 = v4 == -0x7fc0 ? 1024 : 0; | |
} | |
} | |
int32_t v5 = v1 & 0x6000; // 0x14001084a | |
int64_t v6 = 512; // 0x1400107f8 | |
switch (v5) { | |
case 0: { | |
// 0x140010878 | |
v6 = 0; | |
} | |
case 0x4000: { | |
lab_0x14001087a:; | |
uint64_t v7 = (int64_t)v1; // 0x140010805 | |
int64_t v8 = v7 / 8 & 48 | v7 / 64 & 8 | v7 / 256 & 4 | v7 / 1024 & 2 | v7 / 0x1000 & 1; // 0x1400108ca | |
int64_t v9 = v6 | v8; // 0x1400108cd | |
return v3 | 0x1000000 * v8 & 0x3f000000 | v9 | 0x400000 * v9 & 0xc0000000; | |
} | |
case 0x2000: { | |
// 0x140010871 | |
v6 = 256; | |
// branch (via goto) -> 0x14001087a | |
goto lab_0x14001087a; | |
} | |
default: { | |
// 0x14001085d | |
v6 = v5 != 0x6000 ? 0 : 768; | |
// branch (via goto) -> 0x14001087a | |
goto lab_0x14001087a; | |
} | |
} | |
} | |
// Address range: 0x1400108ec - 0x14001093f | |
int64_t function_1400108ec(void) { | |
// 0x1400108ec | |
uint32_t v1; // 0x1400108ec | |
__asm_stmxcsr(v1); | |
int32_t v2 = 16 * v1; | |
int32_t v3 = v2 & 32 | 2 * v1 & 8 | v1 / 2 & 4 | v1 / 8 & 2 | v2 & 16 | v1 / 32 & 1; // 0x140010935 | |
return 0x1000000 * v3 | v3; | |
} | |
// Address range: 0x140010940 - 0x140010a87 | |
int64_t function_140010940(uint32_t a1) { | |
int64_t v1 = 0; // 0x140010940 | |
switch (a1 & 3072) { | |
case 1024: { | |
// 0x1400109a2 | |
v1 = 0x8040; | |
// break -> 0x1400109a8 | |
break; | |
} | |
case 2048: { | |
// 0x14001099a | |
v1 = 64; | |
// break -> 0x1400109a8 | |
break; | |
} | |
case 3072: { | |
// 0x140010992 | |
v1 = 0x8000; | |
// break -> 0x1400109a8 | |
break; | |
} | |
} | |
uint32_t v2 = a1 / 4 & 0xfc00000; // 0x14001095d | |
uint32_t v3 = (v2 | a1 & -0x40000000) / 0x400000; // 0x140010973 | |
int32_t v4 = v3 & 768; // 0x1400109bb | |
int64_t v5 = 0x4000; // 0x140010940 | |
switch (v4) { | |
case 0: { | |
// 0x1400109e1 | |
v5 = 0; | |
goto lab_0x1400109e4; | |
} | |
case 256: { | |
// 0x1400109da | |
v5 = 0x2000; | |
goto lab_0x1400109e4; | |
} | |
case 512: { | |
goto lab_0x1400109e4; | |
} | |
default: { | |
// 0x1400109c8 | |
v5 = 0x6000; | |
if (v4 != 768) { | |
// 0x1400109e1 | |
v5 = 0; | |
goto lab_0x1400109e4; | |
} else { | |
goto lab_0x1400109e4; | |
} | |
} | |
} | |
lab_0x1400109e4:; | |
int64_t v6 = v3; // 0x140010973 | |
int64_t v7 = (v6 & 2) != 0 ? 2048 : 0; | |
int64_t v8 = (v6 & 4) != 0 ? 1024 : 0; | |
int64_t v9 = (v6 & 8) != 0 ? 512 : 0; | |
int64_t v10 = (v6 & 32) != 0 ? 256 : 0; | |
int32_t v11; // 0x140010940 | |
__asm_stmxcsr(v11); | |
int64_t result = v7 | (int64_t)(v2 / 0x80000 & 128 | v2 / 1024 & 0x1000) | v8 | v9 | v10 | v1 | v5; // 0x140010a76 | |
__asm_ldmxcsr(v11 & -0xffc1 | (int32_t)result); | |
return result; | |
} | |
// Address range: 0x140010a88 - 0x140010b0b | |
int64_t function_140010a88(uint32_t a1) { | |
// 0x140010a88 | |
int32_t v1; // 0x140010a88 | |
__asm_stmxcsr(v1); | |
uint32_t v2 = a1 / 0x10000000; // 0x140010ad3 | |
uint32_t result = a1 / 0x80000 & 32 | a1 / 0x200000 & 16 | a1 / 0x800000 & 8 | a1 / 0x2000000 & 4 | v2 & 1 | v2 & 2 | v1 & -64; // 0x140010afe | |
__asm_ldmxcsr(result); | |
return result; | |
} | |
// Address range: 0x140010b0c - 0x140010b77 | |
int64_t function_140010b0c(int64_t a1) { | |
// 0x140010b0c | |
g62 = &g63; | |
int64_t * v1 = _calloc_base(0x1000, 1); // 0x140010b2b | |
int64_t * v2 = (int64_t *)(a1 + 8); // 0x140010b32 | |
*v2 = (int64_t)v1; | |
_free_base(NULL); | |
int32_t * v3 = (int32_t *)(a1 + 20); | |
int32_t v4 = *v3; | |
int32_t v5; // 0x140010b0c | |
if (*v2 == 0) { | |
// 0x140010b49 | |
*v3 = v4 | 1024; | |
*v2 = a1 + 28; | |
v5 = 2; | |
} else { | |
// 0x140010b42 | |
*v3 = v4 | 64; | |
v5 = 0x1000; | |
} | |
// 0x140010b5e | |
*(int32_t *)(a1 + 32) = v5; | |
int64_t result = *v2; // 0x140010b61 | |
*(int32_t *)(a1 + 16) = 0; | |
*(int64_t *)a1 = result; | |
return result; | |
} | |
// Address range: 0x140010b78 - 0x140010b8d | |
int64_t function_140010b78(int64_t a1, int64_t a2) { | |
// 0x140010b78 | |
if ((char)a1 == 0) { | |
// 0x140010b8c | |
return 0; | |
} | |
int64_t v1 = 0; // 0x140010b7c | |
int64_t result = a2; // 0x140010b81 | |
while (v1 != a2) { | |
// 0x140010b83 | |
v1++; | |
result = v1; | |
if (*(char *)(v1 + a1) == 0) { | |
// break -> 0x140010b8c | |
break; | |
} | |
result = a2; | |
} | |
// 0x140010b8c | |
return result; | |
} | |
// Address range: 0x140010b90 - 0x140010bd9 | |
int64_t function_140010b90(int64_t a1, int64_t a2, int64_t a3) { | |
int64_t v1 = a3; // 0x140010b99 | |
int64_t v2 = a1; // 0x140010b99 | |
if (a3 == 0) { | |
// 0x140010b9b | |
return 0; | |
} | |
int64_t v3 = a2; // 0x140010b99 | |
unsigned char v4 = *(char *)v2; // 0x140010b9e | |
unsigned char v5 = *(char *)v3; // 0x140010ba2 | |
int64_t v6 = v4; | |
int32_t v7 = v5; | |
int64_t v8 = v4 == 90 | (int32_t)v4 < 90 ? v6 + 32 : v6; // 0x140010bb3 | |
uint32_t result = (int32_t)v8 - (v5 == 90 | v7 < 90 ? v7 + 32 : v7); // 0x140010bc9 | |
while (v8 != 0 && result == 0) { | |
// 0x140010bd2 | |
v1--; | |
v2++; | |
v3++; | |
if (v1 == 0) { | |
// break -> 0x140010b9b | |
break; | |
} | |
v4 = *(char *)v2; | |
v5 = *(char *)v3; | |
v6 = v4; | |
v7 = v5; | |
v8 = v4 == 90 | (int32_t)v4 < 90 ? v6 + 32 : v6; | |
result = (int32_t)v8 - (v5 == 90 | v7 < 90 ? v7 + 32 : v7); | |
} | |
// 0x140010b9b | |
return result; | |
} | |
// Address range: 0x140010c2c - 0x140010cd9 | |
int64_t function_140010c2c(int64_t a1, int64_t a2, uint64_t a3, int64_t a4) { | |
// 0x140010c2c | |
if (a1 != 0 == (a2 != 0) != a3 < 0x80000000) { | |
// 0x140010c49 | |
*_errno() = 22; | |
function_140006270(a1, a2, a3, a4); | |
// 0x140010cc9 | |
return 0x7fffffff; | |
} | |
// 0x140010c6e | |
if (a3 == 0) { | |
// 0x140010cc9 | |
return 0; | |
} | |
// 0x140010c77 | |
int64_t v1; // bp-40, 0x140010c2c | |
function_14000331c(&v1, a4); | |
int64_t v2; // 0x140010c2c | |
int64_t v3 = *(int64_t *)(v2 + 272); // 0x140010c89 | |
int64_t v4 = a3; // 0x140010c89 | |
int64_t v5 = a1; // 0x140010c89 | |
int64_t v6 = a2; // 0x140010c89 | |
unsigned char v7 = *(char *)(v3 + (int64_t)*(char *)v5); // 0x140010c96 | |
unsigned char v8 = *(char *)(v3 + (int64_t)*(char *)v6); // 0x140010ca1 | |
uint32_t result = (int32_t)v7 - (int32_t)v8; // 0x140010ca8 | |
while (v7 != 0 && result == 0) { | |
// 0x140010cb0 | |
v4--; | |
v5++; | |
v6++; | |
if (v4 == 0) { | |
// break -> 0x140010cb6 | |
break; | |
} | |
v7 = *(char *)(v3 + (int64_t)*(char *)v5); | |
v8 = *(char *)(v3 + (int64_t)*(char *)v6); | |
result = (int32_t)v7 - (int32_t)v8; | |
} | |
// 0x140010cb6 | |
char v9; // 0x140010c2c | |
if (v9 != 0) { | |
int32_t * v10 = (int32_t *)(v1 + 936); // 0x140010cc2 | |
*v10 = *v10 & -3; | |
} | |
// 0x140010cc9 | |
return result; | |
} | |
// Address range: 0x140010cdc - 0x140011039 | |
int64_t function_140010cdc(int64_t a1, int64_t a2, int64_t a3, int64_t a4, int32_t a5, int64_t a6, int32_t a7, int32_t a8) { | |
int64_t v1 = a5; // 0x140010d03 | |
int64_t v2; // 0x140010cdc | |
int64_t v3; // 0x140010cdc | |
if (a5 < 1) { | |
// 0x140010d36 | |
v3 = a1; | |
v2 = v1; | |
if (a5 < -1) { | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
} else { | |
int64_t v4 = function_140010b78(a4, v1); // 0x140010d2c | |
v3 = a4; | |
v2 = v4; | |
} | |
int64_t v5 = a7; // 0x140010d3f | |
int64_t v6; // 0x140010cdc | |
int64_t v7; // 0x140010cdc | |
if (a7 < 1) { | |
// 0x140010d5a | |
v6 = v3; | |
v7 = v5; | |
if (a7 < -1) { | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
} else { | |
int64_t v8 = function_140010b78(a6, v5); // 0x140010d50 | |
v6 = a6; | |
v7 = v8; | |
} | |
int32_t CodePage = a8; // 0x140010d6d | |
if (a8 == 0) { | |
// 0x140010d6f | |
CodePage = *(int32_t *)(v6 + 12); | |
} | |
int32_t v9 = v2; // 0x140010d76 | |
int32_t v10 = v7; | |
if (v9 != 0 != v10 != 0) { | |
int32_t lpCPInfo; // bp-104, 0x140010cdc | |
if (v9 > 1 || v10 == v9 || v10 > 1 || !GetCPInfo(CodePage, (struct _cpinfo *)&lpCPInfo)) { | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
char v11; // bp-98, 0x140010cdc | |
if (v9 >= 1) { | |
// 0x140010db1 | |
if (lpCPInfo < 2 || v11 == 0) { | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
unsigned char v12 = (char)a4; | |
int64_t v13 = &v11; // 0x140010dd7 | |
unsigned char v14 = *(char *)(v13 + 1); // 0x140010dc1 | |
while (v14 != 0) { | |
// 0x140010dc7 | |
if (!((v14 < v12 | *(char *)v13 > v12))) { | |
// break -> 0x14001101c | |
break; | |
} | |
// 0x140010dd7 | |
v13 += 2; | |
if (*(char *)v13 == 0) { | |
// break -> 0x14001101c | |
break; | |
} | |
v14 = *(char *)(v13 + 1); | |
} | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
if (v10 >= 1) { | |
// 0x140010dee | |
if (lpCPInfo < 2 || v11 == 0) { | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
int64_t v15 = &v11; // 0x140010e15 | |
unsigned char v16 = *(char *)(v15 + 1); // 0x140010dfe | |
while (v16 != 0) { | |
unsigned char v17 = *(char *)a6; // 0x140010e04 | |
if (!((v16 < v17 | v17 < *(char *)v15))) { | |
// break -> 0x14001101c | |
break; | |
} | |
// 0x140010e15 | |
v15 += 2; | |
if (*(char *)v15 == 0) { | |
// break -> 0x14001101c | |
break; | |
} | |
v16 = *(char *)(v15 + 1); | |
} | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
} | |
int64_t v18 = function_14000a420(CodePage, 9); // 0x140010e40 | |
if ((int32_t)v18 == 0) { | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
int64_t v19 = 0x100000000 * v18; | |
int64_t v20 = v19 / 0x80000000; // 0x140010e5d | |
int64_t v21 = v20 + 16; // 0x140010e60 | |
uint64_t v22 = v20 - (v20 | (int64_t)(v20 < 0xfffffffffffffff0)) & v21; // 0x140010e6a | |
if (v22 == 0) { | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
// 0x140010e6f | |
int64_t v23; // bp-200, 0x140010cdc | |
int64_t v24 = &v23; // 0x140010ce9 | |
int64_t v25; // 0x140010cdc | |
int64_t v26; // 0x140010cdc | |
int64_t v27; // 0x140010cdc | |
int64_t v28; // 0x140010cdc | |
if (v22 < 1025) { | |
int64_t v29 = v24 - __chkstk(v22, v21, 0xffffffffffffff0); // 0x140010e8d | |
int64_t v30 = v29 + 80; // 0x140010e90 | |
if (v30 == 0) { | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
// 0x140010e9e | |
*(int32_t *)v30 = 0xcccc; | |
v27 = v29; | |
v25 = v30; | |
goto lab_0x140010eb9; | |
} else { | |
int64_t * v31 = _malloc_base((int32_t)v22); // 0x140010ea6 | |
int64_t v32 = (int64_t)v31; // 0x140010ea6 | |
v28 = v24; | |
v26 = v32; | |
if (v31 == NULL) { | |
goto lab_0x140010ec1; | |
} else { | |
// 0x140010eb3 | |
*(int32_t *)v31 = 0xdddd; | |
v27 = v24; | |
v25 = v32; | |
goto lab_0x140010eb9; | |
} | |
} | |
lab_0x140010eb9: | |
// 0x140010eb9 | |
v28 = v27; | |
v26 = v25 + 16; | |
goto lab_0x140010ec1; | |
lab_0x140010ec1: | |
// 0x140010ec1 | |
if (v26 == 0) { | |
// 0x14001101c | |
return function_140011ed0(g29); | |
} | |
int32_t * v33 = (int32_t *)(v28 + 40); // 0x140010eca | |
*v33 = (int32_t)(v19 / 0x100000000); | |
int64_t * v34 = (int64_t *)(v28 + 32); // 0x140010ed5 | |
*v34 = v26; | |
int64_t v35; // 0x140010cdc | |
int64_t v36; // 0x140010cdc | |
if ((int32_t)function_14000a420(CodePage, 1) == 0) { | |
goto lab_0x140010ffe; | |
} else { | |
// 0x140010eef | |
*v33 = 0; | |
*v34 = 0; | |
int64_t v37 = function_14000a420(CodePage, 9); // 0x140010f08 | |
if ((int32_t)v37 == 0) { | |
goto lab_0x140010ffe; | |
} else { | |
int64_t v38 = 0x100000000 * v37 / 0x80000000; // 0x140010f1b | |
int64_t v39 = v38 + 16; // 0x140010f1e | |
uint64_t v40 = v38 - (v38 | (int64_t)(v38 < 0xfffffffffffffff0)) & v39; // 0x140010f28 | |
if (v40 == 0) { | |
goto lab_0x140010ffe; | |
} else { | |
if (v40 < 1025) { | |
int64_t v41 = v28 - __chkstk(v39, v40, a6) + 80; // 0x140010f55 | |
if (v41 == 0) { | |
goto lab_0x140010ffe; | |
} else { | |
// 0x140010f5f | |
*(int32_t *)v41 = 0xcccc; | |
v35 = v41; | |
goto lab_0x140010f7d; | |
} | |
} else { | |
int64_t * v42 = _malloc_base((int32_t)v40); // 0x140010f6a | |
int64_t v43 = (int64_t)v42; // 0x140010f6a | |
v36 = v43; | |
if (v42 == NULL) { | |
goto lab_0x140010f85; | |
} else { | |
// 0x140010f77 | |
*(int32_t *)v42 = 0xdddd; | |
v35 = v43; | |
goto lab_0x140010f7d; | |
} | |
} | |
} | |
} | |
} | |
lab_0x140010ffe:; | |
int64_t v44 = v26 - 16; // 0x140010ffe | |
if (*(int32_t *)v44 == 0xdddd) { | |
// 0x14001100a | |
_free_base((int64_t *)v44); | |
} | |
// 0x14001101c | |
return function_140011ed0(g29); | |
lab_0x140010f85: | |
// 0x140010f85 | |
if (v36 != 0) { | |
// 0x140010f8a | |
int64_t v45; // 0x140010cdc | |
int64_t v46 = v45; | |
int32_t * v47 = (int32_t *)(v46 + 40); // 0x140010f8a | |
int32_t v48; // 0x140010cdc | |
*v47 = v48; | |
int64_t * v49 = (int64_t *)(v46 + 32); // 0x140010f95 | |
int64_t v50; // 0x140010cdc | |
*v49 = v50; | |
int32_t v51; // 0x140010cdc | |
if ((int32_t)function_14000a420(v51, 1) != 0) { | |
// 0x140010fab | |
*(int64_t *)(v46 + 64) = 0; | |
*(int64_t *)(v46 + 56) = 0; | |
*(int64_t *)(v46 + 48) = 0; | |
*v47 = v48; | |
*v49 = v50; | |
int64_t v52; // 0x140010cdc | |
int64_t v53; // 0x140010e45 | |
__acrt_CompareStringEx(a2, a3 & 0xffffffff, v52, v53 & 0xffffffff); | |
} | |
int64_t v54 = v50 - 16; // 0x140010fe4 | |
int32_t v55 = *(int32_t *)v54; // 0x140010fe8 | |
if (v55 == 0xdddd) { | |
// 0x140010ff0 | |
_free_base((int64_t *)v54); | |
} | |
} | |
goto lab_0x140010ffe; | |
lab_0x140010f7d: | |
// 0x140010f7d | |
v36 = v35 + 16; | |
goto lab_0x140010f85; | |
} | |
// Address range: 0x1400110c8 - 0x14001111a | |
int64_t function_1400110c8(void) { | |
int64_t v1 = g44; // 0x1400110db | |
if (g44 == -2) { | |
// 0x1400110dd | |
v1 = (int64_t)CreateFileW(L"CONOUT$", 0x40000000, 3, NULL, 3, 0, NULL); | |
g44 = v1; | |
} | |
// 0x14001110b | |
return v1 != -1; | |
} | |
// Address range: 0x14001111c - 0x140011138 | |
int64_t function_14001111c(void) { | |
uint64_t hObject = g44; // 0x140011120 | |
int64_t handleClosed; // 0x14001111c | |
if (hObject < 0xfffffffffffffffe) { | |
// 0x14001112d | |
handleClosed = CloseHandle((int64_t *)hObject); | |
} | |
// 0x140011133 | |
return handleClosed; | |
} | |
// Address range: 0x140011138 - 0x1400111f6 | |
int64_t function_140011138(int16_t * lpBuffer, int64_t a2, int64_t * lpNumberOfCharsWritten) { | |
int32_t nNumberOfCharsToWrite = a2; // 0x140011159 | |
bool v1 = WriteConsoleW((int64_t *)g44, (int64_t *)lpBuffer, nNumberOfCharsToWrite, (int32_t *)lpNumberOfCharsWritten, NULL); // 0x140011169 | |
if (v1 || GetLastError() != 6) { | |
// 0x1400111df | |
return v1 ? 0xffffffff : 0; | |
} | |
uint64_t hObject = g44; // 0x140011180 | |
if (hObject < 0xfffffffffffffffe) { | |
// 0x14001118d | |
CloseHandle((int64_t *)hObject); | |
} | |
int64_t * hConsoleOutput = CreateFileW(L"CONOUT$", 0x40000000, 3, NULL, 3, 0, NULL); // 0x1400111b8 | |
g44 = (int64_t)hConsoleOutput; | |
// 0x1400111df | |
return WriteConsoleW(hConsoleOutput, (int64_t *)lpBuffer, nNumberOfCharsToWrite, (int32_t *)lpNumberOfCharsWritten, NULL) ? 0xffffffff : 0; | |
} | |
// Address range: 0x1400111f8 - 0x140011266 | |
int64_t function_1400111f8(void) { | |
uint64_t v1 = function_1400118e0(); // 0x1400111fe | |
function_1400118fa(); | |
int64_t result = 0; // 0x140011210 | |
if ((v1 & 63) != 0) { | |
int64_t v2 = v1 & 0xffffffff; // 0x140011203 | |
result = v1 / 8 & 2 | v1 / 2 & 4 | v1 / 32 & 1 | 0x40000 * v1 & 0x80000 | 16 * v2 & 16 | 2 * v2 & 8; | |
} | |
// 0x14001125d | |
return result; | |
} | |
// Address range: 0x140011268 - 0x14001152e | |
int64_t function_140011268(int32_t a1, int32_t a2) { | |
uint64_t v1 = function_1400118e0(); // 0x140011290 | |
int64_t v2 = v1 / 64 & 8 | v1 / 8 & 16 | v1 / 256 & 4 | v1 / 1024 & 2 | v1 / 0x1000 & 1 | 2048 * v1 & 0x80000; // 0x1400112fe | |
int32_t v3 = v1; // 0x140011301 | |
int32_t v4 = v3 & 0x6000; // 0x14001130a | |
int64_t v5 = v2; // 0x140011268 | |
int64_t v6; // 0x140011268 | |
switch (v4) { | |
case 0x2000: { | |
// 0x14001132f | |
v5 = v2 & 0xfffffeff | 256; | |
} | |
case 0: { | |
lab_0x140011331:; | |
int32_t v7 = v3 & 0x8040; // 0x140011331 | |
if (v7 == 64) { | |
// 0x14001135b | |
v6 = v5 & 0xfdffffff | 0x2000000; | |
} else { | |
int32_t v8 = v7 - 0x8000; // 0x14001133e | |
if (v8 == 0) { | |
// 0x140011353 | |
v6 = v5 & 0xfcffffff | 0x3000000; | |
} else { | |
// 0x140011347 | |
v6 = v5; | |
if (v8 == 64) { | |
// 0x14001134d | |
v6 = v5 & 0xfeffffff | 0x1000000; | |
} | |
} | |
} | |
// break -> 0x14001135f | |
break; | |
} | |
case 0x4000: { | |
// 0x14001132a | |
v5 = v2 & 0xfffffdff | 512; | |
// branch (via goto) -> 0x140011331 | |
goto lab_0x140011331; | |
} | |
default: { | |
// 0x14001131d | |
v5 = v2; | |
if (v4 == 0x6000) { | |
// 0x140011322 | |
v5 = v2 & 0xfffffcff | 768; | |
} | |
// branch (via goto) -> 0x140011331 | |
goto lab_0x140011331; | |
} | |
} | |
int32_t v9 = a2 & 0x308031f; | |
uint64_t v10 = v6 & (int64_t)(-1 - v9) | (int64_t)(v9 & a1); // 0x14001136b | |
int32_t v11 = v10; // 0x14001136e | |
if (v11 == (int32_t)v6) { | |
// 0x140011517 | |
return v6 & 0xffffffff; | |
} | |
int64_t v12 = 8 * v10 & 128 | 64 * v10 & 512 | 256 * v10 & 1024 | 1024 * v10 & 2048 | 0x1000 * v10 & 0x1000 | v10 / 2048 & 256; // 0x1400113c1 | |
int32_t v13 = v11 & 768; // 0x1400113c7 | |
int64_t v14 = v12; // 0x140011268 | |
int64_t v15; // 0x140011268 | |
switch (v13) { | |
case 256: { | |
// 0x1400113ed | |
v14 = v12 & 0xffffdfff | 0x2000; | |
} | |
case 0: { | |
lab_0x1400113f5:; | |
int64_t v16 = v10 & 0x3000000; // 0x1400113f5 | |
if (v16 == 0x1000000) { | |
// 0x140011422 | |
v15 = v14 & 0xffff7fbf | 0x8040; | |
} else { | |
int32_t v17 = v16; // 0x140011405 | |
if (v17 == 0x2000000) { | |
// 0x14001141d | |
v15 = v14 & 0xffffffbf | 64; | |
} else { | |
// 0x14001140e | |
v15 = v14; | |
if (v17 == 0x3000000) { | |
// 0x140011417 | |
v15 = v14 & 0xffff7fff | 0x8000; | |
} | |
} | |
} | |
// break -> 0x14001142c | |
break; | |
} | |
case 512: { | |
// 0x1400113e7 | |
v14 = v12 & 0xffffbfff | 0x4000; | |
// branch (via goto) -> 0x1400113f5 | |
goto lab_0x1400113f5; | |
} | |
default: { | |
// 0x1400113d7 | |
v14 = v12; | |
if (v13 == 768) { | |
// 0x1400113e2 | |
v14 = v12 & 0xffff9fff | 0x6000; | |
} | |
// branch (via goto) -> 0x1400113f5 | |
goto lab_0x1400113f5; | |
} | |
} | |
// 0x14001142c | |
int64_t v18; // 0x140011268 | |
if (g45 == 0 || (v15 & 64) == 0) { | |
int64_t v19 = v15 & 0xffffffbf; // 0x14001146b | |
function_1400118f0(v19); | |
v18 = v19; | |
} else { | |
// 0x14001143a | |
function_1400118f0(v15 & 0xffffffff); | |
v18 = v15; | |
} | |
uint64_t v20 = v18; | |
int64_t v21 = v20 / 64 & 8 | v20 / 8 & 16 | v20 / 256 & 4 | v20 / 1024 & 2 | v20 / 0x1000 & 1 | 2048 * v20 & 0x80000; // 0x1400114c1 | |
int64_t v22 = v20 & 0x6000; | |
int64_t v23 = v21; // 0x1400114c9 | |
if (v22 != 0) { | |
int32_t v24 = v22; // 0x1400114cb | |
switch (v24) { | |
case 0x2000: { | |
// 0x1400114eb | |
v23 = v21 & 0xfffffeff | 256; | |
// break -> 0x1400114ed | |
break; | |
} | |
case 0x4000: { | |
// 0x1400114e6 | |
v23 = v21 & 0xfffffdff | 512; | |
// break -> 0x1400114ed | |
break; | |
} | |
default: { | |
// 0x1400114d9 | |
v23 = v21; | |
if (v24 == 0x6000) { | |
// 0x1400114de | |
v23 = v21 & 0xfffffcff | 768; | |
} | |
// break -> 0x1400114ed | |
break; | |
} | |
} | |
} | |
int32_t v25 = (int32_t)v20 & 0x8040; // 0x1400114ed | |
if (v25 == 64) { | |
// 0x140011517 | |
return (v23 & 0xfdffffff | 0x2000000) & 0xffffffff; | |
} | |
int32_t v26 = v25 - 0x8000; // 0x1400114f8 | |
if (v26 == 0) { | |
// 0x140011517 | |
return (v23 & 0xfcffffff | 0x3000000) & 0xffffffff; | |
} | |
int64_t v27 = v23; // 0x140011503 | |
if (v26 == 64) { | |
// 0x140011505 | |
v27 = v23 & 0xfeffffff | 0x1000000; | |
} | |
// 0x140011517 | |
return v27 & 0xffffffff; | |
} | |
// Address range: 0x140011530 - 0x140011595 | |
int64_t function_140011530(int64_t a1) { | |
// 0x140011530 | |
int64_t v1; // 0x140011530 | |
int128_t v2 = __asm_movsd(v1); // 0x140011538 | |
int64_t v3; // 0x140011530 | |
int128_t v4 = __asm_movsd(v3); // 0x140011543 | |
int64_t v5 = 0x100000000 * a1 / 0x100000000; // bp-56, 0x140011551 | |
__asm_movsd_8(v2); | |
int64_t v6 = __asm_movsd_8(v4); // 0x140011561 | |
int128_t v7; // 0x140011530 | |
__asm_movsd_8(v7); | |
int64_t v8; // 0x140011530 | |
function_140011cb8(v8, 0xffc0); | |
int64_t v9 = __acrt_invoke_user_matherr((int32_t *)&v5); // 0x140011579 | |
int64_t result = v9; // 0x140011580 | |
if ((int32_t)v9 == 0) { | |
// 0x140011582 | |
result = _set_errno_from_matherr(a1 & 0xffffffff); | |
} | |
// 0x140011589 | |
__asm_movsd(v6); | |
return result; | |
} | |
// Address range: 0x140011598 - 0x140011652 | |
int64_t function_140011598(int64_t a1, int64_t a2) { | |
int64_t v1; // 0x140011598 | |
if ((a1 & 8) == 0) { | |
goto lab_0x1400115ca; | |
} else { | |
if ((char)a2 >= 0) { | |
goto lab_0x1400115ca; | |
} else { | |
// 0x1400115bb | |
function_140011d34(1); | |
v1 = a1 & 23; | |
goto lab_0x140011621; | |
} | |
} | |
lab_0x1400115ca: | |
if ((a1 & 4) == 0) { | |
goto lab_0x1400115e5; | |
} else { | |
if ((a2 & 512) == 0) { | |
goto lab_0x1400115e5; | |
} else { | |
// 0x1400115db | |
function_140011d34(4); | |
v1 = a1 & 27; | |
goto lab_0x140011621; | |
} | |
} | |
lab_0x1400115e5: | |
if ((a1 & 1) == 0) { | |
goto lab_0x140011601; | |
} else { | |
if ((a2 & 1024) == 0) { | |
goto lab_0x140011601; | |
} else { | |
// 0x1400115f2 | |
function_140011d34(8); | |
v1 = a1 & 30; | |
goto lab_0x140011621; | |
} | |
} | |
lab_0x140011601:; | |
int64_t v2 = a1 & 31; // 0x1400115ac | |
v1 = v2; | |
if ((a1 & 2) != 0) { | |
// 0x140011607 | |
v1 = v2; | |
if ((a2 & 2048) != 0) { | |
if ((a1 & 16) != 0) { | |
// 0x140011614 | |
function_140011d34(16); | |
} | |
// 0x14001161e | |
v1 = a1 & 29; | |
} | |
} | |
goto lab_0x140011621; | |
lab_0x140011621: | |
// 0x140011621 | |
if ((a1 & 16) == 0) { | |
// 0x14001163b | |
return (int32_t)v1 == 0; | |
} | |
int64_t v3 = v1; // 0x14001162c | |
if ((a2 & 0x1000) != 0) { | |
// 0x14001162e | |
function_140011d34(32); | |
v3 = v1 & 15; | |
} | |
// 0x14001163b | |
return (int32_t)v3 == 0; | |
} | |
// Address range: 0x140011654 - 0x14001177b | |
int64_t function_140011654(int64_t a1, int64_t a2, int64_t a3, int64_t a4, int64_t a5, int64_t a6, int64_t a7, int64_t a8, int64_t a9) { | |
int64_t v1 = a7; | |
int128_t v2; // 0x140011654 | |
int64_t v3 = __asm_movaps(v2); // 0x140011668 | |
int64_t v4 = function_140011cb8(0x1f80, 0xffc0); | |
int64_t v5 = v4; // bp-216, 0x140011697 | |
int64_t v6 = __asm_movsd_8(__asm_movsd(a3)); // bp-208, 0x1400116ac | |
int64_t v7 = function_140011598(a5 & 0xffffffff, v4); // 0x1400116b2 | |
int128_t v8 = __asm_movsd(a8); // 0x1400116b7 | |
if ((int32_t)v7 == 0) { | |
if ((int32_t)a9 == 2) { | |
// 0x1400116c6 | |
__asm_movsd_8(v8); | |
} | |
// 0x1400116d7 | |
int64_t v9; // bp-184, 0x140011654 | |
function_140011930(&v9, &v5, (int32_t)a5, a2 & 0xffffffff, &v1, &v6); | |
} | |
int64_t v10 = a4 & 0xffffffff; // 0x140011689 | |
if ((int32_t)a4 == 0 | (char)__acrt_has_user_matherr() == 0) { | |
// 0x14001173d | |
_set_errno_from_matherr(v10); | |
function_140011cb8(v5, 0xffc0); | |
__asm_movsd(v6); | |
} else { | |
int128_t v11 = __asm_movsd(v6); // 0x140011715 | |
__asm_movsd(v1); | |
__asm_movsd_8(v11); | |
__asm_movsd_8(v8); | |
function_140011530(v10); | |
} | |
int64_t result = function_140011ed0(g29); // 0x140011760 | |
__asm_movaps_12((int128_t)v3); | |
return result; | |
} | |
// Address range: 0x14001177c - 0x140011795 | |
int128_t function_14001177c(int64_t a1) { | |
// 0x14001177c | |
return __asm_movsd(a1 | 0x8000000000000); | |
} | |
// Address range: 0x140011830 - 0x1400118c6 | |
int64_t function_140011830(void) { | |
// 0x140011830 | |
int128_t v1; // 0x140011830 | |
int64_t v2 = __asm_movaps(v1); // 0x140011837 | |
int128_t v3; // 0x140011830 | |
int128_t v4 = __asm_movaps_12(v3); // 0x14001183b | |
int128_t v5; // 0x140011830 | |
int128_t v6 = __asm_movaps_12(v5); // 0x140011841 | |
int64_t v7; // 0x140011830 | |
uint32_t v8 = (int32_t)v7 - 1; // 0x140011844 | |
int64_t v9; // 0x140011830 | |
if (v8 == 0) { | |
// 0x140011874 | |
__asm_movsd_8(__asm_xorps(v5, v5)); | |
__asm_movsd_8(v6); | |
v9 = 2; | |
} else { | |
// 0x14001184a | |
if (v8 != 1) { | |
// 0x1400118b9 | |
__asm_movaps_12(v4); | |
__asm_movaps_12((int128_t)v2); | |
int64_t v10; // 0x140011830 | |
return &v10; | |
} | |
// 0x140011850 | |
int128_t v11; // 0x140011830 | |
__asm_movsd_8(__asm_xorps(v11, v11)); | |
__asm_movsd_8(v5); | |
v9 = v8; | |
} | |
int64_t v12 = __asm_movsd_8(v4); // 0x1400118a9 | |
int64_t v13; // 0x140011830 | |
int64_t v14; // 0x140011830 | |
int64_t result = function_140011654(v14, v13 & 0xffffffff, v12, v9, (int64_t)&g113, (int64_t)&g113, (int64_t)&g113, (int64_t)&g113, (int64_t)&g113); // 0x1400118b4 | |
// 0x1400118b9 | |
__asm_movaps_12(v4); | |
__asm_movaps_12((int128_t)v2); | |
return result; | |
} | |
// Address range: 0x1400118e0 - 0x1400118f0 | |
int64_t function_1400118e0(void) { | |
// 0x1400118e0 | |
uint32_t result; // 0x1400118e0 | |
__asm_stmxcsr(result); | |
return result; | |
} | |
// Address range: 0x1400118f0 - 0x1400118fa | |
int64_t function_1400118f0(int64_t a1) { | |
// 0x1400118f0 | |
__asm_ldmxcsr((int32_t)a1); | |
int64_t result; // 0x1400118f0 | |
return result; | |
} | |
// Address range: 0x1400118fa - 0x14001190e | |
int64_t function_1400118fa(void) { | |
// 0x1400118fa | |
int32_t v1; // 0x1400118fa | |
__asm_stmxcsr(v1); | |
__asm_ldmxcsr(v1 & -64); | |
int64_t result; // 0x1400118fa | |
return result; | |
} | |
// Address range: 0x140011930 - 0x140011957 | |
int64_t function_140011930(int64_t * a1, int64_t * a2, int32_t a3, int64_t a4, int64_t * a5, int64_t * a6) { | |
// 0x140011930 | |
int64_t v1; // 0x140011930 | |
int64_t v2; // 0x140011930 | |
return function_140011958((int64_t)a1, (int64_t)a2, (int64_t)a3, a4, v1, v2, 0); | |
} | |
// Address range: 0x140011958 - 0x140011c65 | |
int64_t function_140011958(int64_t a1, int64_t a2, int64_t a3, int64_t a4, int64_t a5, int64_t a6, int32_t a7) { | |
int64_t lpArguments = a1; // 0x140011967 | |
int64_t v1 = 0; // 0x140011979 | |
*(int32_t *)(a1 + 4) = 0; | |
*(int32_t *)(lpArguments + 8) = 0; | |
*(int32_t *)(lpArguments + 12) = 0; | |
int32_t v2 = -0x3ffffff3; // 0x140011995 | |
if ((a3 & 16) != 0) { | |
int32_t * v3 = (int32_t *)(lpArguments + 4); // 0x1400119a0 | |
*v3 = *v3 | 1; | |
v2 = -0x3fffff71; | |
} | |
int32_t v4 = v2; // 0x1400119a8 | |
if ((a3 & 2) != 0) { | |
int32_t * v5 = (int32_t *)(lpArguments + 4); // 0x1400119b3 | |
*v5 = *v5 | 2; | |
v4 = -0x3fffff6d; | |
} | |
int32_t v6 = v4; // 0x1400119bb | |
if ((a3 & 1) != 0) { | |
int32_t * v7 = (int32_t *)(lpArguments + 4); // 0x1400119c6 | |
*v7 = *v7 | 4; | |
v6 = -0x3fffff6f; | |
} | |
int32_t v8 = v6; // 0x1400119ce | |
if ((a3 & 4) != 0) { | |
int32_t * v9 = (int32_t *)(lpArguments + 4); // 0x1400119d9 | |
*v9 = *v9 | 8; | |
v8 = -0x3fffff72; | |
} | |
int32_t dwExceptionCode = v8; // 0x1400119e1 | |
if ((a3 & 8) != 0) { | |
int32_t * v10 = (int32_t *)(lpArguments + 4); // 0x1400119ec | |
*v10 = *v10 | 16; | |
dwExceptionCode = -0x3fffff70; | |
} | |
int32_t * v11 = (int32_t *)(lpArguments + 8); // 0x140011a00 | |
*v11 = ((int32_t)(v1 / 8) & 16 | *v11 & -17) ^ 16; | |
int32_t * v12 = (int32_t *)(lpArguments + 8); // 0x140011a19 | |
*v12 = ((int32_t)(v1 / 64) & 8 | *v12 & -9) ^ 8; | |
int32_t * v13 = (int32_t *)(lpArguments + 8); // 0x140011a32 | |
*v13 = ((int32_t)(v1 / 256) & 4 | *v13 & -5) ^ 4; | |
int32_t * v14 = (int32_t *)(lpArguments + 8); // 0x140011a4a | |
*v14 = ((int32_t)(v1 / 1024) & 2 | *v14 & -3) ^ 2; | |
int32_t * v15 = (int32_t *)(lpArguments + 8); // 0x140011a5f | |
*v15 = (*v15 & -2 | *(int32_t *)&v1 / 0x1000 & 1) ^ 1; | |
int64_t v16 = function_140011d54(lpArguments, (int32_t)v1); // 0x140011a68 | |
v1 = v16; | |
v1 = v16; | |
if ((v16 & 1) != 0) { | |
int32_t * v17 = (int32_t *)(lpArguments + 12); // 0x140011a78 | |
*v17 = *v17 | 16; | |
} | |
int64_t v18 = v1; | |
v1 = v18; | |
if ((v18 & 4) != 0) { | |
int32_t * v19 = (int32_t *)(lpArguments + 12); // 0x140011a85 | |
*v19 = *v19 | 8; | |
} | |
int64_t v20 = v1; | |
v1 = v20; | |
if ((v20 & 8) != 0) { | |
int32_t * v21 = (int32_t *)(lpArguments + 12); // 0x140011a92 | |
*v21 = *v21 | 4; | |
} | |
int64_t v22 = v1; | |
v1 = v22; | |
if ((v22 & 16) != 0) { | |
int32_t * v23 = (int32_t *)(lpArguments + 12); // 0x140011a9f | |
*v23 = *v23 | 2; | |
} | |
int32_t v24 = v1; // 0x140011aa6 | |
if ((v1 & 32) != 0) { | |
int32_t * v25 = (int32_t *)(lpArguments + 12); // 0x140011aac | |
*v25 = *v25 | 1; | |
v24 = *(int32_t *)&v1; | |
} | |
int64_t v26 = 0x6000; // 0x140011ab2 | |
int32_t v27 = v24 & 0x6000; | |
switch (v27) { | |
case 0: { | |
// 0x140011afa | |
*(int32_t *)lpArguments = 0x6000; | |
// break -> 0x140011b01 | |
break; | |
} | |
case 0x2000: { | |
// 0x140011aea | |
*(int32_t *)lpArguments = 0x6000; | |
*(int32_t *)lpArguments = *(int32_t *)&v26 | 1; | |
// break -> 0x140011b01 | |
break; | |
} | |
case 0x4000: { | |
// 0x140011ada | |
*(int32_t *)lpArguments = 0x6000; | |
*(int32_t *)lpArguments = *(int32_t *)&v26 | 2; | |
// break -> 0x140011b01 | |
break; | |
} | |
default: { | |
if (v27 != 0x6000) { | |
// branch -> 0x140011b01 | |
} else { | |
// 0x140011ad1 | |
*(int32_t *)lpArguments = 0x6003; | |
} | |
// break -> 0x140011b01 | |
break; | |
} | |
} | |
int32_t * v28 = (int32_t *)&v26; | |
*(int32_t *)lpArguments = *v28 & -0x1ffe1; | |
*(int32_t *)lpArguments = *v28 | 32 * (int32_t)a4 & 0x1ffe0; | |
int32_t * v29 = (int32_t *)(lpArguments + 32); // 0x140011b22 | |
*v29 = *v29 | 1; | |
if (a7 == 0) { | |
int32_t * v30 = (int32_t *)(lpArguments + 32); // 0x140011b69 | |
*v30 = *v30 & -31 | 2; | |
int64_t v31 = *(int64_t *)a5; // 0x140011b79 | |
v26 = v31; | |
*(int64_t *)(lpArguments + 16) = v31; | |
int32_t * v32 = (int32_t *)(lpArguments + 96); // 0x140011b88 | |
*v32 = *v32 | 1; | |
int32_t * v33 = (int32_t *)(lpArguments + 96); // 0x140011b90 | |
*v33 = *v33 & -31 | 2; | |
int64_t v34 = *(int64_t *)a6; // 0x140011ba0 | |
v1 = v34; | |
*(int64_t *)(lpArguments + 80) = v34; | |
} else { | |
// 0x140011b2c | |
v1 = 0xffffffe1; | |
int32_t * v35 = (int32_t *)(lpArguments + 32); // 0x140011b35 | |
*v35 = *v35 & -31; | |
*(int32_t *)(lpArguments + 16) = *(int32_t *)a5; | |
int32_t * v36 = (int32_t *)(lpArguments + 96); // 0x140011b49 | |
*v36 = *v36 | 1; | |
int32_t * v37 = (int32_t *)(lpArguments + 96); // 0x140011b51 | |
*v37 = *v37 & -31; | |
uint32_t v38 = *(int32_t *)a6; // 0x140011b58 | |
v26 = v38; | |
*(int32_t *)(lpArguments + 80) = v38; | |
} | |
// 0x140011ba7 | |
function_140011c98(v26, v1); | |
v1 = 0; | |
RaiseException(dwExceptionCode, 0, 1, (int32_t *)&lpArguments); | |
v26 = lpArguments; | |
int32_t v39 = *(int32_t *)(lpArguments + 8); // 0x140011bc2 | |
int64_t v40 = lpArguments; // 0x140011bc7 | |
int32_t v41 = v39; // 0x140011bc7 | |
if ((v39 & 16) != 0) { | |
// 0x140011bc9 | |
*(int64_t *)a2 = v1 & -129; | |
v40 = v26; | |
v41 = *(int32_t *)(v40 + 8); | |
} | |
int64_t v42 = v41; | |
int64_t v43 = v40; // 0x140011bd3 | |
int64_t v44 = v42; // 0x140011bd3 | |
if ((v42 & 8) != 0) { | |
// 0x140011bd5 | |
*(int64_t *)a2 = v1 & -513; | |
v43 = v26; | |
v44 = (int64_t)*(int32_t *)(v43 + 8); | |
} | |
int64_t v45 = v43; // 0x140011bdf | |
int64_t v46 = v44; // 0x140011bdf | |
if ((v44 & 4) != 0) { | |
// 0x140011be1 | |
*(int64_t *)a2 = v1 & -1025; | |
v45 = v26; | |
v46 = (int64_t)*(int32_t *)(v45 + 8); | |
} | |
int64_t v47 = v45; // 0x140011beb | |
int64_t v48 = v46; // 0x140011beb | |
if ((v46 & 2) != 0) { | |
// 0x140011bed | |
*(int64_t *)a2 = v1 & -2049; | |
v47 = v26; | |
v48 = (int64_t)*(int32_t *)(v47 + 8); | |
} | |
int32_t v49 = v47; // 0x140011bf7 | |
if ((v48 & 1) != 0) { | |
// 0x140011bf9 | |
*(int64_t *)a2 = v1 & -0x1001; | |
v49 = *v28; | |
} | |
int32_t v50 = v49 & 3; // 0x140011c00 | |
switch (v50) { | |
case 0: { | |
// 0x140011c35 | |
*(int64_t *)a2 = v1 & -0x6001; | |
// break -> 0x140011c3c | |
break; | |
} | |
case 1: { | |
int64_t * v51 = (int64_t *)a2; // 0x140011c29 | |
*v51 = v1 & -0x4001; | |
*v51 = v1 | 0x2000; | |
// break -> 0x140011c3c | |
break; | |
} | |
default: { | |
// 0x140011c0a | |
if (v50 == 2) { | |
int64_t * v52 = (int64_t *)a2; // 0x140011c1d | |
*v52 = v1 & -0x2001; | |
*v52 = v1 | 0x4000; | |
} else { | |
// 0x140011c14 | |
*(int64_t *)a2 = v1 | 0x6000; | |
} | |
// break -> 0x140011c3c | |
break; | |
} | |
} | |
int64_t v53 = v26 + 80; | |
int64_t result; // 0x140011958 | |
if (a7 == 0) { | |
int64_t v54 = *(int64_t *)v53; // 0x140011c49 | |
*(int64_t *)a6 = v54; | |
result = v54; | |
} else { | |
uint32_t v55 = *(int32_t *)v53; // 0x140011c42 | |
*(int32_t *)a6 = v55; | |
result = v55; | |
} | |
// 0x140011c50 | |
return result; | |
} | |
// Address range: 0x140011c98 - 0x140011cb5 | |
int64_t function_140011c98(int64_t a1, int64_t a2) { | |
int64_t v1 = function_1400118e0(); // 0x140011c9e | |
function_1400118fa(); | |
return v1 & 63; | |
} | |
// Address range: 0x140011cb8 - 0x140011d34 | |
int64_t function_140011cb8(int64_t a1, int64_t a2) { | |
int64_t v1 = function_1400118e0(); // 0x140011ccd | |
int64_t v2 = v1 & ((a2 | 0xffff807f) ^ 0x7f80) | a2 & a1; // 0x140011ce6 | |
if (g46 == 0 || (v2 & 64) == 0) { | |
// 0x140011d1a | |
function_1400118f0(v2 & 0xffffffbf); | |
} else { | |
// 0x140011cfa | |
function_1400118f0(v2 & 0xffffffff); | |
} | |
// 0x140011d22 | |
return v1 & 0xffffffff; | |
} | |
// Address range: 0x140011d34 - 0x140011d53 | |
int64_t function_140011d34(int64_t a1) { | |
// 0x140011d34 | |
return function_1400118f0(function_1400118e0() & 0xffffffff | a1 & 63); | |
} | |
// Address range: 0x140011d54 - 0x140011d65 | |
int64_t function_140011d54(int64_t a1, int32_t a2) { | |
// 0x140011d54 | |
return function_1400118e0() & 63; | |
} | |
// Address range: 0x140011dc0 - 0x140011e0d | |
int64_t function_140011dc0(int64_t * a1) { | |
int64_t result = function_140011e10(0x140000000); // 0x140011dd7 | |
if ((int32_t)result == 0) { | |
// 0x140011e02 | |
return result; | |
} | |
int64_t v1 = _FindPESection(0x140000000, (int64_t)a1 - 0x140000000); // 0x140011de9 | |
int64_t result2 = 0; // 0x140011df1 | |
if (v1 != 0) { | |
// 0x140011df3 | |
result2 = (int64_t)(*(int32_t *)(v1 + 36) >> 31 ^ 1); | |
} | |
// 0x140011e02 | |
return result2; | |
} | |
// Address range: 0x140011e10 - 0x140011e3b | |
int64_t function_140011e10(int64_t a1) { | |
if ((int16_t)a1 != 0x5a4d) { | |
// 0x140011e38 | |
return 0; | |
} | |
int64_t v1 = (int64_t)*(int32_t *)(a1 + 60) + a1; // 0x140011e1e | |
if (*(int32_t *)v1 != 0x4550) { | |
// 0x140011e38 | |
return 0; | |
} | |
// 0x140011e29 | |
return *(int16_t *)(v1 + 24) == 523; | |
} | |
// Address range: 0x140011e3c - 0x140011e59 | |
int64_t function_140011e3c(void) { | |
// 0x140011e3c | |
int64_t v1; // 0x140011e3c | |
int64_t v2; // 0x140011e3c | |
function_140011e5c(v2, v1, *(int64_t *)(v1 + 56)); | |
return 1; | |
} | |
// Address range: 0x140011e5c - 0x140011eb7 | |
int64_t function_140011e5c(int64_t a1, int64_t a2, int64_t a3) { | |
int64_t v1 = a1; // 0x140011e72 | |
if ((a3 & 4) != 0) { | |
int32_t v2 = *(int32_t *)(a3 + 4); // 0x140011e78 | |
v1 = (int64_t)v2 + a1 & (int64_t)-*(int32_t *)(a3 + 8); | |
} | |
int64_t v3 = *(int64_t *)(v1 + (0x100000000 * a3 / 0x100000000 & -8)); // 0x140011e8a | |
uint32_t v4 = *(int32_t *)(*(int64_t *)(a2 + 16) + 8); // 0x140011e92 | |
char v5 = *(char *)((int64_t)v4 + 3 + *(int64_t *)(a2 + 8)); // 0x140011e99 | |
int64_t v6 = a1; // 0x140011e9e | |
if ((v5 & 15) != 0) { | |
// 0x140011ea0 | |
v6 = (int64_t)(v5 & -16) + a1; | |
} | |
// 0x140011eab | |
return function_140011ed0(v6 ^ v3); | |
} | |
// Address range: 0x140011ed0 - 0x140011eee | |
int64_t function_140011ed0(uint64_t a1) { | |
// 0x140011ed0 | |
if (a1 < 0x1000000000000 == g29 == a1) { | |
// 0x140011ee4 | |
int64_t result; // 0x140011ed0 | |
return result; | |
} | |
// 0x140011ee9 | |
return function_140011f24(a1); | |
} | |
// Address range: 0x140011f24 - 0x140011ff6 | |
int64_t function_140011f24(int64_t a1) { | |
int64_t v1 = a1; // 0x140011f24 | |
v1 = a1; | |
if (IsProcessorFeaturePresent(23)) { | |
// 0x140011f3c | |
__asm_int(41); | |
} | |
// 0x140011f43 | |
int64_t v2; // bp-56, 0x140011f24 | |
int64_t v3 = &v2; // 0x140011f29 | |
capture_previous_context(&g107); | |
g109 = &v1; | |
g108 = v1; | |
*(int32_t *)&g103 = -0x3ffffbf7; | |
*(int32_t *)&g104 = 1; | |
*(int32_t *)&g105 = 1; | |
g106 = 2; | |
*(int64_t *)(v3 + 32) = g29; | |
*(int64_t *)(v3 + 40) = g30; | |
return __raise_securityfailure(0x14001b510); | |
} | |
// Address range: 0x140011ff8 - 0x14001200b | |
int64_t function_140011ff8(void) { | |
// 0x140011ff8 | |
return function_14001200c(8); | |
} | |
// Address range: 0x14001200c - 0x1400120a8 | |
int64_t function_14001200c(int64_t a1) { | |
int64_t v1 = 0x100000000 * a1 / 0x100000000; // 0x14001200c | |
int64_t v2 = v1; // 0x14001200c | |
v2 = v1; | |
if (IsProcessorFeaturePresent(23)) { | |
// 0x140012023 | |
__asm_int(41); | |
} | |
// 0x14001202b | |
_3f_capture_current_context_40__40_YAXQEAU_CONTEXT_40__40__40_Z((int64_t *)&g113); | |
g109 = &v2; | |
*(int32_t *)&g103 = -0x3ffffbf7; | |
*(int32_t *)&g104 = 1; | |
*(int32_t *)&g105 = 1; | |
g106 = v2 & 0xffffffff; | |
return __raise_securityfailure((int64_t)&g23); | |
} | |
// Address range: 0x140012200 - 0x1400122c7 | |
int64_t function_140012200(int64_t a1, int64_t a2, int64_t a3) { | |
int64_t v1 = a2 - a1; // 0x140012200 | |
int64_t v2 = a1; // 0x140012207 | |
int64_t v3 = a3; // 0x140012207 | |
bool v4; // 0x140012200 | |
int64_t v5; // 0x140012200 | |
int64_t v6; // 0x140012200 | |
int64_t v7; // 0x140012200 | |
int64_t v8; // 0x140012200 | |
int64_t v9; // 0x140012200 | |
if (a3 < 8) { | |
goto lab_0x14001222b; | |
} else { | |
int64_t v10 = a1; // 0x14001220c | |
int64_t v11 = a3; // 0x14001220c | |
v5 = a3; | |
v9 = a1; | |
if ((a1 & 7) == 0) { | |
goto lab_0x14001224a; | |
} else { | |
unsigned char v12 = *(char *)v10; // 0x140012210 | |
int64_t v13; // 0x140012200 | |
int64_t v14 = v13 & -256 | (int64_t)v12; // 0x140012210 | |
unsigned char v15 = *(char *)(v10 + v1); // 0x140012212 | |
while (v12 == v15) { | |
int64_t v16 = v10 + 1; // 0x140012217 | |
int64_t v17 = v11 - 1; // 0x14001221a | |
v10 = v16; | |
v11 = v17; | |
if ((v16 & 7) == 0) { | |
// 0x140012222 | |
v7 = v14; | |
v2 = v16; | |
v3 = v17; | |
v5 = v17; | |
v9 = v16; | |
v6 = v14; | |
if (v17 >= 8) { | |
goto lab_0x14001224a; | |
} else { | |
goto lab_0x14001222b; | |
} | |
} | |
v12 = *(char *)v10; | |
v14 = v14 & -256 | (int64_t)v12; | |
v15 = *(char *)(v10 + v1); | |
} | |
// 0x140012243 | |
v4 = v12 < v15; | |
v8 = v14; | |
goto lab_0x140012243; | |
} | |
} | |
lab_0x1400122ac_2:; | |
// 0x1400122ac | |
int64_t v18; // 0x140012200 | |
int64_t v19 = v1 + 8 + v18; // 0x1400122ac | |
int64_t v20; // 0x140012200 | |
int64_t v21 = v20; // 0x1400122ac | |
goto lab_0x1400122b4; | |
lab_0x14001222b:; | |
int64_t v29 = v2; // 0x14001222e | |
if (v3 == 0) { | |
// 0x14001223f | |
return 0; | |
} | |
int64_t v30 = v3; // 0x14001222e | |
unsigned char v31 = *(char *)v29; // 0x140012230 | |
int64_t v32 = v7 & -256 | (int64_t)v31; // 0x140012230 | |
unsigned char v33 = *(char *)(v29 + v1); // 0x140012232 | |
while (v31 == v33) { | |
int64_t v34 = v30 - 1; // 0x14001223a | |
v29++; | |
v30 = v34; | |
if (v34 == 0) { | |
// 0x14001223f | |
return 0; | |
} | |
v31 = *(char *)v29; | |
v32 = v32 & -256 | (int64_t)v31; | |
v33 = *(char *)(v29 + v1); | |
} | |
// 0x140012243 | |
v4 = v31 < v33; | |
v8 = v32; | |
goto lab_0x140012243; | |
lab_0x140012243:; | |
uint32_t v35 = (int32_t)v8; // 0x140012243 | |
int32_t v36 = v4; // 0x140012243 | |
uint32_t v37 = v35 + v36; // 0x140012243 | |
int32_t v38 = v4; // 0x140012243 | |
bool v39 = v4 ? v38 - v36 > v35 | v37 != -1 : v37 > v35; // 0x140012243 | |
return (int32_t)!v39 + v38; | |
lab_0x14001224a:; | |
int64_t v40 = v9; // 0x14001224e | |
int64_t v41 = v5 / 32; // 0x14001224e | |
int64_t v42 = v6; // 0x14001224e | |
int64_t v43 = v9; // 0x14001224e | |
int64_t v44 = v5; // 0x14001224e | |
if (v5 < 32) { | |
goto lab_0x140012287; | |
} else { | |
int64_t v45 = *(int64_t *)v40; // 0x140012250 | |
int64_t v46 = v40 + v1; | |
v19 = v46; | |
v21 = v45; | |
while (v45 == *(int64_t *)v46) { | |
int64_t v47 = v40 + 8; | |
int64_t v48 = *(int64_t *)v47; // 0x140012259 | |
int64_t v49 = v47 + v1; | |
v19 = v49; | |
v21 = v48; | |
if (v48 != *(int64_t *)v49) { | |
// break -> 0x1400122b4 | |
break; | |
} | |
int64_t v50 = v40 + 16; // 0x140012264 | |
int64_t v51 = *(int64_t *)v50; // 0x140012264 | |
v18 = v47; | |
v20 = v51; | |
if (v51 != *(int64_t *)(v50 + v1)) { | |
goto lab_0x1400122ac_2; | |
} | |
int64_t v52 = v40 + 24; // 0x14001226f | |
int64_t v53 = *(int64_t *)v52; // 0x14001226f | |
v18 = v50; | |
v20 = v53; | |
if (v53 != *(int64_t *)(v52 + v1)) { | |
goto lab_0x1400122ac_2; | |
} | |
int64_t v54 = v40 + 32; // 0x14001227a | |
int64_t v55 = v41 - 1; // 0x14001227e | |
v40 = v54; | |
v41 = v55; | |
if (v55 == 0) { | |
// 0x140012283 | |
v42 = v53; | |
v43 = v54; | |
v44 = v5 & 31; | |
goto lab_0x140012287; | |
} | |
v45 = *(int64_t *)v40; | |
v46 = v40 + v1; | |
v19 = v46; | |
v21 = v45; | |
} | |
goto lab_0x1400122b4; | |
} | |
lab_0x140012287: | |
// 0x140012287 | |
v7 = v42; | |
v2 = v43; | |
v3 = v44; | |
int64_t v56 = v43; // 0x14001228e | |
int64_t v57 = v44 / 8; // 0x14001228e | |
if (v44 < 8) { | |
goto lab_0x14001222b; | |
} else { | |
int64_t v58 = *(int64_t *)v56; // 0x140012290 | |
int64_t v59 = v56 + v1; | |
v19 = v59; | |
v21 = v58; | |
while (v58 == *(int64_t *)v59) { | |
int64_t v60 = v56 + 8; // 0x140012299 | |
int64_t v61 = v57 - 1; // 0x14001229d | |
v56 = v60; | |
v57 = v61; | |
if (v61 == 0) { | |
// 0x1400122a2 | |
v7 = v58; | |
v2 = v60; | |
v3 = v44 & 7; | |
goto lab_0x14001222b; | |
} | |
v58 = *(int64_t *)v56; | |
v59 = v56 + v1; | |
v19 = v59; | |
v21 = v58; | |
} | |
goto lab_0x1400122b4; | |
} | |
lab_0x1400122b4:; | |
uint64_t v22 = llvm_bswap_i64(v21); // 0x1400122b8 | |
uint64_t v23 = llvm_bswap_i64(*(int64_t *)v19); // 0x1400122bb | |
uint32_t v24 = (int32_t)v22; // 0x1400122c1 | |
int32_t v25 = v22 < v23; // 0x1400122c1 | |
uint32_t v26 = v25 + v24; // 0x1400122c1 | |
int32_t v27 = v22 < v23; // 0x1400122c1 | |
bool v28 = v22 < v23 ? v27 - v25 > v24 | v26 != -1 : v26 > v24; // 0x1400122c1 | |
return (int32_t)!v28 + v27; | |
} | |
// Address range: 0x1400122c8 - 0x140012403 | |
int64_t function_1400122c8(int64_t a1, int64_t a2) { | |
int32_t v1 = a2; // 0x1400122d3 | |
if (v1 == 0) { | |
int64_t v2 = a1 & -16; // 0x1400122de | |
int128_t v3; // 0x1400122c8 | |
int128_t v4 = __asm_pcmpeqb(__asm_xorps(v3, v3), *(int128_t *)v2); // 0x1400122ef | |
int32_t v5 = __asm_pmovmskb(v4) & -1 << ((int32_t)a1 & 15); // 0x1400122f7 | |
int32_t v6 = v5; // 0x1400122fa | |
int64_t v7 = v2; // 0x1400122fa | |
if (v5 == 0) { | |
int128_t v8 = v4; | |
int64_t v9 = v2 + 16; // 0x1400122fc | |
int128_t v10 = __asm_pcmpeqb(__asm_xorps(v8, v8), *(int128_t *)v9); // 0x140012303 | |
int32_t v11 = __asm_pmovmskb(v10); // 0x140012307 | |
int64_t v12 = v9; // 0x14001230d | |
v6 = v11; | |
v7 = v9; | |
while (v11 == 0) { | |
// 0x1400122fc | |
v8 = v10; | |
v9 = v12 + 16; | |
v10 = __asm_pcmpeqb(__asm_xorps(v8, v8), *(int128_t *)v9); | |
v11 = __asm_pmovmskb(v10); | |
v12 = v9; | |
v6 = v11; | |
v7 = v9; | |
} | |
} | |
int32_t v13 = v6; | |
// 0x1400123bf | |
return v7 + (int64_t)(v13 == 0 ? 0 : llvm_cttz_i32(v13, true)); | |
} | |
// 0x14001231a | |
if (g25 > 1) { | |
int64_t result2 = 0; // 0x1400123dc | |
int64_t v14 = a1; // 0x1400123dc | |
int64_t v15 = a1; // 0x1400123dc | |
int64_t result = 0; // 0x1400123dc | |
if ((a1 & 15) == 0) { | |
lab_0x1400123fb: | |
// 0x1400123fb | |
__asm_pcmpistri(__asm_movd(v1 & 255), *(int128_t *)v15, 64); | |
// 0x1400123bf | |
return result; | |
} | |
char v16 = *(char *)v14; | |
result2 = (int32_t)v16 == v1 ? v14 : result2; | |
while (v16 != 0) { | |
// 0x1400123d5 | |
v14++; | |
v15 = v14; | |
result = result2; | |
if ((v14 & 15) == 0) { | |
goto lab_0x1400123fb; | |
} | |
v16 = *(char *)v14; | |
result2 = (int32_t)v16 == v1 ? v14 : result2; | |
} | |
// 0x1400123bf | |
return result2; | |
} | |
int32_t v17 = v1 & 255; // 0x14001232e | |
int64_t v18 = a1 & -16; // 0x140012336 | |
int64_t v19 = a1 & 15; // 0x14001233c | |
int128_t v20 = __asm_movd(256 * v17 | v17); // 0x140012343 | |
int128_t v21 = __asm_pshuflw(v20, 0); // 0x14001234a | |
int128_t v22 = __asm_xorps(v20, v20); // 0x14001234f | |
int128_t * v23 = (int128_t *)v18; // 0x140012352 | |
int32_t v24 = __asm_pmovmskb(__asm_pcmpeqb(v22, *v23)); // 0x140012357 | |
int32_t v25 = v19; | |
int32_t v26 = -1 << v25; | |
int128_t v27 = __asm_pshufd(v21, 0); // 0x14001235e | |
int32_t v28 = __asm_pmovmskb(__asm_pcmpeqb(__asm_movdqa_9(v27), *v23)) & v26; // 0x140012372 | |
uint32_t v29 = v24 & v26; | |
int32_t v30 = v25; // 0x140012377 | |
int64_t v31 = v28; // 0x140012377 | |
int64_t v32 = v29; // 0x140012377 | |
int64_t v33 = 0; // 0x140012377 | |
int64_t v34 = v18; // 0x140012377 | |
if (v29 == 0) { | |
int32_t v35 = v28; | |
int128_t v36 = v21; | |
uint32_t v37 = v35 == 0 ? (int32_t)v19 : llvm_ctlz_i32(v35, true) ^ 31; // 0x140012379 | |
int128_t v38 = __asm_xorps(v36, v36); // 0x14001237c | |
int128_t v39 = __asm_movdqa_9(v27); // 0x14001237f | |
int64_t v40 = v34 + (int64_t)v37; // 0x140012383 | |
v33 = v35 != 0 ? v40 : v33; | |
v34 += 16; | |
int128_t * v41 = (int128_t *)v34; // 0x140012390 | |
int128_t v42 = __asm_pcmpeqb(v38, *v41); // 0x140012390 | |
int128_t v43 = __asm_pcmpeqb(v39, *v41); // 0x140012395 | |
int32_t v44 = __asm_pmovmskb(v42); // 0x14001239a | |
int32_t v45 = __asm_pmovmskb(v43); // 0x14001239e | |
while (v44 == 0) { | |
// 0x140012379 | |
v35 = v45; | |
v36 = v42; | |
v37 = v35 == 0 ? (int32_t)v40 : llvm_ctlz_i32(v35, true) ^ 31; | |
v38 = __asm_xorps(v36, v36); | |
v39 = __asm_movdqa_9(v27); | |
v40 = v34 + (int64_t)v37; | |
v33 = v35 != 0 ? v40 : v33; | |
v34 += 16; | |
v41 = (int128_t *)v34; | |
v42 = __asm_pcmpeqb(v38, *v41); | |
v43 = __asm_pcmpeqb(v39, *v41); | |
v44 = __asm_pmovmskb(v42); | |
v45 = __asm_pmovmskb(v43); | |
} | |
// 0x1400123a6 | |
v30 = v40; | |
v31 = v45; | |
v32 = v44; | |
} | |
int64_t v46 = v32; | |
int32_t v47 = (v46 & -v46) + 0xffffffff & v31; // 0x1400123b0 | |
uint32_t v48 = v47 == 0 ? v30 : llvm_ctlz_i32(v47, true) ^ 31; // 0x1400123b0 | |
// 0x1400123bf | |
return v47 != 0 ? v34 + (int64_t)v48 : v33; | |
} | |
// Address range: 0x140012404 - 0x140012481 | |
int64_t function_140012404(int64_t a1, int64_t a2) { | |
int64_t v1 = a2 & 255; // 0x140012404 | |
int64_t v2 = a1 & -16; // 0x14001240d | |
int128_t v3 = __asm_movd((int32_t)(256 * v1 | v1)); // 0x140012423 | |
int128_t v4 = __asm_pshuflw(v3, 0); // 0x140012428 | |
int128_t v5 = __asm_xorps(v3, v3); // 0x14001242d | |
int128_t * v6 = (int128_t *)v2; // 0x140012430 | |
int128_t v7 = __asm_pcmpeqb(v5, *v6); // 0x140012430 | |
int128_t v8 = __asm_pshufd(v4, 0); // 0x140012435 | |
int128_t v9 = __asm_por(__asm_pcmpeqb(__asm_movdqa_9(v8), *v6), v7); // 0x140012443 | |
int32_t v10 = __asm_pmovmskb(v9) & -1 << ((int32_t)a1 & 15); // 0x14001244b | |
int64_t v11 = v2; // 0x14001244d | |
int32_t v12 = v10; // 0x14001244d | |
int64_t v13 = v2; // 0x14001244d | |
if (v10 == 0) { | |
int128_t v14 = v7; | |
v11 += 16; | |
int128_t v15 = __asm_movdqa_9(v8); // 0x140012453 | |
int128_t v16 = __asm_xorps(v14, v14); // 0x140012457 | |
int128_t * v17 = (int128_t *)v11; // 0x14001245a | |
int128_t v18 = __asm_pcmpeqb(v15, *v17); // 0x14001245a | |
int128_t v19 = __asm_pcmpeqb(v16, *v17); // 0x14001245f | |
int32_t v20 = __asm_pmovmskb(__asm_por(v18, v19)); // 0x140012468 | |
v12 = v20; | |
v13 = v11; | |
while (v20 == 0) { | |
// 0x14001244f | |
v14 = v19; | |
v11 += 16; | |
v15 = __asm_movdqa_9(v8); | |
v16 = __asm_xorps(v14, v14); | |
v17 = (int128_t *)v11; | |
v18 = __asm_pcmpeqb(v15, *v17); | |
v19 = __asm_pcmpeqb(v16, *v17); | |
v20 = __asm_pmovmskb(__asm_por(v18, v19)); | |
v12 = v20; | |
v13 = v11; | |
} | |
} | |
int32_t v21 = v12; | |
int64_t v22 = v13 + (int64_t)(v21 == 0 ? 0 : llvm_cttz_i32(v21, true)); // 0x140012473 | |
return *(char *)v22 == (char)a2 ? v22 : 0; | |
} | |
// Address range: 0x1400124a0 - 0x1400124a2 | |
int64_t function_1400124a0(int32_t a1, int64_t a2, int32_t a3) { | |
// 0x1400124a0 | |
int64_t result; // 0x1400124a0 | |
return result; | |
} | |
// Address range: 0x1400124c0 - 0x1400124c6 | |
int64_t function_1400124c0(void) { | |
// 0x1400124c0 | |
int64_t v1; // 0x1400124c0 | |
int64_t v2; // 0x1400124c0 | |
int64_t v3; // 0x1400124c0 | |
return function_1400124a0((int32_t)v3, v2, (int32_t)v1); | |
} | |
// Address range: 0x1400124d0 - 0x1400124ed | |
int64_t function_1400124d0(int64_t a1, int64_t a2) { | |
// 0x1400124d0 | |
int64_t v1; // 0x1400124d0 | |
return function_140004714((int32_t)v1, a1); | |
} | |
// Address range: 0x1400124ee - 0x140012505 | |
int64_t function_1400124ee(int64_t a1, int64_t a2) { | |
// 0x1400124ee | |
int64_t v1; // 0x1400124ee | |
return (bool)((int32_t)v1 == -0x3ffffffb); | |
} | |
// Address range: 0x140012506 - 0x14001259b | |
int64_t function_140012506(int64_t a1, int64_t a2) { | |
// 0x140012506 | |
*(int64_t *)(a2 + 56) = a1; | |
int64_t * v1 = (int64_t *)(a2 + 48); // 0x140012514 | |
*v1 = a1; | |
if (*(char *)(a2 + 88) == 0) { | |
// 0x14001258a | |
*(int32_t *)(a2 + 32) = 0; | |
return 0; | |
} | |
int64_t v2 = *(int64_t *)a1; // 0x140012522 | |
int64_t * v3 = (int64_t *)(a2 + 40); // 0x140012525 | |
*v3 = v2; | |
if (*(int32_t *)v2 != -0x1f928c9d || *(int32_t *)(v2 + 24) != 4) { | |
// 0x14001258a | |
*(int32_t *)(a2 + 32) = 0; | |
return 0; | |
} | |
int32_t v4 = *(int32_t *)(v2 + 32); // 0x140012543 | |
if ((v4 & -2) != 0x19930520 != v4 != 0x19930522) { | |
int64_t v5 = __vcrt_getptd(); // 0x140012566 | |
int64_t v6 = *v3; // 0x14001256b | |
*(int64_t *)(v5 + 32) = v6; | |
*(int64_t *)(__vcrt_getptd() + 40) = *(int64_t *)(*v1 + 8); | |
int64_t v7; // 0x140012506 | |
terminate(v6, a2, v7); | |
} | |
// 0x14001258a | |
*(int32_t *)(a2 + 32) = 0; | |
return 0; | |
} | |
// Address range: 0x14001259c - 0x1400125b6 | |
int64_t function_14001259c(void) { | |
// 0x14001259c | |
int64_t v1; // 0x14001259c | |
LeaveCriticalSection((struct _RTL_CRITICAL_SECTION *)*(int64_t *)*(int64_t *)(v1 + 72)); | |
return &g113; | |
} | |
// Address range: 0x1400125b7 - 0x1400125d0 | |
int64_t function_1400125b7(void) { | |
// 0x1400125b7 | |
int64_t v1; // 0x1400125b7 | |
return __acrt_lock2(*(int32_t *)*(int64_t *)(v1 + 72), v1); | |
} | |
// Address range: 0x1400125d1 - 0x1400125eb | |
int64_t function_1400125d1(int64_t result, int64_t a2) { | |
// 0x1400125d1 | |
return result; | |
} | |
// Address range: 0x1400125ec - 0x140012605 | |
int64_t function_1400125ec(void) { | |
// 0x1400125ec | |
int64_t v1; // 0x1400125ec | |
return __acrt_lock2(*(int32_t *)*(int64_t *)(v1 + 88), v1); | |
} | |
// Address range: 0x14001261f - 0x14001263b | |
int64_t function_14001261f(void) { | |
// 0x14001261f | |
int64_t v1; // 0x14001261f | |
return __acrt_lock2(*(int32_t *)*(int64_t *)(v1 + 152), v1); | |
} | |
// Address range: 0x14001269d - 0x1400126bd | |
int64_t function_14001269d(void) { | |
// 0x14001269d | |
int64_t result; // 0x14001269d | |
int64_t v1; // 0x14001269d | |
if (*(char *)(v1 + 112) != 0) { | |
// 0x1400126ac | |
result = __acrt_lock2(3, v1); | |
} | |
// 0x1400126b7 | |
return result; | |
} | |
// Address range: 0x1400126be - 0x1400126d5 | |
int64_t function_1400126be(void) { | |
// 0x1400126be | |
int64_t v1; // 0x1400126be | |
LeaveCriticalSection((struct _RTL_CRITICAL_SECTION *)*(int64_t *)(v1 + 48)); | |
return &g113; | |
} | |
// Address range: 0x1400126d6 - 0x1400126ef | |
int64_t function_1400126d6(void) { | |
// 0x1400126d6 | |
int64_t v1; // 0x1400126d6 | |
return function_14000acfc(*(int32_t *)*(int64_t *)(v1 + 72)); | |
} | |
// Address range: 0x1400126f0 - 0x140012706 | |
int64_t function_1400126f0(void) { | |
// 0x1400126f0 | |
int64_t v1; // 0x1400126f0 | |
return function_14000acfc(*(int32_t *)(v1 + 80)); | |
} | |
// Address range: 0x140012707 - 0x140012732 | |
int64_t function_140012707(int64_t a1, int64_t a2) { | |
int64_t result = 0; // 0x140012707 | |
int64_t v1; // 0x140012707 | |
switch ((int32_t)v1) { | |
case -0x3ffffffb: { | |
} | |
case -0x3fffffe3: { | |
// 0x140012727 | |
result = 1; | |
// break -> 0x14001272c | |
break; | |
} | |
} | |
// 0x14001272c | |
return result; | |
} | |
// Address range: 0x140012740 - 0x14001275f | |
int64_t function_140012740(int64_t a1, int64_t a2) { | |
// 0x140012740 | |
int64_t v1; // 0x140012740 | |
return (bool)((int32_t)v1 == -0x3ffffffb); | |
} | |
// --------------- Statically Linked Functions ---------------- | |
// void _3f__3f__24_common_get_or_create_environment_nolock_40_D_40__40_YAPEAPEADXZ(void); | |
// void _3f__3f__24_free_environment_40_D_40__40_YAXQEAPEAD_40_Z(char ** a1); | |
// void _3f_capture_current_context_40__40_YAXQEAU_CONTEXT_40__40__40_Z(int64_t * a1); | |
// void _3f_common_exit_40__40_YAXHW4_crt_exit_cleanup_mode_40__40_W4_crt_exit_return_mode_40__40__40_Z(int32_t a1, int64_t a2, int64_t a3); | |
// void _3f_construct_ptd_array_40__40_YAXQEAU__acrt_ptd_40__40__40_Z(int64_t * a1); | |
// void _3f_getSystemCP_40__40_YAHH_40_Z(int32_t a1); | |
// void _3f_setSBCS_40__40_YAXPEAU__crt_multibyte_data_40__40__40_Z(int64_t * a1); | |
// void _3f_x_ismbbtype_l_40__40_YAHPEAU__crt_locale_pointers_40__40_IHH_40_Z(int64_t * a1, int32_t a2, int32_t a3, int32_t a4); | |
// int64_t __acrt_add_locale_ref(int64_t a1); | |
// int64_t __acrt_AppPolicyGetProcessTerminationMethodInternal(int32_t * a1); | |
// int64_t __acrt_AreFileApisANSI(void); | |
// int64_t __acrt_call_reportfault(int64_t a1, int64_t a2, int64_t a3); | |
// int64_t __acrt_CompareStringEx(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
// int64_t __acrt_errno_map_os_error(int64_t a1, int64_t a2, int64_t a3); | |
// int64_t __acrt_FlsAlloc(int64_t a1); | |
// int64_t __acrt_FlsGetValue(int32_t a1); | |
// int64_t __acrt_FlsSetValue(int32_t a1, int64_t a2); | |
// int64_t __acrt_free_locale(int64_t a1); | |
// int64_t __acrt_has_user_matherr(void); | |
// int64_t __acrt_initialize_multibyte(void); | |
// int64_t __acrt_initialize_signal_handlers(int64_t a1); | |
// int64_t __acrt_InitializeCriticalSectionEx(int64_t a1, int64_t a2, int32_t a3); | |
// int64_t __acrt_invoke_user_matherr(int32_t * a1); | |
// _ACRTIMP_ALT FILE * __cdecl __acrt_iob_func(unsigned); | |
// int64_t __acrt_LCMapStringA(int32_t a1, int64_t a2, int64_t a3, int64_t * a4, int64_t a5, int64_t * a6, int64_t a7, int64_t a8, int32_t a9); | |
// int64_t __acrt_LCMapStringEx(int64_t a1, int64_t a2, int64_t a3, int64_t a4); | |
// int64_t __acrt_lock(int32_t a1); | |
// int64_t __acrt_lock2(int32_t a1, int64_t a2); | |
// int64_t __acrt_release_locale_ref(int64_t a1); | |
// int64_t __acrt_uninitialize_locks(void); | |
// int64_t __acrt_uninitialize_ptd(void); | |
// int64_t __acrt_uninitialize_ptd2(int32_t a1); | |
// int64_t __acrt_update_locale_info(int64_t a1, int64_t a2); | |
// int64_t __acrt_update_locale_info2(int64_t a1, int64_t a2); | |
// int64_t __chkstk(int64_t a1, int64_t a2, int64_t a3); | |
// int64_t __dcrt_uninitialize_environments_nolock(void); | |
// unsigned long * __cdecl __doserrno(void); | |
// const unsigned short * __pctype_func(void); | |
// int64_t __raise_securityfailure(int64_t a1); | |
// int64_t __scrt_acquire_startup_lock(void); | |
// int64_t __scrt_release_startup_lock(int64_t a1); | |
// void __setusermatherr(_HANDLE_MATH_ERROR pf); | |
// int __cdecl __stdio_common_vfprintf(_In_ unsigned __int64 Options, _Inout_ FILE * Stream, _In_z_ char const * Format, _In_opt_ _locale_t Locale, va_list ArgList); | |
// int64_t __vcrt_getptd(void); | |
// int64_t __vcrt_initialize_locks(void); | |
// int __cdecl _callnewh(_In_ size_t Size); | |
// void * __cdecl _calloc_base(_In_ size_t Count, _In_ size_t Size); | |
// int __cdecl _configthreadlocale(_In_ int Flag); | |
// int * __cdecl _errno(void); | |
// int __cdecl _fileno(_In_ FILE * Stream); | |
// int64_t _FindPESection(int64_t a1, int64_t a2); | |
// void __cdecl _free_base(void * Block); | |
// char ** __cdecl _get_initial_narrow_environment(void); | |
// int __cdecl _get_printf_count_output(void); | |
// void __cdecl _initterm(_In_ _PVFV * First, _In_ _PVFV * Last); | |
// int __cdecl _initterm_e(_PIFV * First, _In_ _PIFV * Last); | |
// void __cdecl _invalid_parameter(wchar_t const *, wchar_t const *, wchar_t const *, _In_ unsigned int, _In_ uintptr_t); | |
// void * __cdecl _malloc_base(_In_ size_t Size); | |
// int64_t _msize_base(void); | |
// int64_t _NLG_Notify(int64_t a1, int64_t a2, int64_t a3); | |
// int64_t _set_errno_from_matherr(int64_t a1); | |
// errno_t __cdecl _set_fmode(_In_ int Mode); | |
// int __cdecl _set_new_mode(_In_ int NewMode); | |
// int __cdecl _strnicmp(char const * String1, char const * String2, _In_ size_t MaxCount); | |
// int __cdecl _strnicoll_l(char const * String1, char const * String2, _In_ size_t MaxCount, _In_opt_ _locale_t Locale); | |
// int64_t capture_previous_context(int64_t * a1); | |
// double ceil(double); | |
// void free(void * ptr); | |
// double log10(double); | |
// errno_t memcpy_s(void * const Destination, _In_ rsize_t const DestinationSize, void const * const Source, _In_ rsize_t const SourceSize); | |
// errno_t __cdecl strcpy_s(char * Destination, _In_ rsize_t SizeInBytes, _In_z_ char const * Source); | |
// int64_t terminate(int64_t a1, int64_t a2, int64_t a3); | |
// int wcsncmp(const wchar_t * s1, const wchar_t * s2, size_t n); | |
// --------------- Dynamically Linked Functions --------------- | |
// BOOL CloseHandle(_In_ HANDLE hObject); | |
// HANDLE CreateFileW(_In_ LPCWSTR lpFileName, _In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _In_ DWORD dwCreationDisposition, _In_ DWORD dwFlagsAndAttributes, _In_opt_ HANDLE hTemplateFile); | |
// VOID DeleteCriticalSection(_Inout_ LPCRITICAL_SECTION lpCriticalSection); | |
// VOID EnterCriticalSection(_Inout_ LPCRITICAL_SECTION lpCriticalSection); | |
// HANDLE FindFirstFileExW(_In_ LPCWSTR lpFileName, _In_ FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, _In_ FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, _In_ DWORD dwAdditionalFlags); | |
// BOOL FlushFileBuffers(_In_ HANDLE hFile); | |
// BOOL FreeEnvironmentStringsW(_In_ LPWCH penv); | |
// BOOL FreeLibrary(_In_ HMODULE hLibModule); | |
// BOOL GetConsoleMode(_In_ HANDLE hConsoleHandle, _Out_ LPDWORD lpMode); | |
// UINT GetConsoleOutputCP(VOID); | |
// BOOL GetCPInfo(_In_ UINT CodePage, _Out_ LPCPINFO lpCPInfo); | |
// HANDLE GetCurrentProcess(VOID); | |
// DWORD GetCurrentProcessId(VOID); | |
// DWORD GetCurrentThreadId(VOID); | |
// LPWCH GetEnvironmentStringsW(void); | |
// BOOL GetFileSizeEx(_In_ HANDLE hFile, _Out_ PLARGE_INTEGER lpFileSize); | |
// DWORD GetFileType(_In_ HANDLE hFile); | |
// DWORD GetLastError(VOID); | |
// DWORD GetModuleFileNameW(_In_opt_ HMODULE hModule, LPWSTR lpFilename, _In_ DWORD nSize); | |
// HMODULE GetModuleHandleW(_In_opt_ LPCWSTR lpModuleName); | |
// FARPROC GetProcAddress(_In_ HMODULE hModule, _In_ LPCSTR lpProcName); | |
// VOID GetStartupInfoW(_Out_ LPSTARTUPINFOW lpStartupInfo); | |
// HANDLE GetStdHandle(_In_ DWORD nStdHandle); | |
// BOOL GetStringTypeW(_In_ DWORD dwInfoType, LPCWCH lpSrcStr, _In_ int cchSrc, _Out_ LPWORD lpCharType); | |
// VOID GetSystemTimeAsFileTime(_Out_ LPFILETIME lpSystemTimeAsFileTime); | |
// LPVOID HeapReAlloc(_Inout_ HANDLE hHeap, _In_ DWORD dwFlags, LPVOID lpMem, _In_ SIZE_T dwBytes); | |
// BOOL InitializeCriticalSectionAndSpinCount(_Out_ LPCRITICAL_SECTION lpCriticalSection, _In_ DWORD dwSpinCount); | |
// VOID InitializeSListHead(_Out_ PSLIST_HEADER ListHead); | |
// BOOL IsDebuggerPresent(VOID); | |
// BOOL IsProcessorFeaturePresent(_In_ DWORD ProcessorFeature); | |
// BOOL IsValidCodePage(_In_ UINT CodePage); | |
// VOID LeaveCriticalSection(_Inout_ LPCRITICAL_SECTION lpCriticalSection); | |
// HMODULE LoadLibraryExW(_In_ LPCWSTR lpLibFileName, HANDLE hFile, _In_ DWORD dwFlags); | |
// int MultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, LPCCH lpMultiByteStr, _In_ int cbMultiByte, LPWSTR lpWideCharStr, _In_ int cchWideChar); | |
// BOOL QueryPerformanceCounter(_Out_ LARGE_INTEGER * lpPerformanceCount); | |
// VOID RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, const ULONG_PTR * lpArguments); | |
// VOID RtlCaptureContext(_Out_ PCONTEXT ContextRecord); | |
// PRUNTIME_FUNCTION RtlLookupFunctionEntry(_In_ ULONG64 ControlPc, _Out_ PULONG64 ImageBase, _Inout_opt_ PUNWIND_HISTORY_TABLE HistoryTable); | |
// VOID RtlUnwindEx(_In_opt_ PVOID TargetFrame, _In_opt_ PVOID TargetIp, _In_opt_ PEXCEPTION_RECORD ExceptionRecord, _In_ PVOID ReturnValue, _In_ PCONTEXT ContextRecord, _In_opt_ PUNWIND_HISTORY_TABLE HistoryTable); | |
// PEXCEPTION_ROUTINE RtlVirtualUnwind(_In_ ULONG HandlerType, _In_ ULONG64 ImageBase, _In_ ULONG64 ControlPc, _In_ PRUNTIME_FUNCTION FunctionEntry, _Inout_ PCONTEXT ContextRecord, _Out_ PVOID * HandlerData, _Out_ PULONG64 EstablisherFrame, _Inout_opt_ PKNONVOLATILE_CONTEXT_POINTERS ContextPointers); | |
// BOOL SetEnvironmentVariableW(_In_ LPCWSTR lpName, _In_opt_ LPCWSTR lpValue); | |
// BOOL SetFilePointerEx(_In_ HANDLE hFile, _In_ LARGE_INTEGER liDistanceToMove, _Out_opt_ PLARGE_INTEGER lpNewFilePointer, _In_ DWORD dwMoveMethod); | |
// VOID SetLastError(_In_ DWORD dwErrCode); | |
// BOOL SetStdHandle(_In_ DWORD nStdHandle, _In_ HANDLE hHandle); | |
// LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(_In_opt_ LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter); | |
// BOOL TerminateProcess(_In_ HANDLE hProcess, _In_ UINT uExitCode); | |
// DWORD TlsAlloc(VOID); | |
// BOOL TlsFree(_In_ DWORD dwTlsIndex); | |
// LPVOID TlsGetValue(_In_ DWORD dwTlsIndex); | |
// BOOL TlsSetValue(_In_ DWORD dwTlsIndex, _In_opt_ LPVOID lpTlsValue); | |
// LONG UnhandledExceptionFilter(_In_ struct _EXCEPTION_POINTERS * ExceptionInfo); | |
// int WideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, LPCWCH lpWideCharStr, _In_ int cchWideChar, LPSTR lpMultiByteStr, _In_ int cbMultiByte, _In_opt_ LPCCH lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar); | |
// BOOL WriteConsoleW(_In_ HANDLE hConsoleOutput, const VOID * lpBuffer, _In_ DWORD nNumberOfCharsToWrite, _Out_opt_ LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved); | |
// BOOL WriteFile(_In_ HANDLE hFile, LPCVOID lpBuffer, _In_ DWORD nNumberOfBytesToWrite, _Out_opt_ LPDWORD lpNumberOfBytesWritten, _Inout_opt_ LPOVERLAPPED lpOverlapped); | |
// --------------------- Meta-Information --------------------- | |
// Detected compiler/packer: msvc | |
// Detected functions: 328 |
{ | |
"date": "2022-06-04", | |
"time": "09:19:18", | |
"inputFile": "[cwd]\\hello.exe", | |
"entryPoint": "0x140001370", | |
"imageBase": "0x140000000", | |
"decompParams": { | |
"verboseOut": false, | |
"keepAllFuncs": false, | |
"selectedDecodeOnly": false, | |
"outputFile": "[cwd]\\hello.exe.c", | |
"ordinalNumDirectory": "retdec\\bin\\..\\share\\retdec\\support\\x86\\ords\\", | |
"staticSignPaths": [ | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/ucrt/x64-debug.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/ucrt/x64.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-debug-vs-2010.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-debug-vs-2012.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-debug-vs-2013.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-debug-vs-2015.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-debug-vs-2017.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-mingw-4.9.0.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-vs-2010.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-vs-2012.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-vs-2013.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-vs-2015.yarac", | |
"retdec/bin/../share/retdec/support/generic/yara_patterns/static-code/pe/64/le/x86/x64-vs-2017.yarac" | |
], | |
"libraryTypeInfoPaths": [ | |
"retdec/bin/../share/retdec/support/generic/types/arm.json", | |
"retdec/bin/../share/retdec/support/generic/types/cstdlib.json", | |
"retdec/bin/../share/retdec/support/generic/types/linux.json", | |
"retdec/bin/../share/retdec/support/generic/types/windows.json", | |
"retdec/bin/../share/retdec/support/generic/types/windrivers.json" | |
], | |
"frontendFunctions": [ | |
"__decompiler_undefined_function_" | |
] | |
}, | |
"architecture": { | |
"name": "x86-64", | |
"bitSize": 64, | |
"endian": "little" | |
}, | |
"fileType": "executable", | |
"fileFormat": "pe64", | |
"tools": [ | |
{ | |
"type": "compiler", | |
"name": "msvc", | |
"percentage": 1.0, | |
"percentage": 0, | |
"percentage": 0, | |
"heuristics": false | |
}, | |
{ | |
"type": "linker", | |
"name": "microsoft", | |
"percentage": 0.0, | |
"percentage": 0, | |
"percentage": 0, | |
"heuristics": true | |
} | |
], | |
"functions": [ | |
{ | |
"name": "??$common_get_or_create_environment_nolock@D@@YAPEAPEADXZ", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "char ** __cdecl common_get_or_create_environment_nolock<char>(void)", | |
"startAddr": "0x140004f94", | |
"endAddr": "0x140004fcf", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "??$free_environment@D@@YAXQEAPEAD@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "void __cdecl free_environment<char>(char **const)", | |
"startAddr": "0x140004e44", | |
"endAddr": "0x140004e85", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8**" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "??$uninitialize_environment_internal@D@@YAXAEAPEAPEAD@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "void __cdecl uninitialize_environment_internal<char>(char **&)", | |
"startAddr": "0x140004f5c", | |
"endAddr": "0x140004f76", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8***" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "??$uninitialize_environment_internal@D@@[email protected]", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"realName": "??$uninitialize_environment_internal@D@@YAXAEAPEAPEAD@Z", | |
"demangledName": "void __cdecl uninitialize_environment_internal<char>(char **&)", | |
"startAddr": "0x140004f78", | |
"endAddr": "0x140004f92", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8***" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "?capture_current_context@@YAXQEAU_CONTEXT@@@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "void __cdecl capture_current_context(struct _CONTEXT *const)", | |
"startAddr": "0x1400120a8", | |
"endAddr": "0x140012115", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "?common_exit@@YAXHW4_crt_exit_cleanup_mode@@W4_crt_exit_return_mode@@@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "void __cdecl common_exit(int, enum _crt_exit_cleanup_mode, enum _crt_exit_return_mode)", | |
"startAddr": "0x14000520c", | |
"endAddr": "0x1400052c7", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "?construct_ptd_array@@YAXQEAU__acrt_ptd@@@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "void __cdecl construct_ptd_array(struct __acrt_ptd *const)", | |
"startAddr": "0x1400078f4", | |
"endAddr": "0x1400079c1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "?destroy_fls@@YAXPEAX@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "void __cdecl destroy_fls(void *)", | |
"startAddr": "0x1400079c4", | |
"endAddr": "0x1400079e4", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "?destroy_ptd_array@@YAXQEAU__acrt_ptd@@@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "void __cdecl destroy_ptd_array(struct __acrt_ptd *const)", | |
"startAddr": "0x1400079e4", | |
"endAddr": "0x140007ad9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "?exit_or_terminate_process@@YAXI@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "void __cdecl exit_or_terminate_process(unsigned int)", | |
"startAddr": "0x1400052c8", | |
"endAddr": "0x140005311", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "?fin$0@?0??__acrt_stdio_allocate_stream@@YA?AV__crt_stdio_stream@@XZ@4HA", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"demangledName": "int `class __crt_stdio_stream __cdecl __acrt_stdio_allocate_stream(void)'::`1'::fin$0", | |
"startAddr": "0x140012606", | |
"endAddr": "0x14001261e", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "?fin$0@?0??update_thread_multibyte_data_internal@@YAPEAU__crt_multibyte_data@@QEAU__acrt_ptd@@QEAU1@@Z@4HA", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"demangledName": "int `struct __crt_multibyte_data * __cdecl update_thread_multibyte_data_internal(struct __acrt_ptd *const, struct update_thread_multibyte_data_internal *const)'::`1'::fin$0", | |
"startAddr": "0x140012655", | |
"endAddr": "0x14001266d", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "?getSystemCP@@YAHH@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "int __cdecl getSystemCP(int)", | |
"startAddr": "0x140009af0", | |
"endAddr": "0x140009b6d", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "?setSBCS@@YAXPEAU__crt_multibyte_data@@@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "void __cdecl setSBCS(struct __crt_multibyte_data *)", | |
"startAddr": "0x140009b70", | |
"endAddr": "0x140009c00", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "?try_cor_exit_process@@YAXI@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "void __cdecl try_cor_exit_process(unsigned int)", | |
"startAddr": "0x140005314", | |
"endAddr": "0x14000536f", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "?x_ismbbtype_l@@YAHPEAU__crt_locale_pointers@@IHH@Z", | |
"callingConvention": "cdecl", | |
"fncType": "staticallyLinked", | |
"demangledName": "int __cdecl x_ismbbtype_l(struct __crt_locale_pointers *, unsigned int, int, int)", | |
"startAddr": "0x14000a394", | |
"endAddr": "0x14000a409", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "CloseHandle", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL CloseHandle(_In_ HANDLE hObject);", | |
"startAddr": "0x140013210", | |
"endAddr": "0x140013211", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hObject", | |
"realName": "hObject", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "CompareStringW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "int CompareStringW(_In_ LCID Locale, _In_ DWORD dwCmpFlags, PCNZWCH lpString1, _In_ int cchCount1, PCNZWCH lpString2, _In_ int cchCount2);", | |
"startAddr": "0x140013148", | |
"endAddr": "0x140013149", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "Locale", | |
"realName": "Locale", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "dwCmpFlags", | |
"realName": "dwCmpFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpString1", | |
"realName": "lpString1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "cchCount1", | |
"realName": "cchCount1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpString2", | |
"realName": "lpString2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "cchCount2", | |
"realName": "cchCount2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "CreateFileW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "HANDLE CreateFileW(_In_ LPCWSTR lpFileName, _In_ DWORD dwDesiredAccess, _In_ DWORD dwShareMode, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _In_ DWORD dwCreationDisposition, _In_ DWORD dwFlagsAndAttributes, _In_opt_ HANDLE hTemplateFile);", | |
"startAddr": "0x140013218", | |
"endAddr": "0x140013219", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpFileName", | |
"realName": "lpFileName", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "dwDesiredAccess", | |
"realName": "dwDesiredAccess", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "dwShareMode", | |
"realName": "dwShareMode", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpSecurityAttributes", | |
"realName": "lpSecurityAttributes", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_SECURITY_ATTRIBUTES*" | |
} | |
}, | |
{ | |
"name": "dwCreationDisposition", | |
"realName": "dwCreationDisposition", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "dwFlagsAndAttributes", | |
"realName": "dwFlagsAndAttributes", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "hTemplateFile", | |
"realName": "hTemplateFile", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "DeleteCriticalSection", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID DeleteCriticalSection(_Inout_ LPCRITICAL_SECTION lpCriticalSection);", | |
"startAddr": "0x1400130a0", | |
"endAddr": "0x1400130a1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpCriticalSection", | |
"realName": "lpCriticalSection", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_RTL_CRITICAL_SECTION*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "EnterCriticalSection", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID EnterCriticalSection(_Inout_ LPCRITICAL_SECTION lpCriticalSection);", | |
"startAddr": "0x140013090", | |
"endAddr": "0x140013091", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpCriticalSection", | |
"realName": "lpCriticalSection", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_RTL_CRITICAL_SECTION*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "ExitProcess", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID ExitProcess(_In_ UINT uExitCode);", | |
"startAddr": "0x140013110", | |
"endAddr": "0x140013111", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "uExitCode", | |
"realName": "uExitCode", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "FindClose", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL FindClose(_Inout_ HANDLE hFindFile);", | |
"startAddr": "0x140013160", | |
"endAddr": "0x140013161", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hFindFile", | |
"realName": "hFindFile", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "FindFirstFileExW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "HANDLE FindFirstFileExW(_In_ LPCWSTR lpFileName, _In_ FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, _In_ FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, _In_ DWORD dwAdditionalFlags);", | |
"startAddr": "0x140013168", | |
"endAddr": "0x140013169", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpFileName", | |
"realName": "lpFileName", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "fInfoLevelId", | |
"realName": "fInfoLevelId", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "lpFindFileData", | |
"realName": "lpFindFileData", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "fSearchOp", | |
"realName": "fSearchOp", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "lpSearchFilter", | |
"realName": "lpSearchFilter", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "dwAdditionalFlags", | |
"realName": "dwAdditionalFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "FindNextFileW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL FindNextFileW(_In_ HANDLE hFindFile, _Out_ LPWIN32_FIND_DATAW lpFindFileData);", | |
"startAddr": "0x140013170", | |
"endAddr": "0x140013171", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hFindFile", | |
"realName": "hFindFile", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "lpFindFileData", | |
"realName": "lpFindFileData", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_WIN32_FIND_DATAW*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "FlushFileBuffers", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL FlushFileBuffers(_In_ HANDLE hFile);", | |
"startAddr": "0x1400131d8", | |
"endAddr": "0x1400131d9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hFile", | |
"realName": "hFile", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "FreeEnvironmentStringsW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL FreeEnvironmentStringsW(_In_ LPWCH penv);", | |
"startAddr": "0x1400131b0", | |
"endAddr": "0x1400131b1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "penv", | |
"realName": "penv", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "FreeLibrary", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL FreeLibrary(_In_ HMODULE hLibModule);", | |
"startAddr": "0x1400130d0", | |
"endAddr": "0x1400130d1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hLibModule", | |
"realName": "hLibModule", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetACP", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "UINT GetACP(void);", | |
"startAddr": "0x140013180", | |
"endAddr": "0x140013181", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetCPInfo", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL GetCPInfo(_In_ UINT CodePage, _Out_ LPCPINFO lpCPInfo);", | |
"startAddr": "0x140013190", | |
"endAddr": "0x140013191", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "CodePage", | |
"realName": "CodePage", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpCPInfo", | |
"realName": "lpCPInfo", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_cpinfo*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetCommandLineA", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "LPSTR GetCommandLineA(VOID);", | |
"startAddr": "0x140013128", | |
"endAddr": "0x140013129", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetCommandLineW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "LPWSTR GetCommandLineW(VOID);", | |
"startAddr": "0x140013130", | |
"endAddr": "0x140013131", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetConsoleMode", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL GetConsoleMode(_In_ HANDLE hConsoleHandle, _Out_ LPDWORD lpMode);", | |
"startAddr": "0x1400131e8", | |
"endAddr": "0x1400131e9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hConsoleHandle", | |
"realName": "hConsoleHandle", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "lpMode", | |
"realName": "lpMode", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetConsoleOutputCP", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "UINT GetConsoleOutputCP(VOID);", | |
"startAddr": "0x1400131e0", | |
"endAddr": "0x1400131e1", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetCurrentProcess", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "HANDLE GetCurrentProcess(VOID);", | |
"startAddr": "0x140013108", | |
"endAddr": "0x140013109", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetCurrentProcessId", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "DWORD GetCurrentProcessId(VOID);", | |
"startAddr": "0x140013008", | |
"endAddr": "0x140013009", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetCurrentThreadId", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "DWORD GetCurrentThreadId(VOID);", | |
"startAddr": "0x140013010", | |
"endAddr": "0x140013011", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetEnvironmentStringsW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "LPWCH GetEnvironmentStringsW(void);", | |
"startAddr": "0x1400131a8", | |
"endAddr": "0x1400131a9", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetFileSizeEx", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL GetFileSizeEx(_In_ HANDLE hFile, _Out_ PLARGE_INTEGER lpFileSize);", | |
"startAddr": "0x1400131f0", | |
"endAddr": "0x1400131f1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hFile", | |
"realName": "hFile", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "lpFileSize", | |
"realName": "lpFileSize", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_LARGE_INTEGER*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetFileType", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "DWORD GetFileType(_In_ HANDLE hFile);", | |
"startAddr": "0x140013158", | |
"endAddr": "0x140013159", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hFile", | |
"realName": "hFile", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetLastError", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "DWORD GetLastError(VOID);", | |
"startAddr": "0x140013080", | |
"endAddr": "0x140013081", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetModuleFileNameW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "DWORD GetModuleFileNameW(_In_opt_ HMODULE hModule, LPWSTR lpFilename, _In_ DWORD nSize);", | |
"startAddr": "0x140013100", | |
"endAddr": "0x140013101", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hModule", | |
"realName": "hModule", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "lpFilename", | |
"realName": "lpFilename", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "nSize", | |
"realName": "nSize", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetModuleHandleExW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL GetModuleHandleExW(_In_ DWORD dwFlags, _In_opt_ LPCWSTR lpModuleName, _Out_ HMODULE * phModule);", | |
"startAddr": "0x140013120", | |
"endAddr": "0x140013121", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "dwFlags", | |
"realName": "dwFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpModuleName", | |
"realName": "lpModuleName", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "phModule", | |
"realName": "phModule", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64**" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetModuleHandleW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "HMODULE GetModuleHandleW(_In_opt_ LPCWSTR lpModuleName);", | |
"startAddr": "0x140013068", | |
"endAddr": "0x140013069", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpModuleName", | |
"realName": "lpModuleName", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetOEMCP", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "UINT GetOEMCP(void);", | |
"startAddr": "0x140013188", | |
"endAddr": "0x140013189", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetProcAddress", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "FARPROC GetProcAddress(_In_ HMODULE hModule, _In_ LPCSTR lpProcName);", | |
"startAddr": "0x1400130d8", | |
"endAddr": "0x1400130d9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hModule", | |
"realName": "hModule", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "lpProcName", | |
"realName": "lpProcName", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetProcessHeap", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "HANDLE GetProcessHeap(VOID);", | |
"startAddr": "0x1400131d0", | |
"endAddr": "0x1400131d1", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "GetStartupInfoW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID GetStartupInfoW(_Out_ LPSTARTUPINFOW lpStartupInfo);", | |
"startAddr": "0x140013058", | |
"endAddr": "0x140013059", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpStartupInfo", | |
"realName": "lpStartupInfo", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_STARTUPINFOW*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetStdHandle", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "HANDLE GetStdHandle(_In_ DWORD nStdHandle);", | |
"startAddr": "0x1400130f0", | |
"endAddr": "0x1400130f1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "nStdHandle", | |
"realName": "nStdHandle", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetStringTypeW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL GetStringTypeW(_In_ DWORD dwInfoType, LPCWCH lpSrcStr, _In_ int cchSrc, _Out_ LPWORD lpCharType);", | |
"startAddr": "0x1400131c8", | |
"endAddr": "0x1400131c9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "dwInfoType", | |
"realName": "dwInfoType", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpSrcStr", | |
"realName": "lpSrcStr", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "cchSrc", | |
"realName": "cchSrc", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpCharType", | |
"realName": "lpCharType", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "GetSystemTimeAsFileTime", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID GetSystemTimeAsFileTime(_Out_ LPFILETIME lpSystemTimeAsFileTime);", | |
"startAddr": "0x140013018", | |
"endAddr": "0x140013019", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpSystemTimeAsFileTime", | |
"realName": "lpSystemTimeAsFileTime", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_FILETIME*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "HeapAlloc", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "LPVOID HeapAlloc(_In_ HANDLE hHeap, _In_ DWORD dwFlags, _In_ SIZE_T dwBytes);", | |
"startAddr": "0x140013138", | |
"endAddr": "0x140013139", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hHeap", | |
"realName": "hHeap", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "dwFlags", | |
"realName": "dwFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "dwBytes", | |
"realName": "dwBytes", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "HeapFree", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL HeapFree(_Inout_ HANDLE hHeap, _In_ DWORD dwFlags, LPVOID lpMem);", | |
"startAddr": "0x140013140", | |
"endAddr": "0x140013141", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hHeap", | |
"realName": "hHeap", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "dwFlags", | |
"realName": "dwFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpMem", | |
"realName": "lpMem", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "HeapReAlloc", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "LPVOID HeapReAlloc(_Inout_ HANDLE hHeap, _In_ DWORD dwFlags, LPVOID lpMem, _In_ SIZE_T dwBytes);", | |
"startAddr": "0x140013208", | |
"endAddr": "0x140013209", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hHeap", | |
"realName": "hHeap", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "dwFlags", | |
"realName": "dwFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpMem", | |
"realName": "lpMem", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "dwBytes", | |
"realName": "dwBytes", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "HeapSize", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "SIZE_T HeapSize(_In_ HANDLE hHeap, _In_ DWORD dwFlags, _In_ LPCVOID lpMem);", | |
"startAddr": "0x140013200", | |
"endAddr": "0x140013201", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hHeap", | |
"realName": "hHeap", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "dwFlags", | |
"realName": "dwFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpMem", | |
"realName": "lpMem", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "InitializeCriticalSectionAndSpinCount", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL InitializeCriticalSectionAndSpinCount(_Out_ LPCRITICAL_SECTION lpCriticalSection, _In_ DWORD dwSpinCount);", | |
"startAddr": "0x1400130a8", | |
"endAddr": "0x1400130a9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpCriticalSection", | |
"realName": "lpCriticalSection", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_RTL_CRITICAL_SECTION*" | |
} | |
}, | |
{ | |
"name": "dwSpinCount", | |
"realName": "dwSpinCount", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "InitializeSListHead", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID InitializeSListHead(_Out_ PSLIST_HEADER ListHead);", | |
"startAddr": "0x140013020", | |
"endAddr": "0x140013021", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "ListHead", | |
"realName": "ListHead", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "IsDebuggerPresent", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL IsDebuggerPresent(VOID);", | |
"startAddr": "0x140013040", | |
"endAddr": "0x140013041", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "IsProcessorFeaturePresent", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL IsProcessorFeaturePresent(_In_ DWORD ProcessorFeature);", | |
"startAddr": "0x140013060", | |
"endAddr": "0x140013061", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "ProcessorFeature", | |
"realName": "ProcessorFeature", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "IsValidCodePage", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL IsValidCodePage(_In_ UINT CodePage);", | |
"startAddr": "0x140013178", | |
"endAddr": "0x140013179", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "CodePage", | |
"realName": "CodePage", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "LCMapStringW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "int LCMapStringW(_In_ LCID Locale, _In_ DWORD dwMapFlags, LPCWSTR lpSrcStr, _In_ int cchSrc, LPWSTR lpDestStr, _In_ int cchDest);", | |
"startAddr": "0x140013150", | |
"endAddr": "0x140013151", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "Locale", | |
"realName": "Locale", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "dwMapFlags", | |
"realName": "dwMapFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpSrcStr", | |
"realName": "lpSrcStr", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "cchSrc", | |
"realName": "cchSrc", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpDestStr", | |
"realName": "lpDestStr", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "cchDest", | |
"realName": "cchDest", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "LeaveCriticalSection", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID LeaveCriticalSection(_Inout_ LPCRITICAL_SECTION lpCriticalSection);", | |
"startAddr": "0x140013098", | |
"endAddr": "0x140013099", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpCriticalSection", | |
"realName": "lpCriticalSection", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_RTL_CRITICAL_SECTION*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "LoadLibraryExW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "HMODULE LoadLibraryExW(_In_ LPCWSTR lpLibFileName, HANDLE hFile, _In_ DWORD dwFlags);", | |
"startAddr": "0x1400130e0", | |
"endAddr": "0x1400130e1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpLibFileName", | |
"realName": "lpLibFileName", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "hFile", | |
"realName": "hFile", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "dwFlags", | |
"realName": "dwFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "MultiByteToWideChar", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "int MultiByteToWideChar(_In_ UINT CodePage, _In_ DWORD dwFlags, LPCCH lpMultiByteStr, _In_ int cbMultiByte, LPWSTR lpWideCharStr, _In_ int cchWideChar);", | |
"startAddr": "0x140013198", | |
"endAddr": "0x140013199", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "CodePage", | |
"realName": "CodePage", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "dwFlags", | |
"realName": "dwFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpMultiByteStr", | |
"realName": "lpMultiByteStr", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "cbMultiByte", | |
"realName": "cbMultiByte", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpWideCharStr", | |
"realName": "lpWideCharStr", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "cchWideChar", | |
"realName": "cchWideChar", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "QueryPerformanceCounter", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL QueryPerformanceCounter(_Out_ LARGE_INTEGER * lpPerformanceCount);", | |
"startAddr": "0x140013000", | |
"endAddr": "0x140013001", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpPerformanceCount", | |
"realName": "lpPerformanceCount", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_LARGE_INTEGER*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "RaiseException", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, const ULONG_PTR * lpArguments);", | |
"startAddr": "0x1400130e8", | |
"endAddr": "0x1400130e9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "dwExceptionCode", | |
"realName": "dwExceptionCode", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "dwExceptionFlags", | |
"realName": "dwExceptionFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "nNumberOfArguments", | |
"realName": "nNumberOfArguments", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpArguments", | |
"realName": "lpArguments", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "RtlCaptureContext", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID RtlCaptureContext(_Out_ PCONTEXT ContextRecord);", | |
"startAddr": "0x140013028", | |
"endAddr": "0x140013029", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "ContextRecord", | |
"realName": "ContextRecord", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_CONTEXT*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "RtlLookupFunctionEntry", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "PRUNTIME_FUNCTION RtlLookupFunctionEntry(_In_ ULONG64 ControlPc, _Out_ PULONG64 ImageBase, _Inout_opt_ PUNWIND_HISTORY_TABLE HistoryTable);", | |
"startAddr": "0x140013030", | |
"endAddr": "0x140013031", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "ControlPc", | |
"realName": "ControlPc", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "ImageBase", | |
"realName": "ImageBase", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "HistoryTable", | |
"realName": "HistoryTable", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_UNWIND_HISTORY_TABLE*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "RtlUnwindEx", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID RtlUnwindEx(_In_opt_ PVOID TargetFrame, _In_opt_ PVOID TargetIp, _In_opt_ PEXCEPTION_RECORD ExceptionRecord, _In_ PVOID ReturnValue, _In_ PCONTEXT ContextRecord, _In_opt_ PUNWIND_HISTORY_TABLE HistoryTable);", | |
"startAddr": "0x140013078", | |
"endAddr": "0x140013079", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "TargetFrame", | |
"realName": "TargetFrame", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "TargetIp", | |
"realName": "TargetIp", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "ExceptionRecord", | |
"realName": "ExceptionRecord", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_EXCEPTION_RECORD*" | |
} | |
}, | |
{ | |
"name": "ReturnValue", | |
"realName": "ReturnValue", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "ContextRecord", | |
"realName": "ContextRecord", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_CONTEXT*" | |
} | |
}, | |
{ | |
"name": "HistoryTable", | |
"realName": "HistoryTable", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_UNWIND_HISTORY_TABLE*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "RtlVirtualUnwind", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "PEXCEPTION_ROUTINE RtlVirtualUnwind(_In_ ULONG HandlerType, _In_ ULONG64 ImageBase, _In_ ULONG64 ControlPc, _In_ PRUNTIME_FUNCTION FunctionEntry, _Inout_ PCONTEXT ContextRecord, _Out_ PVOID * HandlerData, _Out_ PULONG64 EstablisherFrame, _Inout_opt_ PKNONVOLATILE_CONTEXT_POINTERS ContextPointers);", | |
"startAddr": "0x140013038", | |
"endAddr": "0x140013039", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "HandlerType", | |
"realName": "HandlerType", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "ImageBase", | |
"realName": "ImageBase", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "ControlPc", | |
"realName": "ControlPc", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "FunctionEntry", | |
"realName": "FunctionEntry", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_IMAGE_RUNTIME_FUNCTION_ENTRY*" | |
} | |
}, | |
{ | |
"name": "ContextRecord", | |
"realName": "ContextRecord", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_CONTEXT*" | |
} | |
}, | |
{ | |
"name": "HandlerData", | |
"realName": "HandlerData", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64**" | |
} | |
}, | |
{ | |
"name": "EstablisherFrame", | |
"realName": "EstablisherFrame", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "ContextPointers", | |
"realName": "ContextPointers", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_KNONVOLATILE_CONTEXT_POINTERS*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "SetEnvironmentVariableW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL SetEnvironmentVariableW(_In_ LPCWSTR lpName, _In_opt_ LPCWSTR lpValue);", | |
"startAddr": "0x1400131b8", | |
"endAddr": "0x1400131b9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpName", | |
"realName": "lpName", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "lpValue", | |
"realName": "lpValue", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "SetFilePointerEx", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL SetFilePointerEx(_In_ HANDLE hFile, _In_ LARGE_INTEGER liDistanceToMove, _Out_opt_ PLARGE_INTEGER lpNewFilePointer, _In_ DWORD dwMoveMethod);", | |
"startAddr": "0x1400131f8", | |
"endAddr": "0x1400131f9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hFile", | |
"realName": "hFile", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "liDistanceToMove", | |
"realName": "liDistanceToMove", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_LARGE_INTEGER = type { i64 }" | |
} | |
}, | |
{ | |
"name": "lpNewFilePointer", | |
"realName": "lpNewFilePointer", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_LARGE_INTEGER*" | |
} | |
}, | |
{ | |
"name": "dwMoveMethod", | |
"realName": "dwMoveMethod", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "SetLastError", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "VOID SetLastError(_In_ DWORD dwErrCode);", | |
"startAddr": "0x140013088", | |
"endAddr": "0x140013089", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "dwErrCode", | |
"realName": "dwErrCode", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "SetStdHandle", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL SetStdHandle(_In_ DWORD nStdHandle, _In_ HANDLE hHandle);", | |
"startAddr": "0x1400131c0", | |
"endAddr": "0x1400131c1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "nStdHandle", | |
"realName": "nStdHandle", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "hHandle", | |
"realName": "hHandle", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "SetUnhandledExceptionFilter", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(_In_opt_ LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);", | |
"startAddr": "0x140013050", | |
"endAddr": "0x140013051", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpTopLevelExceptionFilter", | |
"realName": "lpTopLevelExceptionFilter", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32 (%_EXCEPTION_POINTERS*)*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "TerminateProcess", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL TerminateProcess(_In_ HANDLE hProcess, _In_ UINT uExitCode);", | |
"startAddr": "0x140013118", | |
"endAddr": "0x140013119", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hProcess", | |
"realName": "hProcess", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "uExitCode", | |
"realName": "uExitCode", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "TlsAlloc", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "DWORD TlsAlloc(VOID);", | |
"startAddr": "0x1400130b0", | |
"endAddr": "0x1400130b1", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "TlsFree", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL TlsFree(_In_ DWORD dwTlsIndex);", | |
"startAddr": "0x1400130c8", | |
"endAddr": "0x1400130c9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "dwTlsIndex", | |
"realName": "dwTlsIndex", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "TlsGetValue", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "LPVOID TlsGetValue(_In_ DWORD dwTlsIndex);", | |
"startAddr": "0x1400130b8", | |
"endAddr": "0x1400130b9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "dwTlsIndex", | |
"realName": "dwTlsIndex", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "TlsSetValue", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL TlsSetValue(_In_ DWORD dwTlsIndex, _In_opt_ LPVOID lpTlsValue);", | |
"startAddr": "0x1400130c0", | |
"endAddr": "0x1400130c1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "dwTlsIndex", | |
"realName": "dwTlsIndex", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpTlsValue", | |
"realName": "lpTlsValue", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "UnhandledExceptionFilter", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "LONG UnhandledExceptionFilter(_In_ struct _EXCEPTION_POINTERS * ExceptionInfo);", | |
"startAddr": "0x140013048", | |
"endAddr": "0x140013049", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "ExceptionInfo", | |
"realName": "ExceptionInfo", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_EXCEPTION_POINTERS*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "WideCharToMultiByte", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "int WideCharToMultiByte(_In_ UINT CodePage, _In_ DWORD dwFlags, LPCWCH lpWideCharStr, _In_ int cchWideChar, LPSTR lpMultiByteStr, _In_ int cbMultiByte, _In_opt_ LPCCH lpDefaultChar, _Out_opt_ LPBOOL lpUsedDefaultChar);", | |
"startAddr": "0x1400131a0", | |
"endAddr": "0x1400131a1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "CodePage", | |
"realName": "CodePage", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "dwFlags", | |
"realName": "dwFlags", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpWideCharStr", | |
"realName": "lpWideCharStr", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "cchWideChar", | |
"realName": "cchWideChar", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpMultiByteStr", | |
"realName": "lpMultiByteStr", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "cbMultiByte", | |
"realName": "cbMultiByte", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpDefaultChar", | |
"realName": "lpDefaultChar", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "lpUsedDefaultChar", | |
"realName": "lpUsedDefaultChar", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i1*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "WriteConsoleW", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL WriteConsoleW(_In_ HANDLE hConsoleOutput, const VOID * lpBuffer, _In_ DWORD nNumberOfCharsToWrite, _Out_opt_ LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved);", | |
"startAddr": "0x140013070", | |
"endAddr": "0x140013071", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hConsoleOutput", | |
"realName": "hConsoleOutput", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "lpBuffer", | |
"realName": "lpBuffer", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "nNumberOfCharsToWrite", | |
"realName": "nNumberOfCharsToWrite", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpNumberOfCharsWritten", | |
"realName": "lpNumberOfCharsWritten", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32*" | |
} | |
}, | |
{ | |
"name": "lpReserved", | |
"realName": "lpReserved", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "WriteFile", | |
"callingConvention": "x64_os_default", | |
"fncType": "dynamicallyLinked", | |
"declarationStr": "BOOL WriteFile(_In_ HANDLE hFile, LPCVOID lpBuffer, _In_ DWORD nNumberOfBytesToWrite, _Out_opt_ LPDWORD lpNumberOfBytesWritten, _Inout_opt_ LPOVERLAPPED lpOverlapped);", | |
"startAddr": "0x1400130f8", | |
"endAddr": "0x1400130f9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "hFile", | |
"realName": "hFile", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "lpBuffer", | |
"realName": "lpBuffer", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "nNumberOfBytesToWrite", | |
"realName": "nNumberOfBytesToWrite", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "lpNumberOfBytesWritten", | |
"realName": "lpNumberOfBytesWritten", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32*" | |
} | |
}, | |
{ | |
"name": "lpOverlapped", | |
"realName": "lpOverlapped", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_OVERLAPPED*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_FindPESection", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140011d70", | |
"endAddr": "0x140011db4", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_NLG_Notify", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400021f0", | |
"endAddr": "0x140002211", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_AppPolicyGetProcessTerminationMethodInternal", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140006640", | |
"endAddr": "0x14000668e", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_AreFileApisANSI", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140006690", | |
"endAddr": "0x1400066ca", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_CompareStringA", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14001103c", | |
"endAddr": "0x1400110c5", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_CompareStringEx", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400066cc", | |
"endAddr": "0x1400067a8", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_FlsAlloc", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400067a8", | |
"endAddr": "0x1400067f0", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_FlsFree", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400067f0", | |
"endAddr": "0x140006836", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_FlsGetValue", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140006838", | |
"endAddr": "0x14000687e", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_FlsSetValue", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140006880", | |
"endAddr": "0x1400068d1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_InitializeCriticalSectionEx", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400068d4", | |
"endAddr": "0x140006935", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_LCMapStringA", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000f64c", | |
"endAddr": "0x14000f6e2", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "arg5", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg6", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "arg7", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg8", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg9", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_LCMapStringEx", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140006938", | |
"endAddr": "0x140006a14", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_LocaleNameToLCID", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140006a14", | |
"endAddr": "0x140006a64", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_add_locale_ref", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000b30c", | |
"endAddr": "0x14000b397", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_call_reportfault", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000605c", | |
"endAddr": "0x1400061b7", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_errno_map_os_error", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140006320", | |
"endAddr": "0x14000636e", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_free_locale", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000b398", | |
"endAddr": "0x14000b50e", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_has_user_matherr", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400048a8", | |
"endAddr": "0x1400048c5", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_initialize_command_line", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000542c", | |
"endAddr": "0x140005451", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_initialize_fma3", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400117a0", | |
"endAddr": "0x140011810", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_initialize_heap", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000b7b0", | |
"endAddr": "0x14000b7cc", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_initialize_locks", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000aa40", | |
"endAddr": "0x14000aa88", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_initialize_lowio$fin$0", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14001263c", | |
"endAddr": "0x140012654", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_initialize_multibyte", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000a05c", | |
"endAddr": "0x14000a0bc", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_initialize_signal_handlers", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000b978", | |
"endAddr": "0x14000b995", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_invoke_user_matherr", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400048d0", | |
"endAddr": "0x1400048fe", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_iob_func", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "_ACRTIMP_ALT FILE * __cdecl __acrt_iob_func(unsigned);", | |
"startAddr": "0x140003008", | |
"endAddr": "0x140003019", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_locale_add_lc_time_reference", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000b510", | |
"endAddr": "0x14000b537", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_locale_free_lc_time_if_unreferenced", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000b538", | |
"endAddr": "0x14000b56e", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_locale_free_monetary", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000ae74", | |
"endAddr": "0x14000af7e", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_locale_free_numeric", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000af80", | |
"endAddr": "0x14000afec", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_locale_free_time", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000b044", | |
"endAddr": "0x14000b14c", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_locale_release_lc_time_reference", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000b570", | |
"endAddr": "0x14000b595", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_lock", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000aa88", | |
"endAddr": "0x14000aaa1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_lock.5", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"realName": "__acrt_lock", | |
"startAddr": "0x14000aadc", | |
"endAddr": "0x14000aaf5", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_release_locale_ref", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000b598", | |
"endAddr": "0x14000b640", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_uninitialize_locks", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000240c", | |
"endAddr": "0x140002443", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_uninitialize_locks.4", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"realName": "__acrt_uninitialize_locks", | |
"startAddr": "0x14000aaa4", | |
"endAddr": "0x14000aadb", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_uninitialize_ptd", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400023a0", | |
"endAddr": "0x1400023c2", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_uninitialize_ptd.2", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"realName": "__acrt_uninitialize_ptd", | |
"startAddr": "0x140007dc8", | |
"endAddr": "0x140007dea", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_uninitialize_stdio", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000301c", | |
"endAddr": "0x140003077", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_uninitialize_winapi_thunks", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140006a98", | |
"endAddr": "0x140006ad9", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__acrt_update_locale_info", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140007dec", | |
"endAddr": "0x140007e1d", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_update_locale_info.3", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"realName": "__acrt_update_locale_info", | |
"startAddr": "0x140007e20", | |
"endAddr": "0x140007e51", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__acrt_update_thread_locale_data$fin$0", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14001266e", | |
"endAddr": "0x140012686", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__chkstk", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400121a0", | |
"endAddr": "0x1400121ee", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__dcrt_uninitialize_environments_nolock", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140004fd0", | |
"endAddr": "0x140005008", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__doserrno", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "unsigned long * __cdecl __doserrno(void);", | |
"startAddr": "0x140006370", | |
"endAddr": "0x140006390", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__pctype_func", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "const unsigned short * __pctype_func(void);", | |
"startAddr": "0x14000b14c", | |
"endAddr": "0x14000b17b", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__raise_securityfailure", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140011ef0", | |
"endAddr": "0x140011f24", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__scrt_acquire_startup_lock", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140001384", | |
"endAddr": "0x1400013bd", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__scrt_release_startup_lock", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140001530", | |
"endAddr": "0x140001554", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__setusermatherr", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "void __setusermatherr(_HANDLE_MATH_ERROR pf);", | |
"startAddr": "0x140004900", | |
"endAddr": "0x140004925", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "pf", | |
"realName": "pf", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__stdio_common_vfprintf", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "int __cdecl __stdio_common_vfprintf(_In_ unsigned __int64 Options, _Inout_ FILE * Stream, _In_z_ char const * Format, _In_opt_ _locale_t Locale, va_list ArgList);", | |
"startAddr": "0x140004688", | |
"endAddr": "0x140004713", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "Options", | |
"realName": "Options", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "Stream", | |
"realName": "Stream", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_IO_FILE*" | |
} | |
}, | |
{ | |
"name": "Format", | |
"realName": "Format", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "Locale", | |
"realName": "Locale", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "ArgList", | |
"realName": "ArgList", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "__vcrt_freefls", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000225c", | |
"endAddr": "0x14000227b", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__vcrt_getptd", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000227c", | |
"endAddr": "0x140002298", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "__vcrt_initialize_locks", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x1400023c4", | |
"endAddr": "0x14000240a", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "_callnewh", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "int __cdecl _callnewh(_In_ size_t Size);", | |
"startAddr": "0x14000b89c", | |
"endAddr": "0x14000b8cb", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "Size", | |
"realName": "Size", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_calloc_base", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "void * __cdecl _calloc_base(_In_ size_t Count, _In_ size_t Size);", | |
"startAddr": "0x1400063b0", | |
"endAddr": "0x140006425", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "Count", | |
"realName": "Count", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "Size", | |
"realName": "Size", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_configthreadlocale", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "int __cdecl _configthreadlocale(_In_ int Flag);", | |
"startAddr": "0x140005510", | |
"endAddr": "0x140005579", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "Flag", | |
"realName": "Flag", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_errno", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "int * __cdecl _errno(void);", | |
"startAddr": "0x140006390", | |
"endAddr": "0x1400063b0", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "_fileno", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "int __cdecl _fileno(_In_ FILE * Stream);", | |
"startAddr": "0x140008b98", | |
"endAddr": "0x140008bbe", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "Stream", | |
"realName": "Stream", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_IO_FILE*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_free_base", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "void __cdecl _free_base(void * Block);", | |
"startAddr": "0x140006428", | |
"endAddr": "0x140006465", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "Block", | |
"realName": "Block", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_frnd", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14001190e", | |
"endAddr": "0x14001192d", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "_get_initial_narrow_environment", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "char ** __cdecl _get_initial_narrow_environment(void);", | |
"startAddr": "0x140005008", | |
"endAddr": "0x140005056", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "_get_printf_count_output", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "int __cdecl _get_printf_count_output(void);", | |
"startAddr": "0x140008bd8", | |
"endAddr": "0x140008bf0", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "_initterm", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "void __cdecl _initterm(_In_ _PVFV * First, _In_ _PVFV * Last);", | |
"startAddr": "0x140005060", | |
"endAddr": "0x1400050c4", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "First", | |
"realName": "First", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "void ()**" | |
} | |
}, | |
{ | |
"name": "Last", | |
"realName": "Last", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "void ()**" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_initterm_e", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "int __cdecl _initterm_e(_PIFV * First, _In_ _PIFV * Last);", | |
"startAddr": "0x1400050c4", | |
"endAddr": "0x140005101", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "First", | |
"realName": "First", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32 ()**" | |
} | |
}, | |
{ | |
"name": "Last", | |
"realName": "Last", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32 ()**" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_invalid_parameter", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "void __cdecl _invalid_parameter(wchar_t const *, wchar_t const *, wchar_t const *, _In_ unsigned int, _In_ uintptr_t);", | |
"startAddr": "0x1400061c0", | |
"endAddr": "0x140006270", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i16*" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg5", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_log10_special", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140011810", | |
"endAddr": "0x140011830", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "_malloc_base", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "void * __cdecl _malloc_base(_In_ size_t Size);", | |
"startAddr": "0x1400070f4", | |
"endAddr": "0x140007152", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "Size", | |
"realName": "Size", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_msize_base", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x14000f9f8", | |
"endAddr": "0x14000fa31", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "_query_new_handler", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "_PNH __cdecl _query_new_handler(void);", | |
"startAddr": "0x14000b8cc", | |
"endAddr": "0x14000b900", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "_query_new_handler$fin$0", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140012687", | |
"endAddr": "0x14001269c", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "_set_errno_from_matherr", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140011c68", | |
"endAddr": "0x140011c96", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_set_fmode", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "errno_t __cdecl _set_fmode(_In_ int Mode);", | |
"startAddr": "0x1400053ec", | |
"endAddr": "0x140005429", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "Mode", | |
"realName": "Mode", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_set_new_mode", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "int __cdecl _set_new_mode(_In_ int NewMode);", | |
"startAddr": "0x140005584", | |
"endAddr": "0x1400055af", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "NewMode", | |
"realName": "NewMode", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_strnicmp", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "int __cdecl _strnicmp(char const * String1, char const * String2, _In_ size_t MaxCount);", | |
"startAddr": "0x140010bdc", | |
"endAddr": "0x140010c2b", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "String1", | |
"realName": "String1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "String2", | |
"realName": "String2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "MaxCount", | |
"realName": "MaxCount", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "_strnicoll_l", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "int __cdecl _strnicoll_l(char const * String1, char const * String2, _In_ size_t MaxCount, _In_opt_ _locale_t Locale);", | |
"startAddr": "0x14000f714", | |
"endAddr": "0x14000f814", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "String1", | |
"realName": "String1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "String2", | |
"realName": "String2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "MaxCount", | |
"realName": "MaxCount", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "Locale", | |
"realName": "Locale", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "capture_previous_context", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"startAddr": "0x140012118", | |
"endAddr": "0x140012189", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "ceil", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "double ceil(double);", | |
"startAddr": "0x140010174", | |
"endAddr": "0x140010236", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "double" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "entry_point", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001370", | |
"endAddr": "0x140001382", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "free", | |
"callingConvention": "x64_os_default", | |
"fncType": "staticallyLinked", | |
"declarationStr": "void free(void * ptr);", | |
"startAddr": "0x140005b4c", | |
"endAddr": "0x140005b5d", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"realName": "ptr", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001000", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001000", | |
"endAddr": "0x140001017", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001020", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001020", | |
"endAddr": "0x14000108d", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-12", | |
"realName": "stack_var_-12", | |
"type": { | |
"llvmIr": "i32*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -12 | |
} | |
}, | |
{ | |
"name": "stack_var_-24", | |
"realName": "stack_var_-24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -24 | |
} | |
}, | |
{ | |
"name": "stack_var_-32", | |
"realName": "stack_var_-32", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -32 | |
} | |
}, | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-72", | |
"realName": "stack_var_-72", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -72 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_32", | |
"realName": "stack_var_32", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 32 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001090", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001090", | |
"endAddr": "0x140001098", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_1400010a0", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400010a0", | |
"endAddr": "0x14000110f", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-104", | |
"realName": "stack_var_-104", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -104 | |
} | |
}, | |
{ | |
"name": "stack_var_-16", | |
"realName": "stack_var_-16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -16 | |
} | |
}, | |
{ | |
"name": "stack_var_-24", | |
"realName": "stack_var_-24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -24 | |
} | |
}, | |
{ | |
"name": "stack_var_-32", | |
"realName": "stack_var_-32", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -32 | |
} | |
}, | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-48", | |
"realName": "stack_var_-48", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -48 | |
} | |
}, | |
{ | |
"name": "stack_var_-56", | |
"realName": "stack_var_-56", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -56 | |
} | |
}, | |
{ | |
"name": "stack_var_-64", | |
"realName": "stack_var_-64", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -64 | |
} | |
}, | |
{ | |
"name": "stack_var_-72", | |
"realName": "stack_var_-72", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -72 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001110", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001110", | |
"endAddr": "0x1400011d8", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_-80", | |
"realName": "stack_var_-80", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -80 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400011d8", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400011d8", | |
"endAddr": "0x1400011f1", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400011f4", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400011f4", | |
"endAddr": "0x140001370", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-24", | |
"realName": "stack_var_-24", | |
"type": { | |
"llvmIr": "i8*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -24 | |
} | |
}, | |
{ | |
"name": "stack_var_-56", | |
"realName": "stack_var_-56", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -56 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_32", | |
"realName": "stack_var_32", | |
"type": { | |
"llvmIr": "i8*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 32 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400013c0", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400013c0", | |
"endAddr": "0x140001409", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_14000140c", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x14000140c", | |
"endAddr": "0x140001498", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001498", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001498", | |
"endAddr": "0x140001529", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-24", | |
"realName": "stack_var_-24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -24 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001529", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001529", | |
"endAddr": "0x14000152b", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_14000152b", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x14000152b", | |
"endAddr": "0x140001530", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001554", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001554", | |
"endAddr": "0x14000157d", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001580", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001580", | |
"endAddr": "0x1400015ba", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400015bc", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400015bc", | |
"endAddr": "0x1400015d3", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400015d4", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400015d4", | |
"endAddr": "0x140001680", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_32", | |
"realName": "stack_var_32", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 32 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001680", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001680", | |
"endAddr": "0x140001683", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_140001684", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001684", | |
"endAddr": "0x14000168a", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_14000168c", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x14000168c", | |
"endAddr": "0x140001692", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_140001694", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001694", | |
"endAddr": "0x1400016a2", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "ListHead", | |
"realName": "ListHead", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400016a4", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400016a4", | |
"endAddr": "0x1400016a7", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_1400016a8", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400016a8", | |
"endAddr": "0x1400016ab", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_1400016ac", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400016ac", | |
"endAddr": "0x1400016b4", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_1400016b4", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400016b4", | |
"endAddr": "0x1400016cf", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400016d0", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400016d0", | |
"endAddr": "0x1400016dc", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_1400016dc", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400016dc", | |
"endAddr": "0x1400016e4", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_1400016e4", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400016e4", | |
"endAddr": "0x1400016ec", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_1400016ec", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400016ec", | |
"endAddr": "0x1400016f4", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400016f4", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400016f4", | |
"endAddr": "0x14000183f", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-1088", | |
"realName": "stack_var_-1088", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1088 | |
} | |
}, | |
{ | |
"name": "stack_var_-1224", | |
"realName": "stack_var_-1224", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1224 | |
} | |
}, | |
{ | |
"name": "stack_var_-1240", | |
"realName": "stack_var_-1240", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1240 | |
} | |
}, | |
{ | |
"name": "stack_var_-1384", | |
"realName": "stack_var_-1384", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1384 | |
} | |
}, | |
{ | |
"name": "stack_var_-1396", | |
"realName": "stack_var_-1396", | |
"type": { | |
"llvmIr": "i32*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1396 | |
} | |
}, | |
{ | |
"name": "stack_var_-1400", | |
"realName": "stack_var_-1400", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1400 | |
} | |
}, | |
{ | |
"name": "stack_var_-1408", | |
"realName": "stack_var_-1408", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1408 | |
} | |
}, | |
{ | |
"name": "stack_var_-1416", | |
"realName": "stack_var_-1416", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1416 | |
} | |
}, | |
{ | |
"name": "stack_var_-1424", | |
"realName": "stack_var_-1424", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1424 | |
} | |
}, | |
{ | |
"name": "stack_var_-1432", | |
"realName": "stack_var_-1432", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1432 | |
} | |
}, | |
{ | |
"name": "stack_var_-1440", | |
"realName": "stack_var_-1440", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1440 | |
} | |
}, | |
{ | |
"name": "stack_var_-1448", | |
"realName": "stack_var_-1448", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1448 | |
} | |
}, | |
{ | |
"name": "stack_var_-1480", | |
"realName": "stack_var_-1480", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1480 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_-992", | |
"realName": "stack_var_-992", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -992 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_32", | |
"realName": "stack_var_32", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 32 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001840", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001840", | |
"endAddr": "0x140001845", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_140001848", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001848", | |
"endAddr": "0x140001899", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_14000189c", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x14000189c", | |
"endAddr": "0x1400018aa", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpTopLevelExceptionFilter", | |
"realName": "lpTopLevelExceptionFilter", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32 (%_EXCEPTION_POINTERS*)*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400018ac", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400018ac", | |
"endAddr": "0x140001908", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001908", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001908", | |
"endAddr": "0x140001944", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001944", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001944", | |
"endAddr": "0x140001980", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001980", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001980", | |
"endAddr": "0x140001b2c", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-12", | |
"realName": "stack_var_-12", | |
"type": { | |
"llvmIr": "i32*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -12 | |
} | |
}, | |
{ | |
"name": "stack_var_-16", | |
"realName": "stack_var_-16", | |
"type": { | |
"llvmIr": "i32*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -16 | |
} | |
}, | |
{ | |
"name": "stack_var_-20", | |
"realName": "stack_var_-20", | |
"type": { | |
"llvmIr": "i32*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -20 | |
} | |
}, | |
{ | |
"name": "stack_var_-24", | |
"realName": "stack_var_-24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -24 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001b2c", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001b2c", | |
"endAddr": "0x140001b38", | |
"returnType": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "function_140001b40", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001b40", | |
"endAddr": "0x140001d37", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-104", | |
"realName": "stack_var_-104", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -104 | |
} | |
}, | |
{ | |
"name": "stack_var_-16", | |
"realName": "stack_var_-16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -16 | |
} | |
}, | |
{ | |
"name": "stack_var_-24", | |
"realName": "stack_var_-24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -24 | |
} | |
}, | |
{ | |
"name": "stack_var_-32", | |
"realName": "stack_var_-32", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -32 | |
} | |
}, | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-48", | |
"realName": "stack_var_-48", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -48 | |
} | |
}, | |
{ | |
"name": "stack_var_-56", | |
"realName": "stack_var_-56", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -56 | |
} | |
}, | |
{ | |
"name": "stack_var_-64", | |
"realName": "stack_var_-64", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -64 | |
} | |
}, | |
{ | |
"name": "stack_var_-72", | |
"realName": "stack_var_-72", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -72 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001d38", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001d38", | |
"endAddr": "0x140001d60", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001d60", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001d60", | |
"endAddr": "0x140001d79", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001d7c", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001d7c", | |
"endAddr": "0x140001de9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-72", | |
"realName": "stack_var_-72", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -72 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i8*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001dec", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001dec", | |
"endAddr": "0x140001def", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001df0", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001df0", | |
"endAddr": "0x140001e02", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001e04", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001e04", | |
"endAddr": "0x140001e16", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001e30", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001e30", | |
"endAddr": "0x140001e40", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140001e50", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140001e50", | |
"endAddr": "0x14000219b", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_14000219b", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x14000219b", | |
"endAddr": "0x1400021d8", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002220", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002220", | |
"endAddr": "0x140002221", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002224", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002224", | |
"endAddr": "0x14000225b", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002298", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002298", | |
"endAddr": "0x140002357", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002358", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002358", | |
"endAddr": "0x14000239f", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002444", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002444", | |
"endAddr": "0x140002592", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-16", | |
"realName": "stack_var_-16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -16 | |
} | |
}, | |
{ | |
"name": "stack_var_-24", | |
"realName": "stack_var_-24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -24 | |
} | |
}, | |
{ | |
"name": "stack_var_-32", | |
"realName": "stack_var_-32", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -32 | |
} | |
}, | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-72", | |
"realName": "stack_var_-72", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -72 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i8*" | |
} | |
}, | |
{ | |
"name": "arg5", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002594", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002594", | |
"endAddr": "0x1400025d9", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400025dc", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400025dc", | |
"endAddr": "0x140002622", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002624", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002624", | |
"endAddr": "0x14000266a", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_14000266c", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x14000266c", | |
"endAddr": "0x1400026bd", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i32" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400026c0", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400026c0", | |
"endAddr": "0x140002721", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002740", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002740", | |
"endAddr": "0x140002750", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-16", | |
"realName": "stack_var_-16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -16 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002760", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002760", | |
"endAddr": "0x140002dd5", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002df0", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002df0", | |
"endAddr": "0x140002e30", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i32*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002e40", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002e40", | |
"endAddr": "0x140002e6a", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i32*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002e70", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002e70", | |
"endAddr": "0x140002e96", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002ea0", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002ea0", | |
"endAddr": "0x140002ee7", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_32", | |
"realName": "stack_var_32", | |
"type": { | |
"llvmIr": "i32*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 32 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140002ee8", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140002ee8", | |
"endAddr": "0x140003007", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_32", | |
"realName": "stack_var_32", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 32 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140003078", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140003078", | |
"endAddr": "0x140003083", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpCriticalSection", | |
"realName": "lpCriticalSection", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_RTL_CRITICAL_SECTION*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140003084", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140003084", | |
"endAddr": "0x14000308f", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"parameters": [ | |
{ | |
"name": "lpCriticalSection", | |
"realName": "lpCriticalSection", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "%_RTL_CRITICAL_SECTION*" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140003090", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140003090", | |
"endAddr": "0x1400030cd", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_32", | |
"realName": "stack_var_32", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 32 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400030d0", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400030d0", | |
"endAddr": "0x140003176", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140003178", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140003178", | |
"endAddr": "0x1400031ff", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140003200", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140003200", | |
"endAddr": "0x14000328d", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_140003290", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x140003290", | |
"endAddr": "0x14000331b", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_24", | |
"realName": "stack_var_24", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 24 | |
} | |
}, | |
{ | |
"name": "stack_var_32", | |
"realName": "stack_var_32", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 32 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg3", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
}, | |
{ | |
"name": "arg4", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_14000331c", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x14000331c", | |
"endAddr": "0x1400033b7", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-40", | |
"realName": "stack_var_-40", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -40 | |
} | |
}, | |
{ | |
"name": "stack_var_-8", | |
"realName": "stack_var_-8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -8 | |
} | |
}, | |
{ | |
"name": "stack_var_0", | |
"realName": "stack_var_0", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 0 | |
} | |
}, | |
{ | |
"name": "stack_var_16", | |
"realName": "stack_var_16", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 16 | |
} | |
}, | |
{ | |
"name": "stack_var_8", | |
"realName": "stack_var_8", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": 8 | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "arg1", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64*" | |
} | |
}, | |
{ | |
"name": "arg2", | |
"isFromDebug": true, | |
"type": { | |
"llvmIr": "i64" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "function_1400033b8", | |
"callingConvention": "x64_os_default", | |
"fncType": "decompilerDefined", | |
"startAddr": "0x1400033b8", | |
"endAddr": "0x1400034e5", | |
"returnType": { | |
"llvmIr": "i32" | |
}, | |
"locals": [ | |
{ | |
"name": "stack_var_-1000", | |
"realName": "stack_var_-1000", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1000 | |
} | |
}, | |
{ | |
"name": "stack_var_-1108", | |
"realName": "stack_var_-1108", | |
"type": { | |
"llvmIr": "i8*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1108 | |
} | |
}, | |
{ | |
"name": "stack_var_-1112", | |
"realName": "stack_var_-1112", | |
"type": { | |
"llvmIr": "i32*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1112 | |
} | |
}, | |
{ | |
"name": "stack_var_-1128", | |
"realName": "stack_var_-1128", | |
"type": { | |
"llvmIr": "i16*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1128 | |
} | |
}, | |
{ | |
"name": "stack_var_-1136", | |
"realName": "stack_var_-1136", | |
"type": { | |
"llvmIr": "i32*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1136 | |
} | |
}, | |
{ | |
"name": "stack_var_-1144", | |
"realName": "stack_var_-1144", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1144 | |
} | |
}, | |
{ | |
"name": "stack_var_-1152", | |
"realName": "stack_var_-1152", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1152 | |
} | |
}, | |
{ | |
"name": "stack_var_-1160", | |
"realName": "stack_var_-1160", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1160 | |
} | |
}, | |
{ | |
"name": "stack_var_-1168", | |
"realName": "stack_var_-1168", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1168 | |
} | |
}, | |
{ | |
"name": "stack_var_-1176", | |
"realName": "stack_var_-1176", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1176 | |
} | |
}, | |
{ | |
"name": "stack_var_-1184", | |
"realName": "stack_var_-1184", | |
"type": { | |
"llvmIr": "i64*" | |
}, | |
"storage": { | |
"type": "stack", | |
"value": -1184 | |
} | |
}, | |
{ | |
"name": "stack_var_-1192", | |
"realName": "stack_var_-1192", | |
"type": { | |
"llvmIr": "i64*" | |
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
(Sorry about that, but we can’t show files that are this big right now.)
In case the post is removed, here is the backup:
So my idea is to "lift" 64-bits Windows executable to LLVM bitcode (or whatever is higher than assembly) and then compile it back to 32-bit executable.
I found that RetDec and McSema can lift PE binary to LLVM IR (and optionally C), but McSema requires IDA pro so I haven't tried it yet.
I have installed MSVC v143
and Windows SDK version 10.0.19041.0
:
Clang version:
clang version 13.0.1 (https://github.com/llvm/llvm-project 75e33f71c2dae584b13a7d1186ae0a038ba98838)
Target: x86_64-pc-windows-msvc
Thread model: posix
So I compile this Hello World code in C using Clang:
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
}
then clang hello.c -o hello.exe
Check hello.exe
file type with WSL:
$ file hello.exe
hello.exe: PE32+ executable (console) x86-64, for MS Windows
You can download it here.
Then I use RetDec to lift it to LLVM IR:
python retdec-decompiler.py --no-memory-limit hello.exe
Output: here
After that we get:
Compile bitcode back to executable:
clang hello.exe.bc -m32 -v -Wl,/SUBSYSTEM:CONSOLE -Wl,/errorlimit:0 -fuse-ld=lld -o hello.x86.exe
Output: here
I guess functions like _WriteConsoleW
are Win32 APIs, but ___decompiler_undefined_function_0
might be generated from the decompiler by some way.
Also, the decompiled code has no main
function, but it had entry_point
function. From hello.exe.ll
:
hello.exe.c
also has entry_point
instead of main
:
And also, hello.exe.c
doesn't have ___decompiler_undefined_function_0
I also tried running the bitcode with lli
:
lli --entry-function=entry_point hello.exe.bc
Output: here
Here is the link to the files.
How to make this compile? Thanks!
StackOverflow post: https://stackoverflow.com/questions/72496805/lift-x64-windows-executable-to-llvm-bitcode-and-then-compile-back-to-x32-one