Function at 0x4c97b0
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56cd78
mov eax, dword fs:[0]
push eax
sub esp, 0x4f0
mov eax, dword [0x61308c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, dword [reloc.DTLUI.dll___4CDuiString_DuiLib__QAEABV01_PB_W_Z]
mov eax, dword [0x618d28]
test eax, eax
jne 0x4c9819
push 0x70
call fcn.005120b2
add esp, 4
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 4], 0
mov ecx, eax
call fcn.00409ee0
mov dword [ebp - 4], 0xffffffff
mov dword [0x618d28], eax
push str.CThreadScanResultReport::Run_:_WaitForSingleObject_Before
push 0xf0
push 0x5c3558
push 8
push eax
call fcn.0040a3e0
add esp, 0x14
push 0xffffffffffffffff
push dword [ebx + 0x24]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x618d28]
test eax, eax
jne 0x4c9871
push 0x70
call fcn.005120b2
add esp, 4
mov dword [ebp - 0x4ec], eax
mov dword [ebp - 4], 1
mov ecx, eax
call fcn.00409ee0
mov dword [ebp - 4], 0xffffffff
mov dword [0x618d28], eax
push str.CThreadScanResultReport::Run_:_WaitForSingleObject_After
push 0xf2
push str.ThreadScanResultReport.cpp
push 8
push eax
call fcn.0040a3e0
add esp, 0x14
lea eax, [ebp - 0x2f4]
push eax
call fcn.004c8e80
mov dword [ebp - 4], 2
xor eax, eax
push 1
mov dword [ebp - 0x2b4], 0
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x2b0], 0
push 0x5c35cc
mov dword [ebp - 0x2b0], 7
mov dword [ebp - 0x2b4], 0
mov word [ebp - 0x2c4], ax
call fcn.00404d30
mov byte [ebp - 4], 3
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x4c8], esp
lea eax, [ebp - 0x2f4]
lea esi, [ebp - 0x2c4]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.0040aba0
mov byte [ebp - 4], 4
mov byte [ebp - 4], 3
mov ecx, esi
call fcn.0040dbe0
mov esi, dword [0x61e774]
add esp, 0x18
test esi, esi
jne 0x4c996a
push 0x2a8
call fcn.005120b2
mov esi, eax
mov dword [ebp - 0x4f0], esi
mov byte [ebp - 4], 5
push 0x2a8
push 0
push esi
call fcn.0052d340
add esp, 0x10
mov ecx, esi
call fcn.00442c50
mov byte [ebp - 4], 3
mov dword [0x61e774], esi
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [esi + 0xc]
call fcn.004059c0
mov byte [ebp - 4], 7
mov dword [ebp - fcn.00437bb0], 0x5d8400
mov dword [ebp - 0x4dc], 0
mov dword [ebp - 0x4d8], 0
mov dword [ebp - 0x4d4], 0
mov byte [ebp - 4], 8
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4cc], 0
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x74]
push 0x64
push 0
push eax
call fcn.0052d340
add esp, 0xc
push 0x5c35d0
push ecx
lea ecx, [ebp - 0x74]
call fcn.00414320
add esp, 8
mov dword [ebp - 0x284], 0
xor eax, eax
mov dword [ebp - 0x280], 0
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 7
mov dword [ebp - 0x284], 0
push 0xf
push str._dt_:_pcid_:_
mov word [ebp - 0x294], ax
call fcn.00404d30
mov byte [ebp - 4], 0xb
cmp dword [0x61e774], 0
jne 0x4c9a69
push 0x2a8
call fcn.005120b2
mov esi, eax
mov dword [ebp - 0x4f4], esi
mov byte [ebp - 4], 0xc
push 0x2a8
push 0
push esi
call fcn.0052d340
add esp, 0x10
mov ecx, esi
call fcn.00442c50
mov byte [ebp - 4], 0xb
mov dword [0x61e774], esi
lea eax, [ebp - 0x30c]
push eax
call fcn.00445410
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x294]
push 0xffffffffffffffff
push 0
push eax
call fcn.00407090
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x2f8]
cmp eax, 8
jb 0x4c9aab
inc eax
lea ecx, [ebp - 0x30c]
push eax
push dword [ebp - 0x30c]
call fcn.00404be0
push 8
xor eax, eax
mov dword [ebp - 0x2f8], 7
push str.___uid_:
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x2fc], 0
mov word [ebp - 0x30c], ax
call fcn.00406f60
mov ax, word [0x61e7dc]
test ax, ax
jne 0x4c9af0
call fcn.00446730
mov word [0x61e7dc], ax
movzx edx, ax
lea ecx, [ebp - 0x324]
call fcn.0041e370
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x294]
push 0xffffffffffffffff
push 0
push eax
call fcn.00407090
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x310]
cmp eax, 8
jb 0x4c9b34
inc eax
lea ecx, [ebp - 0x324]
push eax
push dword [ebp - 0x324]
call fcn.00404be0
push 8
xor eax, eax
mov dword [ebp - 0x310], 7
push str.__sct_:_
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x314], 0
mov word [ebp - 0x324], ax
call fcn.00406f60
cmp word [ebp - 0x74], 0
jne 0x4c9b6e
xor ecx, ecx
jmp 0x4c9b83
lea ecx, [ebp - 0x74]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c9b74
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 9
push str.___dtv_:_
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x294]
call fcn.00407090
push 8
push str.___wv_:_
lea ecx, [ebp - 0x294]
call fcn.00406f60
call fcn.0040ded0
mov dword [ebp - 0x4e4], eax
lea eax, [ebp - 0x4e4]
push eax
lea eax, [ebp - 0x4fc]
push eax
call fcn.004caef0
mov eax, dword [ebp - 0x4fc]
lea ecx, [ebp - 0x294]
push 0xffffffffffffffff
add eax, 0x14
push 0
push eax
call fcn.00407090
push 9
push str.___lan_:_
lea ecx, [ebp - 0x294]
call fcn.00406f60
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx edx, ax
lea ecx, [ebp - 0x33c]
call fcn.0041e370
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x294]
push 0xffffffffffffffff
push 0
push eax
call fcn.00407090
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x328]
cmp eax, 8
jb 0x4c9c60
inc eax
lea ecx, [ebp - 0x33c]
push eax
push dword [ebp - 0x33c]
call fcn.00404be0
push 9
xor eax, eax
mov dword [ebp - 0x328], 7
push str.___dtc_:_
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x32c], 0
mov word [ebp - 0x33c], ax
call fcn.00406f60
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x294]
call fcn.00407090
push 0xe
push str.___Results_:_
lea ecx, [ebp - 0x294]
call fcn.00406f60
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x298], 0xf
mov dword [ebp - 0x29c], 0
mov byte [ebp - 0x2ac], 0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3c0]
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_void_]
mov byte [ebp - 4], 0x13
lea eax, [ebx + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebx + 0x1c]
sub eax, dword [ebx + 0x18]
mov esi, dword [ebx + 0x18]
sar eax, 7
mov dword [ebp - 0x4c8], eax
cmp esi, dword [ebx + 0x1c]
je 0x4c9f7d
nop
push esi
lea ecx, [ebp - 0x440]
call fcn.00455e00
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x294]
push 1
push 0x5c368c
call fcn.00406f60
push 5
push 0x5c3690
lea ecx, [ebp - 0x294]
call fcn.00406f60
push dword [ebp - 0x3f8]
lea eax, [ebp - 0x27c]
push 0x5c369c
push eax
call fcn.00415840
add esp, 0xc
lea ecx, [ebp - 0x294]
push 1
push 0x5c36a4
call fcn.00406f60
cmp word [ebp - 0x27c], 0
jne 0x4c9d8e
xor eax, eax
jmp 0x4c9da6
lea eax, [ebp - 0x27c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4c9d97
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 2
push 0x5c36a8
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 7
push str._stat_:
lea ecx, [ebp - 0x294]
call fcn.00406f60
push dword [ebp - 0x3f4]
lea eax, [ebp - 0x27c]
push 0x5c36c0
push eax
call fcn.00415840
add esp, 0xc
lea ecx, [ebp - 0x294]
push 1
push 0x5c36c8
call fcn.00406f60
cmp word [ebp - 0x27c], 0
jne 0x4c9e17
xor ecx, ecx
jmp 0x4c9e2f
lea ecx, [ebp - 0x27c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c9e20
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 2
push 0x5c36cc
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 6
push str._hid_:
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 1
push 0x5c36e4
lea ecx, [ebp - 0x294]
call fcn.00406f60
cmp dword [ebp - 0x3dc], 8
lea eax, [ebp - 0x3f0]
lea ecx, [ebp - 0x3c0]
cmovae eax, dword [ebp - 0x3f0]
push eax
call edi
push 0x5c36e8
push 0x5c36f0
lea ecx, [ebp - 0x3c0]
call dword [sym.imp.DTLUI.dll_public:_int___thiscall_DuiLib::CDuiString::Replace_wchar_t_const___wchar_t_const__]
lea ecx, [ebp - 0x3c0]
call dword [sym.imp.DTLUI.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
mov edx, eax
cmp word [edx], 0
jne 0x4c9ec3
xor ecx, ecx
jmp 0x4c9ee5
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c9ed0
sub ecx, edi
mov edi, dword [reloc.DTLUI.dll___4CDuiString_DuiLib__QAEABV01_PB_W_Z]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 2
push 0x5c36f4
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 6
push str._hvn_:
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 1
push 0x5c370c
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x3d8]
push eax
lea ecx, [ebp - 0x294]
call fcn.00407090
push 1
push 0x5c3710
lea ecx, [ebp - 0x294]
call fcn.00406f60
push 2
push 0x5c3714
lea ecx, [ebp - 0x294]
call fcn.00406f60
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x440]
call fcn.00455ca0
sub esi, 0xffffff80
cmp esi, dword [ebx + 0x1c]
jne 0x4c9d20
mov edi, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x18]
cmp esi, edi
je 0x4c9f95
mov ecx, esi
call fcn.00455ca0
sub esi, 0xffffff80
cmp esi, edi
jne 0x4c9f87
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], eax
lea eax, [ebx + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0x280], 8
lea eax, [ebp - 0x294]
mov edi, dword [reloc.DTLUI.dll___4CDuiString_DuiLib__QAEABV01_PB_W_Z]
lea ecx, [ebp - 0x3c0]
cmovae eax, dword [ebp - 0x294]
push eax
call edi
cmp dword [ebp - 0x4c8], 0
jle 0x4ca050
lea ecx, [ebp - 0x3c0]
call dword [sym.imp.DTLUI.dll_public:_int___thiscall_DuiLib::CDuiString::GetLength_void_const]
dec eax
lea ecx, [ebp - 0x3c0]
push eax
lea eax, [ebp - 0x4c4]
push eax
call dword [sym.imp.DTLUI.dll_public:_class_DuiLib::CDuiString___thiscall_DuiLib::CDuiString::Left_int_]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3c0]
push eax
call dword [0x5787fc]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x4c4]
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
lea ecx, [ebp - 0x3c0]
call dword [sym.imp.DTLUI.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
mov edx, eax
cmp word [edx], 0
jne 0x4ca02f
xor ecx, ecx
jmp 0x4ca043
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4ca034
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x294]
call fcn.00404d30
push 2
push 0x5c371c
lea ecx, [ebp - 0x294]
call fcn.00406f60
cmp dword [ebp - 0x280], 8
lea eax, [ebp - 0x294]
lea ecx, [ebp - 0x2ac]
cmovae eax, dword [ebp - 0x294]
push eax
call fcn.0040c430
mov ecx, dword [ebp - 0x29c]
test ecx, ecx
jle 0x4ca0bc
cmp dword [ebp - 0x298], 0x10
lea eax, [ebp - 0x2ac]
push 0x14
cmovae eax, dword [ebp - 0x2ac]
push ecx
push eax
push str.https:__www.drivethelife.com_api_usdtc_rp
lea ecx, [ebp - 0x4e0]
call fcn.00437bb0
test al, al
jne 0x4ca254
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3c0]
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x298]
cmp eax, 0x10
jb 0x4ca0ee
inc eax
lea ecx, [ebp - 0x2ac]
push eax
push dword [ebp - 0x2ac]
call fcn.00409490
mov dword [ebp - 0x298], 0xf
mov dword [ebp - 0x29c], 0
mov byte [ebp - 0x2ac], 0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x280]
cmp eax, 8
jb 0x4ca12b
inc eax
lea ecx, [ebp - 0x294]
push eax
push dword [ebp - 0x294]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0x280], 7
mov dword [ebp - 0x284], 0
mov word [ebp - 0x294], ax
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x4d0]
test eax, eax
je 0x4ca15f
push eax
call fcn.00536315
add esp, 4
mov dword [ebp - 0x4cc], 0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x4dc]
test eax, eax
je 0x4ca191
push eax
call dword [sym.imp.libcurl_vs2015.dll_curl_easy_cleanup]
add esp, 4
call dword [sym.imp.libcurl_vs2015.dll_curl_global_cleanup]
mov dword [ebp - 0x4dc], 0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x2c8]
cmp eax, 8
jb 0x4ca1b3
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0x2c8], 7
mov dword [ebp - 0x2cc], 0
mov word [ebp - 0x2dc], ax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2b0]
cmp eax, 8
jb 0x4ca1f2
inc eax
lea ecx, [ebp - 0x2c4]
push eax
push dword [ebp - 0x2c4]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0x2b0], 7
mov dword [ebp - 0x2b4], 0
mov word [ebp - 0x2c4], ax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2e0]
cmp eax, 0x10
jb 0x4ca234
inc eax
lea ecx, [ebp - 0x2f4]
push eax
push dword [ebp - 0x2f4]
call fcn.00409490
mov dword [ebp - 0x2e0], 0xf
mov dword [ebp - 0x2e4], 0
mov byte [ebp - 0x2f4], 0
jmp 0x4c97e6
mov byte [ebx + 0x70], 1
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3c0]
call dword [sym.imp.DTLUI.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x298]
cmp eax, 0x10
jb 0x4ca28a
inc eax
lea ecx, [ebp - 0x2ac]
push eax
push dword [ebp - 0x2ac]
call fcn.00409490
mov dword [ebp - 0x298], 0xf
mov dword [ebp - 0x29c], 0
mov byte [ebp - 0x2ac], 0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x280]
cmp eax, 8
jb 0x4ca2c7
inc eax
lea ecx, [ebp - 0x294]
push eax
push dword [ebp - 0x294]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0x280], 7
mov dword [ebp - 0x284], 0
mov word [ebp - 0x294], ax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x4d0]
test eax, eax
je 0x4ca2fb
push eax
call fcn.00536315
add esp, 4
mov dword [ebp - 0x4cc], 0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x4dc]
test eax, eax
je 0x4ca32d
push eax
call dword [sym.imp.libcurl_vs2015.dll_curl_easy_cleanup]
add esp, 4
call dword [sym.imp.libcurl_vs2015.dll_curl_global_cleanup]
mov dword [ebp - 0x4dc], 0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x2c8]
cmp eax, 8
jb 0x4ca34f
inc eax
lea ecx, [ebp - 0x2dc]
push eax
push dword [ebp - 0x2dc]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0x2c8], 7
mov dword [ebp - 0x2cc], 0
mov word [ebp - 0x2dc], ax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2b0]
cmp eax, 8
jb 0x4ca38e
inc eax
lea ecx, [ebp - 0x2c4]
push eax
push dword [ebp - 0x2c4]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0x2b0], 7
mov dword [ebp - 0x2b4], 0
mov word [ebp - 0x2c4], ax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2e0]
cmp eax, 0x10
jb 0x4ca3d0
inc eax
lea ecx, [ebp - 0x2f4]
push eax
push dword [ebp - 0x2f4]
call fcn.00409490
mov dword [ebp - 0x2e0], 0xf
xor eax, eax
mov dword [ebp - 0x2e4], 0
mov byte [ebp - 0x2f4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005120a1
mov esp, ebp
pop ebp
ret