Function at 0x40fe42
Capabilities:
Get common file path
Get system information on windows
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2190
call fcn.00414250
mov eax, dword [0x415884]
xor eax, esp
mov dword [esp + 0x218c], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
push esi
push edi
push 0xb
mov dword [esp + 0xc], eax
pop eax
mov dword [esp + 0x1c], eax
mov eax, ecx
push 0xe00
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x394]
push ecx
push eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
call sub.msvcrt.dll_memset
xor eax, eax
lea edi, [esp + 0x124]
stosd dword es:[edi], eax
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x70], ecx
xor edx, edx
mov dword [esp + 0xa0], ecx
inc edx
mov dword [esp + 0x74], ecx
stosd dword es:[edi], eax
push ecx
push ecx
push edx
stosd dword es:[edi], eax
push ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x74], ecx
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0x104]
mov dword [esp + 0x70], ecx
stosd dword es:[edi], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], ecx
stosd dword es:[edi], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0xdc], ecx
stosd dword es:[edi], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x28], edx
stosd dword es:[edi], eax
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xa8], edx
stosd dword es:[edi], eax
mov eax, ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
lea eax, [esp + 0x158]
mov dword [esp + 0x158], 0x114
push eax
call dword [sym.imp.ntdll.dll_RtlGetVersion]
push 6
pop edi
push 0xa
pop esi
mov dword [esp + 0xd8], esi
test eax, eax
jne 0x410000
mov eax, dword [esp + 0x15c]
cmp eax, edi
ja 0x40ffd0
jne 0x40ffc9
xor edx, edx
inc edx
cmp dword [esp + 0x160], edx
ja 0x40ffd3
jmp 0x40ffcc
xor edx, edx
inc edx
xor cl, cl
jmp 0x40ffd5
xor edx, edx
inc edx
mov cl, dl
mov byte [0x415be8], cl
cmp eax, edi
ja 0x40ffed
jne 0x40ffeb
cmp dword [esp + 0x160], 2
ja 0x40ffed
xor dl, dl
cmp eax, esi
mov byte [0x415bf4], dl
sbb al, al
inc al
mov byte [0x415bdd], al
jmp 0x410006
mov cl, byte [0x415be8]
xor eax, eax
mov dword [0x415d1c], eax
test cl, cl
je 0x410050
push eax
push eax
push 0x40937c
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [0x415c0c], eax
test eax, eax
jne 0x41003d
push eax
push eax
push 0x409398
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [0x415c0c], eax
test eax, eax
je 0x41004e
push 0x4093e4
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x415d1c], eax
xor eax, eax
push eax
push eax
push 0x409400
mov dword [0x415c08], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
mov dword [0x416638], esi
test esi, esi
je 0x410085
push 0x409454
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, dword [0x416638]
mov dword [0x415c08], eax
push 0x11c0
call dword [sym.imp.msvcrt.dll_malloc]
mov edi, eax
mov dword [esp + 0x18], edi
pop ecx
test edi, edi
jne 0x4100c4
mov eax, dword [0x415c0c]
test eax, eax
je 0x4100b1
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [0x416638]
test esi, esi
je 0x4100bc
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0xe
pop eax
jmp 0x41088f
push 0x11c0
xor esi, esi
push esi
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [edi], 0x11c0
lea eax, [edi + 0x88]
mov dword [edi + 0x2c], 0x20000
lea ecx, [edi + 0x888]
mov dword [edi + 0x70], 0x88
mov dword [edi + 0x6c], 0x888
push 0x404af4
push 0x400
push eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x88], ecx
call dword [sym.imp.msvcrt.dll_wcscpy_s]
lea eax, [edi + 0x48]
add esp, 0xc
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 8]
dec eax
mov dword [ebp + 8], eax
test eax, eax
jle 0x411e59
mov edx, dword [esp + 8]
mov dword [esp + 0x54], 0x2d
mov dword [esp + 0xc0], 0x2f
push 4
pop eax
add edx, eax
mov dword [esp + 0x3c], edx
mov edi, dword [edx]
mov cx, word [edi]
call fcn.0040c334
test al, al
je 0x411e8f
push 0x2d
pop eax
mov word [edi], ax
lea edx, [esp + 0x3c]
mov edi, dword [esp + 0xa8]
lea eax, [esp + 0xc]
push eax
push edi
lea eax, [ebp + 8]
mov ecx, 0x409474
push eax
call fcn.0040fd63
test al, al
je 0x41019a
xor eax, eax
inc eax
jmp 0x410f7d
lea eax, [esp + 0xc]
mov ecx, 0x409484
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x4101c0
mov dword [esp + 0x1c], 5
jmp 0x4101e4
lea eax, [esp + 0xc]
mov ecx, 0x409498
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x4101ed
mov dword [esp + 0x1c], 0xa
mov dword [esp + 0x4c], esi
jmp 0x410f81
lea eax, [esp + 0xc]
mov ecx, 0x4094b0
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x410216
mov dword [esp + 0x1c], 5
jmp 0x410f81
lea eax, [esp + 0xc]
mov ecx, 0x4094c0
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x41023f
mov dword [esp + 0x1c], 0xa
jmp 0x410f81
lea eax, [esp + 0xc]
mov ecx, 0x4094d4
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x410262
push 0xe
jmp 0x410f7c
lea eax, [esp + 0xc]
mov ecx, 0x4094f0
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x41028b
mov dword [esp + 0x1c], 2
jmp 0x410f81
lea eax, [esp + 0xc]
mov ecx, 0x4094fc
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x4102b4
mov dword [esp + 0x1c], 3
jmp 0x410f81
lea eax, [esp + 0xc]
mov ecx, 0x40950c
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x4102dd
mov dword [esp + 0x1c], 9
jmp 0x410f81
lea eax, [esp + 0xc]
mov ecx, 0x40951c
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x410306
mov dword [esp + 0x1c], 0xd
jmp 0x410f81
lea eax, [esp + 0xc]
mov ecx, 0x40953c
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x41032b
mov dword [esp + 0x1c], esi
jmp 0x410f81
lea eax, [esp + 0xc]
mov ecx, 0x409544
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x41034e
push 7
jmp 0x410f7c
lea eax, [esp + 0xc]
mov ecx, 0x409554
push eax
push edi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x410377
mov dword [esp + 0x1c], 0x11
jmp 0x410f81
mov edi, dword [esp + 0x3c]
push 0x409574
mov dword [esp + 0xc], edi
push dword [edi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4103a1
push 8
pop eax
mov dword [esp + 0x1c], eax
mov edi, dword [ebp + 8]
jmp 0x411ccf
push 0x409588
push dword [edi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41040b
mov edi, dword [ebp + 8]
xor edx, edx
push 0xc
inc edx
pop eax
mov dword [esp + 0x1c], eax
cmp edi, edx
jle 0x411ccf
mov esi, dword [esp + 8]
add esi, 4
push 0x23
mov dword [esp + 0xc], esi
mov ecx, dword [esi]
pop esi
movzx eax, word [ecx]
cmp ax, si
jne 0x4103f9
add ecx, 2
lea edx, [esp + 0x118]
call fcn.0040c4b0
xor eax, eax
inc eax
mov dword [esp + 0x34], eax
jmp 0x410405
cmp eax, 0x2e
jne 0x410405
mov dword [esp + 0x88], edx
dec edi
jmp 0x411ccf
push 0x4095a0
push dword [edi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410485
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
mov eax, dword [esp + 8]
add eax, 4
mov dword [esp + 8], eax
mov edx, dword [eax]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x8c], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x410443
sub ecx, dword [esp + 0x8c]
sar ecx, 1
lea eax, [ecx + 1]
mov ecx, 0x400
cmp eax, ecx
ja 0x411cee
push edx
push ecx
push dword [esp + 0x84]
call dword [sym.imp.msvcrt.dll_wcscpy_s]
xor eax, eax
add esp, 0xc
inc eax
mov dword [esp + 0x8c], eax
jmp 0x410405
push 0x4095e8
push dword [edi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4104a7
mov ecx, dword [esp + 0x14]
push 4
pop eax
or dword [ecx + 0x40], eax
jmp 0x410399
push 0x4095f8
push dword [edi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4104c7
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x20
jmp 0x410399
push 0x40960c
push dword [edi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4104ea
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x1200
jmp 0x410399
push 0x409628
push dword [edi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41050d
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x2000
jmp 0x410399
push 0x409630
push dword [edi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4105ec
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
mov esi, dword [esp + 8]
push 0x23
lea eax, [esi + 4]
mov edx, dword [eax]
mov dword [esp + 0x48], eax
pop eax
movzx ecx, word [edx]
cmp cx, ax
jne 0x410570
lea ecx, [edx + 2]
lea edx, [esp + 0x390]
call fcn.0040c4b0
test al, al
je 0x411d02
mov edx, dword [esp + 0x44]
xor eax, eax
dec edi
inc eax
mov dword [esp + 0x34], eax
jmp 0x411cd3
cmp ecx, 0x2a
jne 0x410586
lea ecx, [edx + 2]
lea edx, [esp + 0x390]
call fcn.004137b3
jmp 0x41055f
call fcn.0040c334
test al, al
jne 0x411ccf
push 0x400
push edx
lea eax, [esp + 0x1998]
push eax
call dword [sym.imp.msvcrt.dll__wfullpath]
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x39c]
add esp, 8
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x1994]
dec edi
call fcn.0040e87e
mov ecx, eax
mov dword [esp + 0x34], ecx
test ecx, ecx
js 0x411d13
jne 0x411ccf
lea eax, [esp + 0x1990]
push eax
push 0x4096b8
jmp 0x411d0a
cmp byte [0x415bf4], 0
je 0x410a97
push 0x4096e8
push dword [edi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4106cb
cmp dword [esp + 0x94], eax
jne 0x411d29
cmp dword [ebp + 8], 2
jle 0x4106c1
add edi, 4
mov dword [esp + 8], edi
push dword [edi]
call dword [sym.imp.msvcrt.dll__wtoi]
mov edi, dword [ebp + 8]
pop ecx
movzx edx, ax
dec edi
push 8
pop eax
mov dword [esp + 0x94], edx
cmp edx, eax
ja 0x411d22
xor ecx, ecx
inc ecx
cmp edx, ecx
jb 0x411d22
mov eax, edi
mov dword [esp + 0x20], esi
mov edx, esi
mov dword [esp + 0x44], eax
mov esi, dword [esp + 8]
cmp eax, ecx
jle 0x4106b4
add esi, 4
mov eax, dword [esi]
mov cx, word [eax]
call fcn.0040c334
test al, al
jne 0x4106b4
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtol]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x48]
dec edi
mov dword [esp + 0xc], esi
pop ecx
mov dword [esp + edx*4 + 0x370], eax
inc edx
mov eax, edi
mov dword [esp + 0x20], edx
push 1
mov dword [esp + 0x48], eax
pop ecx
cmp edx, dword [esp + 0x94]
jb 0x41066b
cmp edx, dword [esp + 0x94]
je 0x411ccf
push 0x409740
jmp 0x411cf3
cmp byte [0x415bf4], 0
mov esi, dword [esp + 8]
je 0x410a9b
push 0x4097ec
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410725
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411d30
add esi, 4
mov dword [esp + 8], esi
mov eax, dword [esi]
mov cx, word [eax]
call fcn.0040c334
test al, al
jne 0x411d30
push 0x409804
lea edx, [esp + 0xb0]
jmp 0x4107cd
cmp byte [0x415bf4], 0
je 0x410a9b
push 0x40985c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410778
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411d37
add esi, 4
mov dword [esp + 8], esi
mov eax, dword [esi]
mov cx, word [eax]
call fcn.0040c334
test al, al
jne 0x411d37
push 0x409878
lea edx, [esp + 0xa8]
jmp 0x4107cd
cmp byte [0x415bf4], 0
je 0x410a9b
push 0x4098ec
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4108a3
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411d3e
add esi, 4
mov dword [esp + 8], esi
mov eax, dword [esi]
mov cx, word [eax]
call fcn.0040c334
test al, al
jne 0x411d3e
push 0x40990c
lea edx, [esp + 0xb4]
mov ecx, dword [esi]
dec edi
call fcn.0040c77e
mov esi, eax
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], esi
test esi, esi
je 0x410a8e
mov edi, dword [esp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x410805
push ecx
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov ecx, dword [esp + 0xa4]
test ecx, ecx
je 0x410818
push ecx
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov ecx, dword [esp + 0xb0]
test ecx, ecx
je 0x41082b
push ecx
call dword [sym.imp.msvcrt.dll_free]
pop ecx
xor eax, eax
mov ecx, dword [esp + eax*4 + 0xb8]
test ecx, ecx
je 0x410847
push ecx
call dword [sym.imp.msvcrt.dll_free]
mov eax, dword [esp + 0xb8]
pop ecx
inc eax
mov dword [esp + 0xb4], eax
cmp eax, 2
jb 0x41082d
push edi
call dword [sym.imp.msvcrt.dll_free]
mov eax, dword [0x415c0c]
pop ecx
test eax, eax
je 0x41086c
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x416638]
test eax, eax
je 0x41087c
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x415c10]
test eax, eax
je 0x41088d
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov eax, esi
mov ecx, dword [esp + 0x2194]
pop edi
pop esi
xor ecx, esp
call fcn.00413fa0
mov esp, ebp
pop ebp
ret
cmp byte [0x415bf4], 0
je 0x410a9b
mov edi, 0x4099b4
push edi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x4108db
push 0x4099d4
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410a9b
push edi
push dword [esi]
mov dword [esp + 0xe4], 0x4099f8
mov dword [esp + 0xe8], 0x409a0c
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410918
lea eax, [esp + 0xb8]
mov dword [esp + 0x58], eax
lea edi, [esp + 0xdc]
mov eax, dword [esp + 0x48]
jmp 0x410931
lea eax, [esp + 0xbc]
mov dword [esp + 0x58], eax
lea edi, [esp + 0xe0]
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x44], edi
test eax, eax
jne 0x411d8c
mov eax, dword [ebp + 8]
mov dword [esp + 0x48], eax
cmp eax, 3
jle 0x411d88
push 0x84
call dword [sym.imp.msvcrt.dll_malloc]
mov dword [esp + 0x24], eax
pop ecx
mov ecx, dword [esp + 0x58]
mov dword [ecx], eax
test eax, eax
je 0x411d7f
push 0x409b14
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410982
inc eax
jmp 0x41099c
push 0x409b1c
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411d76
xor al, al
mov edi, dword [esp + 0x20]
add esi, 8
mov byte [edi], al
push dword [esi]
mov dword [esp + 0xc], esi
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov word [edi + 2], ax
mov edi, dword [esp + 0x48]
push 0x40
pop ecx
add edi, 0xfffffffe
cmp ax, cx
ja 0x411d69
xor ecx, ecx
inc ecx
cmp ax, cx
jb 0x411d69
and dword [esp + 0x10], 0
xor ecx, ecx
movzx edx, ax
mov eax, edx
cmp cx, ax
jae 0x410a6e
mov dword [esp + 0x20], edi
mov ecx, edx
mov dword [esp + 0x48], 4
xor eax, eax
movzx edx, cx
inc eax
cmp dword [esp + 0x20], eax
jle 0x410a6e
lea eax, [esi + 4]
movzx edx, cx
mov esi, dword [eax]
mov dword [esp + 0x50], eax
mov cx, word [esi]
call fcn.0040c334
test al, al
jne 0x410a6e
push esi
call dword [sym.imp.msvcrt.dll__wtol]
mov edx, eax
pop ecx
cmp edx, 0xffff
jae 0x411d45
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x50]
dec edi
inc dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [esp + 0x48]
add dword [esp + 0x48], 2
mov dword [esp + 8], esi
mov dword [esp + 0x20], edi
mov word [eax + ecx], dx
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
movzx eax, word [eax + 2]
mov ecx, eax
mov edx, eax
cmp dword [esp + 0x10], eax
jb 0x4109f8
movzx eax, dx
cmp dword [esp + 0x10], eax
jne 0x411d5c
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x48], eax
mov edx, dword [esp + 8]
jmp 0x411cdb
mov esi, dword [esp + 8]
push 0x409c4c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410b0f
push eax
push 8
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
pop eax
push eax
lea eax, [esp + 0xec]
push eax
push 0x1f
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
jne 0x411d98
cmp dword [esp + 0xe8], 0x46
jb 0x410afe
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x2c], 0x800000
or dword [ecx + 0x80], 2
mov byte [ecx + 0x74], 2
jmp 0x410399
push 0x409cf4
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
jmp 0x410399
push 0x409d34
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410b7b
push eax
push 8
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
pop eax
push eax
lea eax, [esp + 0xf4]
push eax
push 0x1f
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
jne 0x411daf
cmp dword [esp + 0xf0], 0x50
jb 0x410b74
mov ecx, dword [esp + 0x14]
push 4
pop eax
or dword [ecx + 0x2c], 0x800000
or dword [ecx + 0x80], eax
mov byte [ecx + 0x74], 2
jmp 0x410399
push 0x409df8
jmp 0x410b03
push 0x409e40
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410be2
mov edi, dword [ebp + 8]
inc eax
mov dword [esp + 0x58], edi
cmp edi, eax
jle 0x411ccf
lea eax, [esi + 4]
mov ecx, dword [eax]
push 0x23
mov dword [esp + 0x54], eax
pop eax
cmp word [ecx], ax
jne 0x411ccf
add ecx, 2
lea edx, [esp + 0x128]
call fcn.0040c4b0
mov edi, dword [esp + 0x14]
lea esi, [esp + 0x128]
mov edx, dword [esp + 0x50]
lea edi, [edi + 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x58]
dec edi
jmp 0x411cd3
push 0x409e5c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410c05
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x80
jmp 0x410399
push 0x409e6c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410c27
mov eax, dword [esp + 0x14]
xor ecx, ecx
inc ecx
mov dword [eax + 0x28], ecx
jmp 0x410399
push 0x409e8c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410c4a
mov eax, dword [esp + 0x14]
mov dword [eax + 0x28], 2
jmp 0x410399
push 0x409eac
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410c6d
mov eax, dword [esp + 0x14]
mov dword [eax + 0x28], 3
jmp 0x410399
push 0x409ec8
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410cb1
mov edi, dword [ebp + 8]
xor edx, edx
inc edx
cmp edi, edx
jle 0x411ccf
mov eax, dword [esp + 0x14]
or dword [eax + 0x40], edx
add esi, 4
mov dword [esp + 8], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x3c], eax
jmp 0x410405
push 0x409ed4
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410cda
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
mov eax, dword [esp + 0x14]
or dword [eax + 0x40], 8
jmp 0x410c95
push 0x409ee8
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410cfd
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x40000
jmp 0x410399
push 0x409efc
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410d29
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
mov eax, dword [esp + 0x14]
or dword [eax + 0x40], 2
jmp 0x410c95
push 0x409f08
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410d8c
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
cmp byte [0x415be8], 0
pop ecx
mov ecx, eax
jne 0x410d80
cmp byte [0x415bdf], 0
je 0x410d80
cmp ecx, 3
jbe 0x410d80
push 0x409f10
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push 3
pop ecx
mov eax, dword [esp + 0x14]
mov dword [eax + 0x30], ecx
jmp 0x410405
push 0x409fa0
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410de0
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
push 0x78
pop edx
mov dword [esp + 8], esi
mov ecx, dword [esi]
movzx eax, word [ecx + 2]
cmp ax, dx
je 0x410dd2
push 0x58
pop edx
cmp ax, dx
je 0x410dd2
push ecx
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
jmp 0x410dd7
call fcn.0040c3f7
or dword [esp + 0x64], eax
jmp 0x410405
push 0x409fc0
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410e25
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
mov ecx, dword [esi + 4]
push 0x23
pop eax
cmp word [ecx], ax
jne 0x411ccf
add ecx, 2
lea edx, [esp + 0x118]
call fcn.0040c4b0
lea edx, [esi + 4]
jmp 0x410bdc
push 0x409fd8
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410e7d
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
push 0x78
pop edx
mov dword [esp + 8], esi
mov ecx, dword [esi]
movzx eax, word [ecx + 2]
cmp ax, dx
je 0x410e6b
push 0x58
pop edx
cmp ax, dx
je 0x410e6b
push ecx
call dword [sym.imp.msvcrt.dll__wtoi64]
pop ecx
jmp 0x410e70
call fcn.0040c3f7
or dword [esp + 0x60], eax
or dword [esp + 0x5c], edx
jmp 0x410405
push 0x409ff0
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410edb
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
push 0x78
pop edx
mov dword [esp + 8], esi
mov ecx, dword [esi]
movzx eax, word [ecx + 2]
cmp ax, dx
je 0x410ec3
push 0x58
pop edx
cmp ax, dx
je 0x410ec3
push ecx
call dword [sym.imp.msvcrt.dll__wtoi64]
pop ecx
jmp 0x410ec8
call fcn.0040c3f7
or dword [esp + 0x84], eax
or dword [esp + 0x80], edx
jmp 0x410405
push 0x40a008
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x411c78
push 0x40a014
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x411c78
push 0x40a064
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x411b4f
push 0x40a074
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x411b4f
mov esi, dword [esp + 0xa8]
lea eax, [esp + 0xc]
push eax
push esi
lea eax, [ebp + 8]
mov ecx, 0x40a0d8
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x410f5e
push 0xf
jmp 0x410f7c
lea eax, [esp + 0xc]
mov ecx, 0x40a0f8
push eax
push esi
lea eax, [ebp + 8]
push eax
lea edx, [esp + 0x48]
call fcn.0040fd63
test al, al
je 0x410f9d
push 0x10
pop eax
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0xc]
mov dword [esp + 0x10], esi
test esi, esi
jne 0x4107e7
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x3c]
jmp 0x411cdb
mov esi, dword [esp + 0x3c]
push 0x40a10c
mov dword [esp + 0xc], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410fc8
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x2000000
jmp 0x410399
push 0x40a128
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411032
cmp byte [0x415bdc], al
je 0x410ff3
push 0x40a138
call dword [sym.imp.msvcrt.dll_wprintf]
jmp 0x410b09
xor eax, eax
mov dword [0x416660], 0x307
mov dword [0x416668], eax
mov dword [0x41666c], eax
mov dword [0x416670], eax
mov dword [0x416674], eax
mov dword [0x416678], eax
mov dword [0x41667c], eax
inc eax
mov dword [0x416664], 0x4084
mov byte [0x415bdc], al
jmp 0x410399
push 0x40a1c4
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4110f8
mov edi, dword [ebp + 8]
cmp edi, 2
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
movzx ecx, ax
xor edx, edx
inc edx
dec edi
lea eax, [ecx - 1]
cmp ax, dx
ja 0x411db7
and dword [esp + 0x20], 0
mov eax, ecx
mov dword [esp + 0x50], eax
test eax, eax
je 0x4110e0
mov eax, edi
mov dword [esp + 0x44], eax
cmp eax, edx
jle 0x4110e0
add esi, 4
mov ecx, dword [esi]
movzx eax, word [ecx]
cmp ax, word [esp + 0xc0]
je 0x4110e0
cmp ax, word [esp + 0x54]
je 0x4110e0
push ecx
call dword [sym.imp.msvcrt.dll__wtol]
mov edx, dword [esp + 0x24]
inc dword [0x415bf0]
mov edi, dword [esp + 0x48]
dec edi
mov dword [esp + 0xc], esi
mov dword [edx*4 + 0x415c00], eax
inc edx
cmp edx, dword [esp + 0x54]
mov eax, edi
pop ecx
push 1
mov dword [esp + 0x24], edx
mov dword [esp + 0x48], edi
pop edx
jb 0x41108d
cmp dword [0x415bf0], 0
jbe 0x411ccf
mov byte [0x415be9], dl
jmp 0x411ccf
push 0x40a210
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411189
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411178
add esi, 4
lea eax, [esp + 0x1990]
push 0x400
mov dword [esp + 0xc], esi
push dword [esi]
push eax
call dword [sym.imp.msvcrt.dll__wfullpath]
add esp, 0xc
lea ecx, [esp + 0x1990]
call fcn.0040fa56
mov dword [0x415be4], eax
test eax, eax
jne 0x411160
mov ecx, dword [esi]
mov edx, 0x415d20
push 0x40
pop eax
push eax
call fcn.0040c9c6
mov dword [0x415be4], eax
test eax, eax
je 0x41116d
xor eax, eax
inc eax
mov byte [0x415beb], al
jmp 0x410405
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x410405
push 0x40a228
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
jmp 0x411ccf
push 0x40a244
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x411a87
push 0x40a264
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x411a87
push 0x40a34c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411231
and dword [esp + 0x20], eax
inc eax
mov edi, dword [ebp + 8]
cmp edi, eax
jle 0x411dc8
add esi, 4
mov dword [esp + 8], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
mov dword [esp + 0x54], eax
dec edi
xor eax, eax
inc eax
pop ecx
cmp edi, eax
jle 0x411211
mov edx, dword [esi + 4]
mov cx, word [edx]
call fcn.0040c334
test al, al
jne 0x411211
add esi, 4
mov ecx, edx
mov dword [esp + 8], esi
dec edi
jmp 0x411215
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x50]
call fcn.0040fc11
test al, al
je 0x411dc1
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x411ccf
push 0x40a3b8
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41126d
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
mov edx, 0x415c10
mov dword [esp + 8], esi
mov ecx, dword [esi]
call fcn.0040cab6
mov byte [0x415bea], al
jmp 0x410405
cmp byte [0x415bdd], 0
je 0x4112ed
push 0x40a3c4
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4112ad
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
mov ecx, dword [esi]
call fcn.0040cdea
mov byte [0x415bed], al
jmp 0x410405
cmp byte [0x415bdd], 0
je 0x4112ed
push 0x40a3d0
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4112ed
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
mov ecx, dword [esi]
call fcn.0040d0f8
mov byte [0x415bde], al
jmp 0x410405
cmp byte [0x415be8], 0
je 0x41132f
push 0x40a3dc
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41132f
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
lea ecx, [esp + 0xf4]
mov dword [esp + 8], esi
mov edx, dword [esi]
call fcn.0040c6d5
jmp 0x410405
push 0x40a400
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x411a7b
push 0x40a418
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x411a7b
push 0x40a434
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411385
mov esi, 0x40bca4
mov edi, dword [esp + 0x14]
lea edi, [edi + 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x410399
push 0x40a440
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41139f
mov esi, 0x40bc74
jmp 0x411375
push 0x40a454
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4113c2
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x8000
jmp 0x410399
push 0x40a45c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4113e5
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x4000
jmp 0x410399
push 0x40a464
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411420
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x34], eax
jmp 0x410405
push 0x40a470
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41145b
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x38], eax
jmp 0x410405
push 0x40a47c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4114b2
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
push 0x78
pop edx
mov dword [esp + 8], esi
mov ecx, dword [esi]
movzx eax, word [ecx + 2]
cmp ax, dx
je 0x4114a1
push 0x58
pop edx
cmp ax, dx
je 0x4114a1
push ecx
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
jmp 0x4114a9
call fcn.0040c3f7
movzx eax, al
mov dword [esp + 0x74], eax
jmp 0x410405
push 0x40a48c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41150a
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
push 0x404a5c
mov dword [esp + 0xc], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x4114f5
mov eax, dword [esp + 0x14]
push 0x10
pop ecx
or dword [eax + 0x40], ecx
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x44], eax
jmp 0x410405
cmp byte [0x415bf4], 0
je 0x41154e
push 0x40a494
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41154e
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x4c], eax
jmp 0x410405
push 0x40a49c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411571
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x800
jmp 0x410399
push 0x40a4a4
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411594
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x1000000
jmp 0x410399
cmp byte [0x415be8], 0
je 0x4115c0
push 0x40a4b4
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4115c0
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x80000000
jmp 0x410399
push 0x40a4d8
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x411a35
push 0x40a4f0
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x411a35
push 0x40a50c
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411644
mov ecx, dword [esp + 0x14]
inc eax
mov edi, dword [ebp + 8]
or dword [ecx + 0x40], 0x100
cmp edi, eax
jle 0x411ccf
lea edx, [esi + 4]
mov eax, dword [edx]
mov cx, word [eax]
call fcn.0040c334
test al, al
jne 0x411ccf
mov eax, dword [edx]
dec edi
cmp word [eax], 0x62
jne 0x411cd3
push 0x40a518
jmp 0x411cf3
cmp byte [0x415bf4], 0
je 0x411670
push 0x40a5ac
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411670
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x8000000
jmp 0x410399
push 0x40a5c8
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4116aa
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x80000
cmp byte [0x415be8], al
jne 0x41169d
mov dword [ecx + 0x30], 3
xor eax, eax
inc eax
mov byte [0x415bdf], al
jmp 0x410399
push 0x40a5d0
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4116cd
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x400
jmp 0x410399
push 0x40a5e8
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4116f0
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x10000000
jmp 0x410399
cmp byte [0x415be8], 0
je 0x411769
push 0x40a604
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411769
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
push 0x40a624
mov dword [esp + 0xc], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411742
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x400000
jmp 0x410405
push 0x40a630
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x410405
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], 0x800000
jmp 0x410405
push 0x40a640
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41179e
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x41178e
push 4
pop eax
add esi, eax
dec edi
mov dword [esp + 8], esi
push 0x40a650
call dword [sym.imp.msvcrt.dll_wprintf]
jmp 0x411183
push 0x40a6ec
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4117d6
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov dword [esp + 0x78], eax
jmp 0x410405
push 0x40a700
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411811
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov dword [esp + 0xcc], eax
jmp 0x410405
push 0x40a710
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41184a
mov edi, dword [ebp + 8]
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
mov ecx, dword [esi]
call fcn.0040c3f7
mov dword [esp + 0xc4], eax
jmp 0x410405
push 0x40a720
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411868
and dword [esp + 0x70], eax
push 4
jmp 0x410394
push 0x40a728
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41188e
push 4
pop eax
mov dword [esp + 0x1c], eax
xor eax, eax
inc eax
mov dword [esp + 0x70], eax
jmp 0x410399
push 0x40a730
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4118b6
xor ecx, ecx
inc ecx
push 4
mov dword [esp + 0x74], ecx
mov dword [esp + 0xa4], ecx
jmp 0x410394
push 0x40a738
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4118d5
and dword [esp + 0xd4], eax
jmp 0x410399
push 0x40a750
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4118f4
and dword [esp + 0xd0], eax
jmp 0x410399
push 0x40a764
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411913
and dword [esp + 0x98], eax
jmp 0x410399
push 0x40a774
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411932
and dword [esp + 0x9c], eax
jmp 0x410399
push 0x40a784
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411957
mov ecx, dword [esp + 0x90]
or dword [ecx], 0x200
jmp 0x410399
push 0x40a790
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41197c
mov ecx, dword [esp + 0x90]
or dword [ecx], 0x1000
jmp 0x410399
push 0x40a798
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4119a1
mov ecx, dword [esp + 0x90]
or dword [ecx], 0x2000
jmp 0x410399
push 0x40a7a0
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4119c5
mov ecx, dword [esp + 0x90]
push 4
pop eax
or dword [ecx], eax
jmp 0x410399
push 0x40a7ac
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4119ea
mov ecx, dword [esp + 0x90]
or dword [ecx], 0x20000
jmp 0x410399
push 0x40a7b4
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411a0a
inc eax
mov dword [esp + 0xc8], eax
jmp 0x410399
mov eax, dword [esi]
movzx eax, word [eax + 2]
cmp eax, 0x68
je 0x411dd5
cmp eax, 0x48
je 0x411dd5
push 0x3f
pop ecx
cmp ax, cx
je 0x411dd5
push 0xb
jmp 0x410394
mov edi, dword [ebp + 8]
xor eax, eax
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
push 0x78
pop edx
mov dword [esp + 8], esi
mov ecx, dword [esi]
movzx eax, word [ecx + 2]
cmp ax, dx
je 0x411a6a
push 0x58
pop edx
cmp ax, dx
je 0x411a6a
push ecx
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
jmp 0x411a6f
call fcn.0040c3f7
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x40], eax
jmp 0x410405
xor eax, eax
inc eax
mov dword [esp + 0x6c], eax
jmp 0x410399
mov edi, dword [ebp + 8]
xor eax, eax
inc eax
cmp edi, eax
jle 0x411b3e
cmp byte [0x415bec], 0
jne 0x411ad5
mov esi, dword [0x415d1c]
test esi, esi
je 0x411de3
xor eax, eax
mov ecx, esi
push eax
push 4
push 0x415be0
push 0x16
push eax
call dword [0x4171a0]
call esi
test eax, eax
jne 0x411ddc
mov esi, dword [esp + 8]
inc eax
mov byte [0x415bec], al
mov eax, dword [0x415be0]
shl eax, 2
push eax
call dword [sym.imp.msvcrt.dll_malloc]
mov dword [esp + 0x24], eax
pop ecx
test eax, eax
je 0x411e21
xor ecx, ecx
add esi, 4
inc ecx
mov dword [esp + 8], esi
push ecx
lea ecx, [esp + 0x3c]
mov edx, eax
push ecx
mov ecx, dword [esi]
call fcn.0040c805
mov esi, dword [esp + 0x20]
test al, al
je 0x411df6
mov edx, dword [esp + 0x38]
test edx, edx
je 0x411e0d
mov ecx, esi
call fcn.0040fb9b
test al, al
je 0x411df6
push esi
call dword [sym.imp.msvcrt.dll_free]
pop ecx
jmp 0x410405
push 0x40a328
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
jmp 0x411226
cmp byte [0x415be8], 0
je 0x411b63
mov eax, dword [esp + 0x14]
or dword [eax + 0x40], 0x2000000
mov edi, dword [ebp + 8]
xor eax, eax
inc eax
cmp edi, eax
jle 0x411ba7
lea eax, [esi + 4]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
movzx eax, word [eax]
push eax
call dword [sym.imp.msvcrt.dll_iswalpha]
pop ecx
test eax, eax
je 0x411ba7
mov esi, dword [esp + 0x50]
mov ecx, dword [esi]
call fcn.0040de23
test eax, eax
je 0x411cfa
xor eax, eax
mov edx, esi
inc eax
mov byte [0x415bdc], al
jmp 0x410bdc
cmp edi, 2
jle 0x411ccf
add esi, 4
mov dword [esp + 8], esi
push dword [esi]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
movzx edx, ax
dec edi
push 7
pop ecx
mov dword [esp + 0x58], edi
lea eax, [edx - 1]
cmp ax, cx
ja 0x411e34
push 8
pop eax
mov ecx, eax
mov edi, 0x416660
xor eax, eax
and dword [esp + 0x20], eax
rep stosd dword es:[edi], eax
mov eax, edx
mov dword [esp + 0x50], eax
test eax, eax
je 0x411c3e
mov edi, dword [esp + 0x58]
xor eax, eax
inc eax
cmp edi, eax
jle 0x411c3e
add esi, 4
push 0x2f
pop edx
mov ecx, dword [esi]
movzx eax, word [ecx]
cmp ax, dx
je 0x411c3e
push 0x2d
pop edx
cmp ax, dx
je 0x411c3e
call fcn.0040c3f7
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], esi
mov dword [ecx*4 + 0x416660], eax
inc ecx
lea eax, [edi - 1]
mov dword [esp + 0x20], ecx
mov edi, eax
mov dword [esp + 0x58], eax
cmp ecx, dword [esp + 0x50]
jb 0x411bf7
mov eax, dword [0x416664]
test al, 2
jne 0x411c4e
test eax, 0x400
je 0x411c6a
push 8
pop eax
mov ecx, eax
lea edi, [esp + 0x138]
xor eax, eax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x138]
call fcn.0040d343
mov edi, dword [esp + 0x58]
xor eax, eax
inc eax
mov byte [0x415bdc], al
jmp 0x411ccf
mov edi, dword [ebp + 8]
xor eax, eax
inc eax
cmp edi, eax
jle 0x411ccf
add esi, 4
push 0x78
pop edx
mov dword [esp + 8], esi
mov ecx, dword [esi]
movzx eax, word [ecx + 2]
cmp ax, dx
je 0x411caa
push 0x58
pop edx
cmp ax, dx
je 0x411caa
push ecx
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
cdq
jmp 0x411caf
call fcn.0040c3f7
or eax, dword [esp + 0x60]
or edx, dword [esp + 0x5c]
mov ecx, eax
and eax, 0x80000000
mov dword [esp + 0x60], ecx
dec edi
mov dword [esp + 0x5c], edx
or eax, edx
jne 0x411e3e
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], eax
dec edi
mov dword [ebp + 8], edi
test edi, edi
jle 0x411e55
xor esi, esi
jmp 0x41014e
push 0x4095a8
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push 0x57
pop esi
jmp 0x4107e7
push dword [esi + 4]
push 0x409640
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
jmp 0x411cf9
lea eax, [esp + 0x1990]
push eax
push 0x409680
jmp 0x411d0a
push 0x409790
jmp 0x411cf3
push 0x409700
jmp 0x411cf3
push 0x409810
jmp 0x411cf3
push 0x409890
jmp 0x411cf3
push 0x409940
jmp 0x411cf3
mov eax, dword [esp + 0x44]
push dword [eax]
push edx
push 0x409bf8
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0xc
jmp 0x411cfa
mov eax, dword [esp + 0x44]
push dword [eax]
push 0x409a60
jmp 0x411d0a
mov eax, dword [esp + 0x44]
push dword [eax]
push 0x409b90
jmp 0x411d0a
push dword [edi]
push 0x409b28
jmp 0x411d0a
push dword [edi]
push 0x409ab0
jmp 0x411d0a
push dword [edi]
jmp 0x411d62
push dword [edi]
push 0x409a24
jmp 0x411d0a
push eax
push 0x409c60
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
pop ecx
mov esi, dword [esp + 0xc]
jmp 0x4107e7
push eax
push 0x409d58
jmp 0x411d9e
push 0x40a1d0
jmp 0x411cf3
push 0x40a390
jmp 0x411dcd
push 0x40a364
call dword [sym.imp.msvcrt.dll_printf]
jmp 0x411dee
call fcn.0040ec85
jmp 0x411da6
push 0x403508
jmp 0x411de8
push 0x4034a8
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push 0x57
jmp 0x4100be
push 0x40a2f8
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
mov dword [esp + 0xb4], 0x57
push esi
call dword [sym.imp.msvcrt.dll_free]
mov eax, dword [esp + 0xb8]
pop ecx
jmp 0x41088f
push 0x40a288
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push 0x7a
jmp 0x4100be
push 0x40a088
jmp 0x411cf3
push edx
push ecx
push edx
push ecx
push 0x40a024
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0x14
jmp 0x411cfa
mov edi, dword [esp + 0x14]
lea esi, [edi + 0x88]
mov ecx, 0x404af4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x411e9a
test dx, dx
je 0x411e88
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x411e9a
add eax, 4
add ecx, 4
test dx, dx
jne 0x411e66
xor ecx, ecx
xor eax, eax
inc ecx
jmp 0x411ea1
push edi
push 0x40a7bc
jmp 0x411d0a
sbb eax, eax
xor ecx, ecx
inc ecx
or eax, ecx
test eax, eax
jne 0x411f06
cmp dword [esp + 0xd4], 0
lea eax, [edi + 0x48]
je 0x411eb4
or dword [eax], ecx
cmp dword [esp + 0xd0], 0
je 0x411ec1
or dword [eax], 2
cmp dword [esp + 0x98], 0
je 0x411ed1
or dword [eax], 0x100
cmp dword [esp + 0x9c], 0
je 0x411ee1
or dword [eax], 0x10000
add edi, 0x18
mov esi, 0x40bcb4
push 0x40
pop eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
cmp dword [edi + 0x30], eax
jae 0x411efc
mov dword [edi + 0x30], eax
mov dword [esp + 0x24], ecx
lea esi, [edi + 0x88]
push 0x404184
push esi
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411f31
mov esi, 0x40bc94
push 3
add edi, 0x18
pop eax
mov dword [esp + 0x24], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
jmp 0x411f50
push 0x40a7f4
push esi
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411f4c
mov esi, 0x40bc84
push 2
jmp 0x411f1f
mov eax, dword [esp + 0x24]
test dword [edi + 0x40], 0x500
jne 0x411fb6
xor ecx, ecx
cmp eax, 3
je 0x411fb8
lea edx, [edi + 0x888]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x411f69
mov eax, dword [esp + 0x1c]
sub edx, esi
sar edx, 1
jne 0x411fbc
xor edx, edx
inc edx
cmp ax, dx
jne 0x411fbc
lea esi, [edi + 0x888]
push esi
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ecx, 0x400
cmp eax, ecx
jae 0x412000
sub ecx, eax
lea eax, [esi + eax*2]
push 0x40a818
push ecx
push eax
call dword [sym.imp.msvcrt.dll_wcscpy_s]
add esp, 0xc
xor ecx, ecx
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x8c], 0
je 0x412030
push 7
pop edx
cmp ax, dx
jne 0x412030
push ecx
push edi
lea eax, [edi + 0x88]
push eax
push dword [esp + 0x38]
push dword [esp + 0x38]
call dword [sym.imp.ADVAPI32.dll_ControlTraceW]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x41200e
push dword [esp + 0xa8]
push 0x40a87c
jmp 0x411d0a
push 0x40a838
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
jmp 0x411fb6
test dword [edi + 0x40], 0x400
jne 0x412034
push 0x40a8b8
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
xor eax, eax
lea ecx, [edi + 0x888]
mov word [ecx], ax
jmp 0x41203a
mov esi, dword [esp + 0x10]
lea ecx, [edi + 0x888]
mov edx, dword [esp + 0x1c]
movzx eax, dx
cmp eax, 0x11
ja case.0x41204a.11
jmp dword [eax*4 + 0x4134be]
test dword [edi + 0x40], 0x800
je 0x412089
xor eax, eax
inc eax
cmp dword [esp + 0x34], eax
je 0x412077
push 0x40a938
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push 0x57
pop esi
jmp 0x412956
add edi, 0x18
lea esi, [esp + 0x390]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
test byte [edi + 0x40], 8
je 0x4120ee
push 0x25
push ecx
call dword [sym.imp.msvcrt.dll_wcschr]
mov esi, eax
lea eax, [edi + 0x888]
push 0x25
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
add esp, 0x10
cmp eax, esi
jne 0x4120c8
lea eax, [edi + 0x888]
push 0x40a990
push eax
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x4120d8
push 0x40a998
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push 0x7b
jmp 0x412071
test byte [edi + 0x40], 8
je 0x4120ee
cmp dword [edi + 0x3c], 0
jne 0x4120ee
push 0x40aa18
jmp 0x412068
cmp dword [esp + 0x24], 3
jne 0x41212e
xor eax, eax
mov edx, edi
push 0x404184
push dword [edi + 0x28]
lea ecx, [eax + 1]
call fcn.0040ed46
mov esi, eax
test esi, esi
jne 0x412956
push 0x404184
lea eax, [esp + 0x6c]
mov ecx, edi
push eax
lea edx, [edi + 0x28]
call fcn.0040f3a1
mov esi, eax
jmp 0x412956
mov ecx, edi
call fcn.0040f2d9
cmp dword [edi + 0x48], 0
jge 0x41217d
push 0x10
pop esi
push esi
lea eax, [esp + 0x394]
push eax
push 0x40bc74
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x412172
push esi
lea eax, [esp + 0x394]
push eax
push 0x40bca4
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x41217d
and dword [edi + 0xc], 0
mov dword [edi + 8], 0x1000001
push edi
lea eax, [edi + 0x88]
push eax
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.ADVAPI32.dll_StartTraceW]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x4121d9
mov ecx, esi
call fcn.0040d9f1
push eax
push esi
push dword [esp + 0xb0]
push 0x40aa70
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0x10
cmp esi, 0x20
jne 0x412956
push dword [esp + 0x7c]
xor edi, edi
push 0x40aae8
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
pop ecx
jmp 0x41295a
push 0x40ab88
call dword [sym.imp.msvcrt.dll_wprintf]
cmp byte [0x415bea], 0
pop ecx
je 0x41220c
push 0x40abb0
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push dword [esp + 0x2c]
mov ecx, 0x415c10
push dword [esp + 0x2c]
call fcn.0040cba7
cmp byte [0x415bed], 0
je 0x41222e
push 0x40abf0
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.0040ce60
cmp byte [0x415bde], 0
je 0x412250
push 0x40ac28
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.0040d17b
cmp dword [esp + 0xf4], 0
jbe 0x412292
push 0x40ac60
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
lea ecx, [esp + 0xf4]
call fcn.0040c674
push 0x40ac74
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push dword [esp + 0x2c]
lea ecx, [esp + 0xf8]
push dword [esp + 0x2c]
call fcn.0040d2c1
cmp dword [esp + 0x6c], 0
je 0x4122b7
push 0x40ac78
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.0040d269
and dword [esp + 0x6c], 0
mov edx, dword [esp + 0x1c]
push 5
pop eax
cmp dx, ax
je 0x412356
push 0xa
pop eax
cmp dx, ax
je 0x412356
push 0xe
pop eax
cmp dx, ax
je 0x412356
push 0xf
pop eax
cmp dx, ax
je 0x412356
push 0x10
pop eax
cmp dx, ax
je 0x412356
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push 0xf
pop esi
cmp dx, si
mov esi, dword [esp + 0x34]
jne 0x41231a
test esi, esi
jne 0x41231c
mov esi, 0x40bcb4
lea edi, [esp + 0x390]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
inc esi
mov dword [esp + 0x34], esi
test esi, esi
jle 0x412919
cmp dword [esp + 0x24], 0
jne 0x412920
push 0xe
pop edi
cmp dx, di
jne 0x412448
push eax
push ecx
push 0x40ade8
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0xc
mov dword [esp + 0x70], 2
jmp 0x412477
test dword [edi + 0x40], 0x800
je 0x412388
xor eax, eax
inc eax
cmp dword [esp + 0x34], eax
je 0x412372
push 0x40aca8
jmp 0x412068
lea eax, [edi + 0x18]
mov edi, eax
lea esi, [esp + 0x390]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
jmp 0x41238b
lea eax, [edi + 0x18]
mov dword [esp + 0x7c], eax
lea ecx, [edi + 0x88]
xor eax, eax
push eax
push edi
push ecx
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_ControlTraceW]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x4123cd
xor ecx, ecx
mov edx, ecx
mov edi, dword [esp + 0x7c]
mov eax, 0x40bca4
mov eax, dword [eax + edx*4]
cmp eax, dword [edi + edx*4]
mov edi, dword [esp + 0x14]
jne 0x412412
push 4
inc edx
pop eax
cmp edx, eax
jne 0x4123b0
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x1c]
push 0x10
pop esi
mov dword [esp + 0x28], ecx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x2c], eax
cmp dx, si
jne 0x4122f3
push eax
push ecx
lea ecx, [edi + 0x888]
call fcn.0040d4fe
mov esi, eax
test esi, esi
je 0x412956
mov ecx, esi
call fcn.0040d9f1
push eax
push esi
push 0x40ad60
jmp 0x412438
mov eax, 0x40bc74
mov eax, dword [eax + ecx*4]
cmp eax, dword [edi + ecx*4 + 0x18]
jne 0x41242a
push 4
inc ecx
pop eax
cmp ecx, eax
jne 0x412412
jmp 0x4123cd
mov ecx, esi
call fcn.0040d9f1
push eax
push esi
push 0x40acf0
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0xc
xor edi, edi
jmp 0x41295a
push 0xf
pop edi
cmp dx, di
jne 0x41246a
push eax
push ecx
push 0x40ae38
mov dword [esp + 0x7c], 2
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0xc
jmp 0x412477
xor eax, eax
cmp dword [esp + 0x4c], eax
setne al
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x6c], eax
test esi, esi
je 0x412952
lea ecx, [esp + 0x3a8]
mov dword [esp + 0x98], 0x40aff0
mov dword [esp + 0x9c], ecx
xor eax, eax
inc eax
cmp byte [ecx - 8], al
jne 0x4124af
mov al, byte [ecx]
xor edi, edi
mov esi, dword [ecx - 4]
jmp 0x4124bb
mov al, byte [esp + 0x74]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov byte [esp + 0x20], al
mov edx, 0x80
lea eax, [ecx - 0x18]
mov dword [esp + 0x7c], edi
push eax
lea ecx, [esp + 0x1194]
mov dword [esp + 0x90], esi
mov dword [esp + 0xc4], eax
call fcn.0040c61c
mov edx, dword [esp + 0x1c]
push 0xe
pop eax
cmp dx, ax
je 0x412571
push 0xf
pop eax
cmp dx, ax
je 0x412571
xor eax, eax
inc eax
cmp dword [esp + 0x4c], eax
jne 0x412553
movzx eax, byte [esp + 0x20]
push 0xa
pop ecx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push eax
lea eax, [esp + 0x119c]
cmp dx, cx
jne 0x412541
push dword [esp + 0x8c]
push dword [esp + 0x94]
push edi
push esi
push eax
push 0x40ae90
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0x24
jmp 0x412571
push esi
push eax
push 0x40af38
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0x18
jmp 0x412571
push dword [esp + 0x2c]
lea eax, [esp + 0x1194]
push dword [esp + 0x2c]
push eax
push 0x40afb0
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0x10
mov eax, dword [esp + 0x1c]
xor edx, edx
push 0xf
pop ecx
mov edi, edx
mov esi, edx
cmp ax, cx
jne 0x4125a6
mov dword [esp + 0x270], 0x416660
mov dword [esp + 0x278], 0x20
mov dword [esp + 0x27c], 0x80000001
jmp 0x4125ce
cmp dword [esp + 0xc4], edx
je 0x4125e1
lea eax, [esp + 0xc4]
mov dword [esp + 0x27c], edx
push 4
mov dword [esp + 0x274], eax
pop eax
mov dword [esp + 0x278], eax
xor eax, eax
mov dword [esp + 0x274], edx
lea edi, [esp + 0x270]
lea esi, [eax + 1]
cmp dword [esp + 0x94], edx
je 0x412627
mov ecx, esi
lea eax, [esp + 0x370]
add ecx, ecx
lea edi, [esp + 0x270]
mov dword [esp + ecx*8 + 0x270], eax
mov eax, dword [esp + 0x94]
shl eax, 2
inc esi
mov dword [esp + ecx*8 + 0x27c], 0x80000004
mov dword [esp + ecx*8 + 0x274], edx
mov dword [esp + ecx*8 + 0x278], eax
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x412686
mov eax, esi
lea edi, [esp + 0x270]
shl eax, 4
mov dword [esp + 0x54], eax
mov dword [esp + eax + 0x27c], 0x80000008
mov dword [esp + eax + 0x270], ecx
mov dword [esp + eax + 0x274], edx
lea eax, [ecx + 2]
mov dword [esp + 0x38], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, dx
jne 0x412662
sub ecx, dword [esp + 0x38]
sar ecx, 1
inc esi
lea eax, [ecx*2 + 2]
mov ecx, dword [esp + 0x54]
mov dword [esp + ecx + 0x278], eax
mov ecx, dword [esp + 0xa4]
test ecx, ecx
je 0x4126e5
mov eax, esi
lea edi, [esp + 0x270]
shl eax, 4
mov dword [esp + 0x54], eax
mov dword [esp + eax + 0x27c], 0x80000010
mov dword [esp + eax + 0x270], ecx
mov dword [esp + eax + 0x274], edx
lea eax, [ecx + 2]
mov dword [esp + 0x38], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, dx
jne 0x4126c1
sub ecx, dword [esp + 0x38]
sar ecx, 1
inc esi
lea eax, [ecx*2 + 2]
mov ecx, dword [esp + 0x54]
mov dword [esp + ecx + 0x278], eax
mov ecx, dword [esp + 0xb0]
test ecx, ecx
je 0x412744
mov eax, esi
lea edi, [esp + 0x270]
shl eax, 4
mov dword [esp + 0x54], eax
mov dword [esp + eax + 0x27c], 0x80000020
mov dword [esp + eax + 0x270], ecx
mov dword [esp + eax + 0x274], edx
lea eax, [ecx + 2]
mov dword [esp + 0x38], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, dx
jne 0x412720
sub ecx, dword [esp + 0x38]
sar ecx, 1
inc esi
lea eax, [ecx*2 + 2]
mov ecx, dword [esp + 0x54]
mov dword [esp + ecx + 0x278], eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x412783
mov ecx, esi
lea edi, [esp + 0x270]
add ecx, ecx
inc esi
mov dword [esp + ecx*8 + 0x270], eax
mov dword [esp + ecx*8 + 0x27c], 0x80000200
mov dword [esp + ecx*8 + 0x274], edx
movzx eax, word [eax + 2]
lea eax, [eax*2 + 4]
mov dword [esp + ecx*8 + 0x278], eax
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x4127cc
mov ecx, esi
lea edi, [esp + 0x270]
add ecx, ecx
inc esi
push 4
mov dword [esp + ecx*8 + 0x274], eax
mov dword [esp + ecx*8 + 0x280], 0x80001000
mov dword [esp + ecx*8 + 0x278], edx
movzx eax, word [eax + 2]
lea eax, [eax*2 + 4]
mov dword [esp + ecx*8 + 0x27c], eax
pop eax
or dword [esp + 0x64], eax
mov cl, byte [0x415bf4]
xor eax, eax
test cl, cl
mov dword [esp + 0x114], edx
mov dword [esp + 0xfc], edx
setne al
mov dword [esp + 0x110], edi
inc eax
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xf8], eax
test cl, cl
je 0x41280c
mov dword [esp + 0x114], esi
lea eax, [esp + 0xf4]
push eax
push dword [esp + 0x7c]
lea esi, [esp + 0x120]
push dword [esp + 0x88]
lea edi, [esp + 0x10c]
push dword [esp + 0x90]
movsd dword es:[edi], dword [esi]
push dword [esp + 0x8c]
push dword [esp + 0xa0]
movsd dword es:[edi], dword [esi]
push dword [esp + 0x38]
push dword [esp + 0x8c]
movsd dword es:[edi], dword [esi]
push dword [esp + 0xe0]
push dword [esp + 0x50]
movsd dword es:[edi], dword [esi]
push dword [esp + 0x50]
call dword [sym.imp.ADVAPI32.dll_EnableTraceEx2]
mov edi, dword [esp + 0x4c]
mov esi, eax
cmp esi, 0x10dd
jne 0x41289e
mov eax, 0x40aff0
test edi, edi
jne 0x412882
mov eax, 0x40b000
push eax
push 0x40b010
call dword [sym.imp.msvcrt.dll_wprintf]
push 0x40b058
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0xc
xor esi, esi
test esi, esi
jne 0x4128cb
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x9c]
inc eax
add ecx, 0x1c
mov dword [esp + 0x6c], eax
mov dword [esp + 0x9c], ecx
cmp eax, dword [esp + 0x34]
jb 0x41249e
jmp 0x412956
test edi, edi
jne 0x4128da
mov dword [esp + 0x98], 0x40b000
mov eax, dword [esp + 0x6c]
push eax
push dword [esp + 0x9c]
push 0x40b088
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0xc
push esi
push 0x40b0d0
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
pop ecx
mov ecx, esi
call fcn.0040d9f1
push eax
push fcn.00404138
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
pop ecx
jmp 0x412956
cmp dword [esp + 0x24], 0
je 0x41292e
test esi, esi
jle 0x41292e
push 0x40b110
jmp 0x412068
cmp dword [esp + 0x6c], 0
je 0x4129d4
push 0x40ac78
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.0040d269
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x41296c
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
test edi, edi
je 0x4107e7
mov eax, dword [esp + 0x1c]
push 6
pop ecx
cmp ax, cx
je 0x4107e7
push 8
pop ecx
cmp ax, cx
je 0x4107e7
push 0xb
pop ecx
cmp ax, cx
je 0x4107e7
push 4
pop ecx
cmp ax, cx
je 0x4107e7
mov edi, dword [esp + 0x14]
push 0xc
pop ecx
cmp ax, cx
je 0x4107eb
push dword [esp + 0xc8]
mov edx, dword [esp + 0x6c]
xor eax, eax
inc eax
mov ecx, edi
push eax
push esi
call fcn.0040e185
jmp 0x4107eb
test esi, esi
jne 0x412952
push 5
pop eax
cmp dx, ax
jne 0x412952
push 0x40b188
jmp 0x412068
test dword [edi + 0x40], 0x800
je 0x412a1a
xor eax, eax
inc eax
cmp dword [esp + 0x34], eax
jne 0x412063
add edi, 0x18
lea esi, [esp + 0x390]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x24], 3
jne 0x412a35
push 0x404184
lea eax, [esp + 0x6c]
mov ecx, edi
push eax
lea edx, [edi + 0x28]
call fcn.0040f3a1
cmp dword [esp + 0x34], 0
jle 0x412b2f
xor ecx, ecx
lea esi, [esp + 0x390]
mov edx, ecx
mov eax, 0x40bca4
mov eax, dword [eax + edx*4]
cmp eax, dword [esi + edx*4]
jne 0x412a65
push 4
inc edx
pop eax
cmp edx, eax
jne 0x412a4b
jmp 0x412b2f
lea esi, [esp + 0x390]
mov edx, ecx
mov eax, 0x40bc74
mov eax, dword [eax + edx*4]
cmp eax, dword [esi + edx*4]
jne 0x412a88
push 4
inc edx
pop eax
cmp edx, eax
jne 0x412a6e
jmp 0x412b2f
test dword [edi + 0x40], 0x800
lea eax, [edi + 0x88]
push ecx
push edi
push eax
push dword [esp + 0x38]
push dword [esp + 0x38]
je 0x412adb
call dword [sym.imp.ADVAPI32.dll_ControlTraceW]
mov esi, eax
test esi, esi
jne 0x412956
mov ecx, dword [edi + 8]
mov dword [esp + 0x28], ecx
mov eax, dword [edi + 0xc]
push eax
push ecx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x398]
push eax
xor eax, eax
push eax
push 0x800
push eax
call dword [sym.imp.ADVAPI32.dll_EnableTrace]
jmp 0x412b2f
call dword [sym.imp.ADVAPI32.dll_ControlTraceW]
mov esi, eax
cmp esi, 0x1069
je 0x412956
cmp dword [esp + 0x34], 0
mov eax, dword [edi + 8]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x2c], eax
jbe 0x412b2f
mov edi, dword [esp + 0x34]
lea esi, [esp + 0x390]
push dword [esp + 0x2c]
xor eax, eax
push dword [esp + 0x2c]
push esi
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_EnableTrace]
add esi, 0x1c
sub edi, 1
jne 0x412b0f
mov edi, dword [esp + 0x14]
xor eax, eax
inc eax
push eax
push edi
lea eax, [edi + 0x88]
push eax
push dword [esp + 0x38]
push dword [esp + 0x38]
call dword [sym.imp.ADVAPI32.dll_ControlTraceW]
jmp 0x412127
push 4
pop eax
push eax
push edi
lea eax, [edi + 0x88]
push eax
xor eax, eax
push eax
push eax
jmp 0x412b43
lea ecx, [edi + 0x88]
mov edx, edi
push ecx
push dword [edi + 0x28]
xor ecx, ecx
call fcn.0040ed46
mov esi, eax
test esi, esi
jne 0x412956
lea eax, [edi + 0x88]
push eax
jmp 0x412118
mov edi, 0x41e00
push edi
call dword [sym.imp.msvcrt.dll_malloc]
mov esi, eax
mov dword [esp + 0x58], esi
pop ecx
test esi, esi
jne 0x412ba8
push 0xe
pop eax
jmp 0x412127
push edi
push 0
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, esi
xor ecx, ecx
push 0x40
pop edx
mov dword [eax], 0x1078
mov dword [eax + 0x6c], 0x878
mov dword [eax + 0x70], 0x78
mov dword [esp + ecx*4 + 0x270], eax
add eax, dword [eax]
inc ecx
cmp ecx, edx
jb 0x412bbb
lea eax, [esp + 0x78]
push eax
push edx
lea eax, [esp + 0x278]
push eax
call dword [sym.imp.ADVAPI32.dll_QueryAllTracesW]
mov esi, eax
test esi, esi
jne 0x412dce
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x78], eax
jbe 0x412dce
mov eax, dword [esp + eax*4 + 0x270]
xor edx, edx
push 0x3f
pop ecx
mov word [esp + 0xc], cx
mov edi, dword [eax + 0x70]
add edi, eax
cmp dword [esp + 0x70], edx
je 0x412d48
push 0x79
pop eax
cmp dword [esp + 0xa0], edx
jne 0x412c9f
push 0x6e
pop edx
cmp cx, dx
je 0x412ca7
push edi
push 0x40b1e8
call dword [sym.imp.msvcrt.dll_wprintf]
xor eax, eax
inc eax
push eax
lea eax, [esp + 0x18]
push eax
push 0x40b248
call dword [sym.imp.msvcrt.dll_wscanf_s]
add esp, 0x14
test eax, eax
je 0x412c86
cmp eax, 0xffffffff
je 0x412c86
mov cx, word [esp + 0xc]
cmp cx, 0x59
je 0x412c95
cmp cx, 0x4e
jne 0x412c8b
push 0x6e
pop eax
mov ecx, eax
mov word [esp + 0xc], cx
jmp 0x412c8b
mov cx, word [esp + 0xc]
push 0x79
pop eax
cmp cx, ax
jne 0x412c35
jmp 0x412cb0
push 0x79
pop ecx
mov word [esp + 0xc], cx
jmp 0x412cb0
mov cx, ax
mov word [esp + 0xc], cx
cmp cx, ax
jne 0x412d38
mov esi, dword [esp + 0x4c]
push 0x10
pop ecx
push ecx
mov eax, dword [esp + esi*4 + 0x274]
mov dword [esp + 0x3c], eax
add eax, 0x18
push 0x40bcb4
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x412d0f
mov edx, dword [esp + esi*4 + 0x270]
mov ecx, dword [edx + 8]
mov dword [esp + 0x28], ecx
mov eax, dword [edx + 0xc]
push eax
push ecx
mov dword [esp + 0x34], eax
xor ecx, ecx
lea eax, [edx + 0x18]
push eax
mov eax, dword [edx + 0x40]
push ecx
and eax, 0x800
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_EnableTrace]
mov edx, dword [esp + esi*4 + 0x270]
jmp 0x412d13
mov edx, dword [esp + 0x38]
xor eax, eax
inc eax
push eax
push edx
push edi
xor eax, eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_ControlTraceW]
push edi
push 0x40b250
mov esi, eax
call dword [sym.imp.msvcrt.dll_wprintf]
xor eax, eax
lea edx, [eax + 1]
jmp 0x412d46
push edi
push 0x40b298
call dword [sym.imp.msvcrt.dll_wprintf]
xor edx, edx
pop ecx
pop ecx
mov eax, dword [esp + 0x4c]
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x412d98
mov ecx, 0x404af4
mov ax, word [edi]
cmp ax, word [ecx]
mov eax, dword [esp + 0x4c]
jne 0x412d8f
cmp word [edi], 0
je 0x412d8b
mov ax, word [edi + 2]
cmp ax, word [ecx + 2]
mov word [esp + 8], ax
mov eax, dword [esp + 0x4c]
jne 0x412d8f
add edi, 4
add ecx, 4
cmp word [esp + 8], 0
jne 0x412d58
xor ecx, ecx
jmp 0x412d94
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x412dbf
push dword [esp + 0xc8]
mov ecx, dword [esp + eax*4 + 0x274]
push edx
push esi
xor edx, edx
call fcn.0040e185
push 0x403d74
call dword [sym.imp.msvcrt.dll_wprintf]
mov eax, dword [esp + 0x50]
pop ecx
inc eax
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x78]
jb 0x412c09
push dword [esp + 0x54]
call dword [sym.imp.msvcrt.dll_free]
jmp 0x412916
test dword [edi + 0x40], 0x800
je 0x412e05
xor eax, eax
inc eax
cmp dword [esp + 0x34], eax
jne 0x412063
add edi, 0x18
lea esi, [esp + 0x390]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
test dx, dx
jne 0x412e29
cmp dword [esp + 0x24], 3
jne 0x412e25
push 0x404184
lea eax, [esp + 0x6c]
mov ecx, edi
push eax
lea edx, [edi + 0x28]
call fcn.0040f3a1
push 0
jmp 0x412e54
push 3
pop eax
cmp dx, ax
jne 0x412e71
mov ecx, edi
cmp dword [esp + 0x24], eax
jne 0x412e4d
push 0x404184
lea eax, [esp + 0x6c]
push eax
lea edx, [edi + 0x28]
call fcn.0040f3a1
jmp 0x412e52
call fcn.0040f2d9
push 2
push edi
lea eax, [edi + 0x88]
push eax
push dword [esp + 0x38]
push dword [esp + 0x38]
call dword [sym.imp.ADVAPI32.dll_ControlTraceW]
push 3
mov esi, eax
pop eax
jmp 0x412e9d
push 7
pop ecx
cmp dx, cx
jne 0x412e99
cmp dword [esp + 0x24], eax
jne 0x412e96
push 0x404184
lea eax, [esp + 0x6c]
mov ecx, edi
push eax
lea edx, [edi + 0x28]
call fcn.0040f3a1
push 3
pop eax
push eax
jmp 0x412e54
mov esi, dword [esp + 0x10]
cmp esi, 0x1069
jne 0x412956
cmp dword [esp + 0x24], eax
jne 0x412956
push 0x40b310
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
xor esi, esi
jmp 0x412956
xor edx, edx
xor eax, eax
inc edx
mov dword [esp + 0x24], eax
cmp dword [esp + 0x34], edx
jne 0x4131f7
lea ecx, [esp + 0x24]
push ecx
push eax
push eax
push 0x10
pop eax
push eax
lea eax, [esp + 0x128]
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_EnumerateTraceGuidsEx]
mov esi, eax
cmp esi, 0x7a
jne 0x4131ec
push dword [esp + 0x24]
call dword [sym.imp.msvcrt.dll_malloc]
mov edi, eax
mov dword [esp + 0x78], edi
pop ecx
test edi, edi
jne 0x412f2e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push 0x40b350
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
pop ecx
jmp 0x4107e7
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x28]
push edi
push 0x10
pop eax
push eax
lea eax, [esp + 0x128]
push eax
xor eax, eax
inc eax
push eax
call dword [sym.imp.ADVAPI32.dll_EnumerateTraceGuidsEx]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x412f73
push esi
push 0x403df8
call dword [sym.imp.msvcrt.dll_wprintf]
push edi
call dword [sym.imp.msvcrt.dll_free]
add esp, 0xc
jmp 0x4107e7
push dword [edi]
lea eax, [esp + 0x11c]
mov edx, 0x80
push eax
lea ecx, [esp + 0x1198]
call fcn.0040c61c
push eax
push 0x40b3d8
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0xc
cmp dword [edi], 0
jbe 0x413300
push 0x403d74
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
xor ecx, ecx
add edi, 8
inc ecx
mov eax, ecx
mov dword [esp + 0x20], eax
cmp dword [edi + 8], 0
mov edx, 0x404144
mov dword [esp + 0x48], edi
je 0x412ffd
cmp dword [edi + 4], 0
ja 0x412fd8
mov edx, 0x40b41c
test byte [edi + 0xc], cl
mov ecx, 0x40b434
jne 0x412fe7
mov ecx, 0x404144
push edx
push dword [edi + 8]
push ecx
push eax
push 0x40b448
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0x14
jmp 0x413057
test byte [edi + 0xc], 2
mov ecx, dword [edi + 4]
je 0x41302b
test ecx, ecx
jne 0x41300f
mov edx, 0x40b41c
xor ecx, ecx
inc ecx
test byte [edi + 0xc], cl
mov ecx, 0x40b434
jne 0x413021
mov ecx, 0x404144
push edx
push ecx
push eax
push 0x40b4a8
jmp 0x41304e
test ecx, ecx
jne 0x413034
mov edx, 0x40b41c
xor ecx, ecx
inc ecx
test byte [edi + 0xc], cl
mov ecx, 0x40b434
jne 0x413046
mov ecx, 0x404144
push edx
push ecx
push eax
push 0x40b500
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0x10
mov eax, dword [esp + 0x20]
inc eax
cmp dword [edi + 4], 0
mov dword [esp + 0x20], eax
jbe 0x4131d8
xor eax, eax
inc eax
test byte [edi + 0xc], al
je 0x4130a0
push 0x40b550
call dword [sym.imp.msvcrt.dll_wprintf]
mov dword [esp], 0x40b5c8
call dword [sym.imp.msvcrt.dll_wprintf]
mov dword [esp], 0x40b630
call dword [sym.imp.msvcrt.dll_wprintf]
mov dword [esp], 0x40b698
jmp 0x4130cc
push 0x40b710
call dword [sym.imp.msvcrt.dll_wprintf]
mov dword [esp], 0x40b7b8
call dword [sym.imp.msvcrt.dll_wprintf]
mov dword [esp], 0x40b848
call dword [sym.imp.msvcrt.dll_wprintf]
mov dword [esp], 0x40b8d8
call dword [sym.imp.msvcrt.dll_wprintf]
xor eax, eax
pop ecx
mov dword [esp + 0x78], eax
cmp dword [edi + 4], eax
jbe 0x4131c8
mov esi, dword [esp + 0x48]
add edi, 0x14
movzx eax, word [edi + 2]
cdq
push 0x1078
mov dword [esp + 0x58], eax
mov dword [esp + 0x3c], edx
call dword [sym.imp.msvcrt.dll_malloc]
pop ecx
mov ecx, eax
mov dword [esp + 0xa0], ecx
test ecx, ecx
je 0x413137
xor eax, eax
mov dword [ecx], 0x1078
push eax
push ecx
push eax
push dword [esp + 0x44]
push dword [esp + 0x64]
call dword [sym.imp.ADVAPI32.dll_ControlTraceW]
mov ecx, dword [esp + 0xa0]
neg eax
sbb al, al
inc al
jmp 0x413139
xor al, al
xor edx, edx
inc edx
cmp al, dl
jne 0x413147
mov edx, dword [ecx + 0x70]
add edx, ecx
jmp 0x41314c
mov edx, 0x40b97c
xor eax, eax
inc eax
test byte [esi + 0xc], al
movzx eax, byte [edi]
je 0x413174
push dword [edi + 0x10]
push dword [edi + 0xc]
push eax
movzx eax, word [edi + 2]
push edx
push eax
push 0x40b990
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0x18
jmp 0x413198
push dword [edi + 0x18]
push dword [edi + 0x14]
push dword [edi + 0x10]
push dword [edi + 0xc]
push dword [edi + 4]
push eax
movzx eax, word [edi + 2]
push edx
push eax
push 0x40b9e0
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0x24
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x4131ab
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov eax, dword [esp + 0x78]
add edi, 0x20
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esi + 4]
jb 0x4130e9
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x48]
push 0x403d74
call dword [sym.imp.msvcrt.dll_wprintf]
mov eax, dword [esp + 0x24]
pop ecx
mov ecx, dword [edi]
test ecx, ecx
je 0x4132fc
add edi, ecx
xor ecx, ecx
inc ecx
jmp 0x412fbe
push esi
push 0x403df8
jmp 0x412f21
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0x24]
push edx
push eax
neg ecx
push eax
push eax
sbb ecx, ecx
and ecx, 2
push eax
push ecx
mov dword [esp + 0x50], ecx
call dword [sym.imp.ADVAPI32.dll_EnumerateTraceGuidsEx]
mov esi, eax
cmp esi, 0x7a
jne 0x4131ec
push dword [esp + 0x24]
call dword [sym.imp.msvcrt.dll_malloc]
mov edi, eax
mov dword [esp + 0x78], edi
pop ecx
test edi, edi
je 0x412f13
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x28]
xor eax, eax
push edi
push eax
push eax
push dword [esp + 0x4c]
call dword [sym.imp.ADVAPI32.dll_EnumerateTraceGuidsEx]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
jne 0x412f58
cmp dword [esp + 0x88], eax
mov eax, 0x40ba40
mov dword [esp + 0x38], edi
jne 0x413276
mov eax, 0x404144
push eax
push 0x40ba74
call dword [sym.imp.msvcrt.dll_wprintf]
push 0x40ba88
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0xc
test dword [esp + 0x24], 0xfffffff0
jbe 0x4132d9
mov esi, dword [esp + 0x38]
xor edi, edi
push esi
mov edx, 0x80
lea ecx, [esp + 0x1194]
call fcn.0040c61c
push eax
push 0x40bb04
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
pop ecx
push 0x10
pop eax
add esi, eax
mov eax, dword [esp + 0x24]
inc edi
shr eax, 4
cmp edi, eax
jb 0x4132a0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x74]
push 0x40ba88
call dword [sym.imp.msvcrt.dll_wprintf]
mov eax, dword [esp + 0x28]
pop ecx
shr eax, 4
push eax
push 0x40bb10
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
pop ecx
jmp 0x413300
mov edi, dword [esp + 0x74]
push edi
jmp 0x412dd2
mov esi, 0x190
jmp 0x41336b
push esi
push 0
push edi
call sub.msvcrt.dll_memset
mov edx, dword [esp + 0xe4]
add esp, 0xc
xor eax, eax
lea ecx, [edi + edx*4]
test edx, edx
je 0x413334
mov dword [edi + eax*4], ecx
add ecx, 0x24
inc eax
cmp eax, edx
jb 0x413329
lea eax, [esp + 0x88]
push eax
push edx
push edi
call dword [sym.imp.ADVAPI32.dll_EnumerateTraceGuids]
mov esi, eax
mov dword [esp + 0x10], esi
cmp esi, 0xea
jne 0x41337e
mov esi, dword [esp + 0x88]
push edi
mov dword [esp + 0xdc], esi
call dword [sym.imp.msvcrt.dll_free]
pop ecx
imul esi, esi, 0x28
push esi
call dword [sym.imp.msvcrt.dll_malloc]
mov edi, eax
pop ecx
test edi, edi
jne 0x41330d
jmp 0x412ba0
push 0x40bb70
call dword [sym.imp.msvcrt.dll_wprintf]
mov dword [esp], 0x40ba88
call dword [sym.imp.msvcrt.dll_wprintf]
cmp dword [esp + 0x8c], 0
pop ecx
jbe 0x413300
xor esi, esi
mov eax, dword [edi + esi*4]
mov ecx, 0x40bbe8
cmp byte [eax + 0x20], 0
jne 0x4133ba
mov ecx, 0x40bbf4
push dword [eax + 0x1c]
mov edx, 0x400
push dword [eax + 0x18]
push dword [eax + 0x14]
push ecx
push eax
lea ecx, [esp + 0x11a4]
call fcn.0040c61c
push eax
push 0x40bc00
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 0x18
inc esi
cmp esi, dword [esp + 0x88]
jb 0x4133a7
mov esi, dword [esp + 0x10]
jmp 0x413300
call fcn.0040ec85
jmp 0x412956
lea ecx, [edi + 0x88]
xor eax, eax
push ecx
push dword [edi + 0x28]
mov edx, edi
lea ecx, [eax + 1]
call fcn.0040ed46
mov esi, eax
test esi, esi
jne 0x412956
push dword [esp + 0x74]
lea esi, [edi + 0x88]
push dword [esp + 0x84]
lea edx, [esp + 0x398]
mov ecx, esi
push dword [esp + 0x8c]
push dword [esp + 0x68]
push dword [esp + 0x70]
push dword [esp + 0x78]
push dword [esp + 0x4c]
call fcn.0040f77d
cmp byte [0x415bf4], 0
je 0x413495
xor eax, eax
inc eax
cmp dword [esp + 0x34], eax
jne 0x413495
lea eax, [esp + 0xb8]
mov ecx, esi
push eax
push dword [esp + 0xb4]
lea edx, [esp + 0x398]
push dword [esp + 0xac]
push dword [esp + 0xb8]
call fcn.0040d660
push esi
jmp 0x412118
mov edi, dword [esp + 0x18]
test edi, edi
je 0x41295a
push 0x40bc3c
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
call fcn.0040ec85
jmp 0x41295a