Function at 0x407cf0
Capabilities:
Accept command line arguments
Check os version
Get token membership
Print debug messages
Read .ini file
Resolve function by parsing pe exports
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e4
mov eax, dword [0x42d4d4]
xor eax, esp
mov dword [esp + 0x1e0], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitializeEx]
push 0x18
mov dword [esp + 0x28], 7
mov dword [esp + 0x64], ebx
call fcn.0041529b
add esp, 4
cmp eax, ebx
je 0x4098ac
mov dword [esp + 0x5c], eax
mov dword [eax], eax
mov eax, dword [esp + 0x5c]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [eax + 8], eax
mov ecx, dword [esp + 0x5c]
mov al, 1
mov byte [ecx + 0x14], al
mov edx, dword [esp + 0x5c]
mov byte [edx + 0x15], al
lea eax, [esp + 0x34]
push eax
mov ecx, edi
call fcn.00401930
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x5c]
push edx
call fcn.00406330
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407d9a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x4076e0
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push 0x70
lea ecx, [esp + 0x38]
push esi
push ecx
call fcn.00407a10
add esp, 0xc
push 0x71
lea edx, [esp + 0x40]
push esi
push edx
call fcn.00407a10
add esp, 0xc
push 0x72
lea eax, [esp + 0x34]
push esi
push eax
call fcn.00407a10
add esp, 0xc
push 0x73
lea ecx, [esp + 0x6c]
push esi
push ecx
call fcn.00407a10
add esp, 0xc
push 0x74
lea edx, [esp + 0x2c]
push esi
push edx
call fcn.00407a10
add esp, 0xc
push 0x75
lea eax, [esp + 0x1c]
push esi
push eax
call fcn.00407a10
add esp, 0xc
push 0x76
lea ecx, [esp + 0x4c]
push esi
push ecx
call fcn.00407a10
add esp, 0xc
push 0x77
lea edx, [esp + 0x48]
push esi
push edx
call fcn.00407a10
add esp, 0xc
push 0x78
lea eax, [esp + 0x94]
push esi
push eax
call fcn.00407a10
add esp, 0xc
push 0x7a
lea ecx, [esp + 0x78]
push esi
push ecx
call fcn.00407a10
add esp, 0xc
push 0x79
lea edx, [esp + 0x54]
push esi
push edx
call fcn.00407a10
add esp, 0xc
push 0x7b
lea eax, [esp + 0x70]
push esi
push eax
call fcn.00407a10
add esp, 0xc
push str.kJq_z
call fcn.00401570
add esp, 4
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.00401930
lea edx, [esp + 0x58]
push edx
lea edi, [esp + 0x18]
lea esi, [esp + 0x58]
call fcn.004062e0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407eb3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.q:ekN
call fcn.00401570
add esp, 4
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.00401930
lea edx, [esp + 0x58]
push edx
lea edi, [esp + 0x18]
lea esi, [esp + 0x50]
call fcn.004062e0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407efe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x54]
cmp dword [ecx - 0xc], ebx
jle 0x408040
mov edx, dword [esp + 0x4c]
cmp dword [edx - 0xc], ebx
jle 0x408040
lea eax, [esp + 0x54]
lea edi, [esp + 0x34]
call fcn.00404c20
lea eax, [esp + 0x4c]
lea edi, [esp + 0x3c]
call fcn.00404c20
lea eax, [esp + 0x30]
push eax
mov ecx, edi
push ecx
push str._:pG_g_eJm___
call fcn.00401570
add esp, 4
push eax
lea edx, [esp + 0x44]
push edx
lea ecx, [esp + 0x44]
call fcn.00409c80
push eax
lea eax, [esp + 0x34]
push eax
mov ebx, 0x428068
call fcn.00409ba0
lea ecx, [esp + 0x2c]
add esp, 0x10
push ecx
mov ebx, eax
call fcn.00409af0
push eax
lea edx, [esp + 0x20]
push edx
mov ebx, 0x428068
call fcn.00409ba0
lea ecx, [esp + 0x20]
add esp, 0x10
push ecx
mov ebx, eax
call fcn.00409af0
add esp, 8
lea edi, [esp + 0x18]
call fcn.00404c20
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x407fc0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407fe0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408000
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408020
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408040
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x18]
push eax
mov ebx, 0x427da4
call fcn.00409ba0
lea ecx, [esp + 0x18]
add esp, 8
push ecx
mov ebx, eax
call fcn.00409af0
mov ecx, dword [eax]
mov esi, dword [0x431384]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
add esp, 8
cmp eax, esi
je 0x4080c2
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4080b4
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4080b4
call fcn.00403820
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4080a9
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [0x431384], ebx
jmp 0x4080c2
mov ebx, dword [ecx - 0xc]
push ecx
push 0x431384
call fcn.00402880
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4080e2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408102
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
lea ecx, [esp + 0x2c]
add eax, 0x10
push ecx
mov dword [esp + 0x30], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push ecx
mov edx, esp
mov dword [esp + 0xcc], esp
push edx
mov ecx, eax
call fcn.00401930
lea eax, [esp + 0x14]
push eax
call fcn.0040b190
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408163
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x427da8
call fcn.00401570
add esp, 4
push eax
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x34]
call fcn.00409c80
mov ecx, dword [eax]
mov esi, dword [esp + 0x34]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
add esp, 8
cmp eax, esi
je 0x4081d5
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4081c7
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4081c7
call fcn.00403820
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4081be
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [esp + 0x2c], ebx
jmp 0x4081d5
mov ebx, dword [ecx - 0xc]
push ecx
lea ecx, [esp + 0x30]
push ecx
call fcn.00402880
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4081f5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx - 0xc]
cmp eax, 7
jle 0x40820c
push eax
push ecx
lea ebx, [esp + 0x30]
call fcn.004052d0
mov eax, dword [esp + 0x74]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0xc8], esp
mov esi, esp
call fcn.00403820
add eax, 0x10
mov dword [esi], eax
call fcn.004043b0
mov edx, dword [section..data]
xor ebx, ebx
mov byte [esp + 0x20], al
mov eax, dword [edx + 0xc]
mov ecx, section..data
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x8c], ebx
call eax
lea ecx, [esp + 0x14]
add eax, 0x10
push ecx
mov dword [esp + 0x3c], eax
call fcn.00406880
mov esi, dword [eax]
add esp, 4
lea ecx, [esp + 0x10]
call fcn.0040c1c0
mov edi, dword [eax]
lea ecx, [esp + 0xc]
call fcn.004041a0
mov eax, dword [eax]
mov edx, dword [esp + 0x3c]
push esi
push edi
push eax
mov eax, dword [esp + 0x3c]
push edx
push eax
push str.iNNq33:Fqp:NQtJp_NmF:btkpJ3:Fqp:NQ3lQD_NtQ:gB:me_k_qzq:kQC_QC_QC_QCAk_qza_Qdib:e_e__Q
call fcn.00401570
add esp, 4
push eax
lea edi, [esp + 0x50]
call fcn.00405710
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
add esp, 0x18
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4082cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4082eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40830b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd0], ecx
cmp eax, ebx
jne 0x40832c
mov dword [esp + 0xd0], ebx
xor edi, edi
jmp 0x408396
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ebx, [eax + 1]
lea edi, [esp + 0xd4]
mov ecx, ebx
lea esi, [esp + 0xd0]
call fcn.00402df0
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0xd0]
add ebx, ebx
push ebx
push edx
push ebx
push eax
call fcn.004154c3
add esp, 0x10
cmp eax, 0x50
ja case.0x408d10.1
movzx ecx, byte [eax + 0x4098f0]
jmp dword [ecx*4 + 0x4098e0]
push 0x8007000e
call fcn.00403bc0
mov eax, dword [esp + 0xd0]
xor edi, edi
cmp eax, edi
jne 0x40849f
xor esi, esi
mov dword [esp + 0x14], esi
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.0040a2b0
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xd4]
cmp eax, ecx
je 0x4083cd
push eax
call fcn.004157cc
add esp, 4
mov edx, dword [esp + 0x50]
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa8], edi
cmp dword [edx - 0xc], 5
jle 0x408586
mov eax, dword [section..data]
mov edx, dword [eax + 0xc]
mov ecx, section..data
call edx
add eax, 0x10
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.0040c1c0
mov esi, dword [eax]
lea eax, [esp + 0xc]
push eax
call fcn.00406880
mov eax, dword [eax]
mov ecx, dword [esp + 0x54]
add esp, 4
push esi
push eax
push ecx
lea edi, [esp + 0x28]
call fcn.00405710
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
add esp, 0xc
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40845a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40847a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x1c], 0
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd0], ecx
jne 0x4084be
mov dword [esp + 0xd0], 0
jmp 0x40852c
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [esp + 0x14], esi
cmp esi, edi
jne 0x40839c
push 0x8007000e
call fcn.00403bc0
mov edx, dword [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
lea edi, [esp + 0xd4]
lea ecx, [ebx + 1]
lea esi, [esp + 0xd0]
call fcn.00402df0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xd0]
lea eax, [ebx + ebx + 2]
push eax
push ecx
push eax
push edx
call fcn.004154c3
add esp, 0x10
cmp eax, 0x50
ja case.0x40850c.1
movzx eax, byte [eax + 0x409954]
jmp dword [eax*4 + 0x409944]
push 0x80070057
call fcn.00403bc0
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x408636
xor esi, esi
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x98]
push edx
call fcn.0040a2b0
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xd4]
cmp eax, ecx
je 0x408566
push eax
call fcn.004157cc
add esp, 4
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408586
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.eq_e4
call fcn.00401570
add esp, 4
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.00401930
lea edx, [esp + 0x58]
push edx
lea edi, [esp + 0x18]
lea esi, [esp + 0x74]
call fcn.004062e0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4085d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x70]
cmp dword [ecx - 0xc], 0
lea ecx, [esp + 0x18]
setg dl
movzx eax, dl
push eax
push ecx
lea edi, [esp + 0x14]
call fcn.00407b20
mov ecx, dword [eax]
mov esi, dword [esp + 0x20]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
add esp, 8
cmp eax, esi
je 0x40866d
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x40865f
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x40865f
call fcn.00403820
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x40862d
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [esp + 0x18], ebx
jmp 0x40866d
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
jne 0x408532
push 0x8007000e
call fcn.00403bc0
push 0x80004005
call fcn.00403bc0
mov ebx, dword [ecx - 0xc]
push ecx
lea ecx, [esp + 0x1c]
push ecx
call fcn.00402880
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40868d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00413ed0
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push str.bqqtm_m
call fcn.00401570
mov esi, eax
add esp, 4
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ebx, 0x428068
call fcn.00409ba0
push eax
lea edx, [esp + 0x18]
push edx
mov ebx, esi
call fcn.00409ba0
mov eax, dword [eax]
add esp, 0x10
push eax
mov eax, dword [esp + 0x34]
push eax
push str.:Q_
call fcn.00401570
add esp, 4
push eax
push str.Jbm_
call fcn.00401570
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
add esp, 4
push eax
call edi
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408725
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408745
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.bqqtm_m
call fcn.00401570
add esp, 4
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
mov ebx, 0x428068
mov esi, eax
call fcn.00409ba0
push eax
lea eax, [esp + 0x1c]
push eax
mov ebx, esi
call fcn.00409ba0
mov esi, dword [eax]
add esp, 0x10
lea ecx, [esp + 0xc]
call fcn.0040bf60
mov eax, dword [eax]
push esi
push eax
push str.bqqEbNb
call fcn.00401570
add esp, 4
push eax
push str.Jbm_
call fcn.00401570
add esp, 4
push eax
call edi
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4087c5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4087e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408805
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.bqqtm_m
call fcn.00401570
add esp, 4
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
mov ebx, 0x428068
mov esi, eax
call fcn.00409ba0
push eax
lea eax, [esp + 0x1c]
push eax
mov ebx, esi
call fcn.00409ba0
mov esi, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
call fcn.00406880
mov eax, dword [eax]
add esp, 0x14
push esi
push eax
push str.ib:e_e
call fcn.00401570
add esp, 4
push eax
push str.Jbm_
call fcn.00401570
add esp, 4
push eax
call edi
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408886
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4088a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4088c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.bqqtm_m
call fcn.00401570
add esp, 4
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
mov ebx, 0x428068
mov esi, eax
call fcn.00409ba0
push eax
lea eax, [esp + 0x1c]
push eax
mov ebx, esi
call fcn.00409ba0
mov esi, dword [eax]
add esp, 0x10
lea ecx, [esp + 0xc]
call fcn.0040c1c0
mov eax, dword [eax]
push esi
push eax
push str.:0bQF
call fcn.00401570
add esp, 4
push eax
push str.Jbm_
call fcn.00401570
add esp, 4
push eax
call edi
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408946
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408966
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408986
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.bqqtm_m
call fcn.00401570
add esp, 4
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, 0x428068
mov esi, eax
call fcn.00409ba0
push eax
lea eax, [esp + 0x18]
push eax
mov ebx, esi
call fcn.00409ba0
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
add esp, 0x10
push eax
push ecx
push str.m_NQxDJ_e
call fcn.00401570
add esp, 4
push eax
push str.Jbm_
call fcn.00401570
add esp, 4
push eax
call edi
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4089ff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408a1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
add eax, 0x10
push str.bqqtm_m
mov dword [esp + 0x18], eax
call fcn.00401570
add esp, 4
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x24]
push edx
mov ebx, 0x428068
mov esi, eax
call fcn.00409ba0
push eax
lea eax, [esp + 0x1c]
push eax
mov ebx, esi
call fcn.00409ba0
mov esi, dword [eax]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0040d120
mov eax, dword [eax]
add esp, 0x18
push esi
push eax
push str.Q:kqbNi
call fcn.00401570
add esp, 4
push eax
push str.Jbm_
call fcn.00401570
add esp, 4
push eax
call edi
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408abc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408adc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408afc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.bqqtm_m
call fcn.00401570
add esp, 4
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x14]
push edx
mov ebx, 0x428068
mov esi, eax
call fcn.00409ba0
push eax
lea eax, [esp + 0x18]
push eax
mov ebx, esi
call fcn.00409ba0
mov eax, dword [eax]
mov ecx, dword [esp + 0x24]
add esp, 0x10
push eax
push ecx
push str.Q:kFPF
call fcn.00401570
add esp, 4
push eax
push str.Jbm_
call fcn.00401570
add esp, 4
push eax
call edi
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408b75
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408b95
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x78]
push ecx
mov edx, 4
call fcn.0040a630
push str.bqqtm_m
call fcn.00401570
add esp, 4
lea edx, [esp + 0x18]
mov esi, eax
push edx
lea eax, [esp + 0x14]
push eax
mov ebx, 0x428068
call fcn.00409ba0
push eax
lea ecx, [esp + 0x18]
push ecx
mov ebx, esi
call fcn.00409ba0
mov eax, dword [eax]
add esp, 0x10
push eax
xor ebx, ebx
push ebx
push str.m_QNxEbz
call fcn.00401570
add esp, 4
push eax
push str.Jbm_
call fcn.00401570
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, eax
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408c21
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408c41
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp esi, ebx
jne 0x408e8a
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x7c]
call fcn.0040a4a0
mov esi, dword [esp + 0x1c]
push esi
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x408d96
push str.bqqtm_m
call fcn.00401570
add esp, 4
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x24]
push ecx
mov ebx, 0x428068
mov dword [esp + 0x14], eax
call fcn.00409ba0
mov ebx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x1c]
push edx
call fcn.00409ba0
mov eax, dword [eax]
add esp, 0x10
lea ecx, [esp + 0xd4]
mov dword [esp + 0xc], eax
mov dword [esp + 0xd0], ecx
test esi, esi
jne 0x408cc2
mov dword [esp + 0xd0], esi
jmp 0x408d27
mov edx, dword [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
lea edi, [esp + 0xd4]
lea ecx, [ebx + 1]
lea esi, [esp + 0xd0]
call fcn.00402df0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xd0]
lea eax, [ebx + ebx + 2]
push eax
push ecx
push eax
push edx
call fcn.004154c3
add esp, 0x10
cmp eax, 0x50
ja case.0x408d10.1
movzx eax, byte [eax + 0x4099b8]
jmp dword [eax*4 + 0x4099a8]
push 0x80070057
jmp 0x408380
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xd0]
push ecx
push edx
push str.m_QNxEbz
call fcn.00401570
add esp, 4
push eax
push str.Jbm_
call fcn.00401570
add esp, 4
push eax
call edi
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xd4]
cmp eax, ecx
je 0x408d6d
push eax
call fcn.004157cc
add esp, 4
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408d8d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
jmp 0x408e61
push 0
call fcn.004161c1
add esp, 4
push 0
push 0x15180
push edx
push eax
call fcn.00422790
push str.bqqtm_m
mov esi, eax
call fcn.00401570
add esp, 4
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0xc8]
push edx
mov ebx, 0x428068
mov dword [esp + 0x14], eax
call fcn.00409ba0
mov ebx, dword [esp + 0x14]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00409ba0
mov ebx, dword [eax]
push 0xa
push esi
lea esi, [esp + 0x28]
call fcn.0040d0b0
mov eax, dword [eax]
add esp, 0x18
push ebx
push eax
push str.m_QNxEbz
call fcn.00401570
add esp, 4
push eax
push str.Jbm_
call fcn.00401570
add esp, 4
push eax
call edi
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408e3a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408e5a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408e7d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor ebx, ebx
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0x44]
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
call fcn.0040b0c0
add esp, 8
lea ecx, [esp + 0xd0]
push ecx
mov dword [esp + 0xd4], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x4090e4
cmp dword [esp + 0xe0], 2
jne 0x4090e4
cmp dword [esp + 0xd4], 6
jb 0x4090e4
lea edx, [esp + 0x20]
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x220
push 0x20
push 2
lea eax, [esp + 0xec]
push eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0xf0], 0
mov word [esp + 0xf4], 0x500
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x408f40
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x10]
push ecx
push edx
push ebx
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [esp + 0x10], 1
jne 0x408fa4
push str.bQVQF:
call fcn.00401570
lea ecx, [esp + 0x4c]
add esp, 4
push ecx
mov ecx, eax
call fcn.004066a0
add esp, 4
test al, al
je 0x408fa4
mov eax, dword [esp + 0x28]
lea edx, [esp + 0xc]
push edx
push ecx
add eax, 0xfffffff0
lea ebx, [esp + 0x24]
lea esi, [esp + 0x20]
mov dword [esp + 0xcc], esp
mov edi, esp
call fcn.00403820
add eax, 0x10
mov edx, esi
lea ecx, [esp + 0x48]
mov dword [edi], eax
call fcn.0040cea0
add esp, 8
mov esi, eax
jmp 0x409176
push str.QixFP
call fcn.00401570
xor ecx, ecx
add esp, 4
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x408fc6
push 0x80004005
jmp 0x408380
mov ecx, eax
mov eax, dword [esp + 0x48]
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x408ff6
cmp dx, bx
je 0x408ff2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x408ff6
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x408fd0
xor eax, eax
jmp 0x408ffb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
sete al
test al, al
je 0x4090a5
push str.:w_bQ
call fcn.00401570
add esp, 4
push eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ebx, 0x428068
call fcn.00409ba0
lea edx, [esp + 0xdc]
add esp, 8
push edx
mov ebx, eax
call fcn.00409af0
add esp, 8
push eax
call fcn.0040cae0
mov esi, eax
mov eax, dword [esp + 0xd4]
add eax, 0xfffffff0
add esp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40907c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409176
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x409176
push ebx
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x38]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0xd8], esp
mov esi, esp
call fcn.00403820
lea ecx, [esp + 0x54]
add eax, 0x10
push ecx
mov dword [esi], eax
call fcn.0040c970
add esp, 0x18
mov esi, eax
jmp 0x409176
push ebx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x20]
push eax
mov ebx, 0x428068
call fcn.00409ba0
lea ecx, [esp + 0xdc]
add esp, 8
push ecx
mov ebx, eax
call fcn.00409af0
add esp, 8
push eax
call fcn.0040cae0
mov esi, eax
mov eax, dword [esp + 0xd4]
add eax, 0xfffffff0
add esp, 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40914b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40916b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x1c]
xor edi, edi
cmp esi, edi
je 0x4091ae
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x40919f
lea edx, [esp + 0x24]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
jmp 0x4091a7
mov dword [esp + 0x24], 8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x24]
push 0xa
push eax
lea esi, [esp + 0x14]
call fcn.0040d0b0
push str.Db_pqz_FPmN_kpeF_
mov esi, eax
call fcn.00401570
add esp, 0xc
push eax
lea ecx, [esp + 0xc8]
push ecx
mov ecx, esi
call fcn.00409c80
mov edx, dword [eax]
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 8
push edx
call ebx
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40920e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40922e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x94]
push ecx
mov edx, 0xa
call fcn.0040a630
lea edx, [esp + 0x78]
push edx
mov edx, 0xa
call fcn.0040a630
mov eax, dword [esp + 0xa0]
cmp eax, edi
je 0x409274
mov ecx, dword [eax]
mov edx, dword [ecx + 0x58]
push eax
mov esi, eax
call edx
cmp eax, edi
jge 0x409274
push 0x42806c
push esi
push eax
call fcn.00414f90
mov eax, dword [esp + 0x84]
cmp eax, edi
je 0x409299
mov ecx, dword [eax]
mov edx, dword [ecx + 0x58]
push eax
mov esi, eax
call edx
cmp eax, edi
jge 0x409299
push 0x42806c
push esi
push eax
call fcn.00414f90
cmp dword [esp + 0x24], edi
je 0x40952e
push str.H::p:_m_QNbxxm_G_K_:w__m_G_kxFb_wq_p_
call fcn.00401570
add esp, 4
push eax
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x20]
call fcn.00409c80
mov ecx, dword [eax]
add esp, 8
push ecx
call ebx
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4092ed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc0], edi
call eax
lea ecx, [esp + 0xc]
add eax, 0x10
push ecx
mov dword [esp + 0x20], eax
call fcn.00406880
mov esi, dword [eax]
add esp, 4
lea ecx, [esp + 0xc4]
call fcn.0040c1c0
mov eax, dword [eax]
mov edx, dword [esp + 0x24]
push esi
push eax
mov eax, dword [esp + 0x38]
push edx
push eax
push str.iNNq33:Fqp:NQtJp_NmF:btkpJ3:Fqp:NQ3lQD_NtQ:gB:me_k_qzq:kQC_QCFPmNC_Pa_Qdib:e_e__Q
call fcn.00401570
add esp, 4
push eax
lea edi, [esp + 0x30]
call fcn.00405710
mov eax, dword [esp + 0xd8]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409386
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4093a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x1c], 0
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd0], ecx
jne 0x4093ce
xor esi, esi
mov dword [esp + 0xd0], 0
mov dword [esp + 0xc], esi
jmp 0x40944b
mov edx, dword [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
lea edi, [esp + 0xd4]
lea ecx, [ebx + 1]
lea esi, [esp + 0xd0]
call fcn.00402df0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xd0]
lea eax, [ebx + ebx + 2]
push eax
push ecx
push eax
push edx
call fcn.004154c3
add esp, 0x10
cmp eax, 0x50
ja case.0x408d10.1
movzx eax, byte [eax + 0x409a1c]
jmp dword [eax*4 + 0x409a0c]
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x409436
xor esi, esi
mov dword [esp + 0xc], esi
jmp 0x40944b
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [esp + 0xc], esi
test esi, esi
je case.0x408d10.10
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0xb0]
push edx
call fcn.0040a2b0
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push esi
call edi
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xd4]
cmp eax, ecx
je 0x409481
push eax
call fcn.004157cc
add esp, 4
lea edx, [esp + 0xac]
push edx
mov edx, 0xa
call fcn.0040a630
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x4094b8
mov ecx, dword [eax]
mov edx, dword [ecx + 0x58]
push eax
mov esi, eax
call edx
test eax, eax
jns 0x4094b8
push 0x42806c
push esi
push eax
call fcn.00414f90
mov eax, dword [esp + 0x18]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0xc8], esp
mov esi, esp
call fcn.00403820
add eax, 0x10
mov dword [esi], eax
call fcn.0040bc10
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4094fb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0xc0]
push ecx
call edi
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x409518
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esp + 0xb0]
push ecx
call edi
mov edx, dword [esp + 0xac]
push edx
call edi
xor edi, edi
push str.m_QNx:
call fcn.00401570
add esp, 4
cmp eax, edi
jne 0x409549
push 0x80004005
jmp 0x408380
mov ecx, eax
mov eax, dword [esp + 0x6c]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x409576
cmp dx, di
je 0x409572
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x409576
add eax, 4
add ecx, 4
cmp dx, di
jne 0x409550
xor eax, eax
jmp 0x40957b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x4095a2
mov eax, dword [esp + 0x18]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0xc8], esp
mov esi, esp
call fcn.00403820
add eax, 0x10
mov dword [esi], eax
call fcn.0040bc10
add esp, 4
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4095c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4095e2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409602
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0xa8]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push ecx
call esi
mov eax, dword [esp + 0xa0]
cmp eax, edi
je 0x409625
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esp + 0x98]
push ecx
call esi
mov edx, dword [esp + 0x94]
push edx
call esi
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409659
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x8c]
push ecx
call esi
mov eax, dword [esp + 0x84]
cmp eax, edi
je 0x409676
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esp + 0x7c]
push ecx
call esi
mov edx, dword [esp + 0x78]
push edx
call esi
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4096a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4096c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4096e4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409704
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409724
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409744
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409767
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409787
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4097a7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4097c7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4097e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409807
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409827
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409847
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409867
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
mov ebx, dword [esp + 0x24]
push eax
push ecx
lea edi, [esp + 0x4c]
lea esi, [esp + 0x60]
call fcn.00401e80
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.00415281
mov ecx, dword [esp + 0x1f0]
add esp, 4
pop edi
pop esi
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.0041528c
mov esp, ebp
pop ebp
ret 0x10
lea edx, [esp + 0x44]
push edx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x48], ebx
call fcn.0041593c
push 0x42a1c8
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], vtable.std::bad_alloc.0
call fcn.00416f5a
mov edi, edi
test dword [ebx - 0x7c84ffc0], eax
inc eax
add byte [ebx], dl
test dword [eax], eax
mov esp, 0x408f
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
lea ecx, [ecx]
sbb eax, 0x7b004085
add dword [eax], 19
test dword [eax], eax
push ebp
xchg byte [eax], al
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add byte [ebp - 1927217079], cl
inc eax
add byte [ebx - 0x7d], bh
inc eax
add byte [edi], dl
lea eax, [eax]
mov esp, 0x408f
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
lea ecx, [ecx]
and edx, dword [eax + eax*2 + 0x40837b00]
add byte [edi], dl
lea eax, [eax]
mov esp, 0x408f
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
int3