Function at 0x4329b1
Capabilities:
Get file attributes
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1cc
movdqa xmm0, xmmword [0xaa3250]
xor eax, eax
push ebx
push esi
push edi
push dword [esp + 0x64]
mov edi, ecx
mov dword [esp + 0x50], edx
lea ecx, [esp + 0x198]
mov dword [esp + 0x70], eax
push ecx
lea ecx, [esp + 0x18c]
mov dword [esp + 0x78], eax
push ecx
push eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x84], eax
movdqu xmmword [esp + 0x194], xmm0
call fcn.004137db
xor eax, eax
xor esi, esi
mov dword [esp + 0x10], eax
inc esi
jmp 0x432a1d
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x30], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x432a11
push 3
mov dword [esp + 0x34], eax
pop ebx
jmp 0x432a3d
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x6c]
cmp dword [ecx + edx*4], eax
jne 0x432a43
inc dword [esp + 0x30]
cmp dword [esp + 0x30], ebx
jle 0x432a2c
lea ecx, [esp + 0x6c]
call fcn.004129c0
xor eax, eax
cmp dword [edi + 0x10], eax
jne 0x432a5a
xor al, al
jmp 0x433de2
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], 0xa80278ee
mov dword [esp + 0x10], 0xe5aba8d6
cmp dword [esp + 0xc], eax
jne 0x432a78
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
xor edx, edx
imul ecx, dword [esp + 0xc], 0xe2de
push 4
add ecx, 6
cmp ecx, 0x7806aa1c
pop ecx
setl dl
xor ebx, ebx
add edx, 0x17f
cmp edx, ecx
mov ecx, dword [esp + 0xc]
setge bl
xor edx, edx
cmp ebx, ecx
setl dl
sub edx, dword [esp + 0xc]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x1c], edx
jne 0x432ac0
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
dec ecx
je 0x432b38
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0xcfeb4e52
cmp dword [esp + 0x18], eax
je 0x432b0c
mov ecx, dword [esp + 0xc]
xor ebx, ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
cmp ecx, edx
mov ecx, esi
setne bl
sub ebx, dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jle 0x432b0e
mov ecx, eax
cmp ecx, dword [esp + 0x18]
jl 0x432b1c
mov edx, esi
cmp dword [esp + 0xc], eax
jne 0x432b1e
mov edx, eax
mov eax, dword [esp + 0xc]
xor ecx, ecx
cmp edx, eax
setl cl
imul eax, ecx, 0x4896
mov dword [esp + 0x10], eax
jmp 0x432cfb
mov dword [esp + 0x18], 0x3e1fe01
mov dword [esp + 0x20], 0xa59a03c9
mov dword [esp + 0x20], 0x86adb69c
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], esi
je 0x432b8e
mov ecx, eax
cmp dword [esp + 0x18], eax
je 0x432b90
mov ecx, esi
mov dword [esp + 0x10], ecx
xor ebx, ebx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp edx, ecx
setg bl
xor ecx, ecx
cmp ebx, 0x8cd6
setne cl
xor edx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x20], ecx
setne dl
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
sub ecx, 0xc02
imul ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x432bde
mov ecx, eax
cmp dword [esp + 0xc], eax
je 0x432be0
mov ecx, esi
cmp ecx, dword [esp + 0x18]
jg 0x432bee
mov ecx, eax
cmp dword [esp + 0x1c], eax
je 0x432bf0
mov ecx, esi
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x1c], ecx
jl 0x432c06
mov ecx, eax
cmp dword [esp + 0xc], eax
je 0x432c08
mov ecx, esi
xor ebx, ebx
cmp ecx, esi
mov ecx, dword [esp + 0x18]
sete bl
xor edx, edx
cmp ebx, ecx
setne dl
imul edx, dword [esp + 0x18]
test edx, edx
jne 0x432c2b
mov edx, eax
cmp dword [esp + 0x20], eax
je 0x432c2d
mov edx, esi
mov ecx, dword [esp + 0x18]
sub ecx, edx
mov edx, 0xfff9
cmp edx, ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0xa82
setle dl
mov dword [esp + 0x18], edx
xor edx, edx
mov ecx, dword [esp + 0x18]
cmp edx, ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [esp + 0xc]
sub ecx, 0xb255
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x20]
add edx, ecx
mov ecx, dword [esp + 0xa4]
cmp edx, ecx
mov ecx, dword [esp + 0xa4]
setg bl
add ecx, ebx
cmp ecx, dword [esp + 0xc]
mov byte [esp + 0x17], al
jg 0x432cc6
cmp byte [esp + 0x17], al
je 0x432cac
push 0x218d
call dword [sym.imp.USER32.dll_HideCaret]
xor eax, eax
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x432cfb
push eax
push eax
push 0xd0e
call dword [sym.imp.USER32.dll_SetPropA]
jmp 0x432cfb
cmp byte [esp + 0x17], al
je 0x432cda
push 0x81c
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
xor eax, eax
mov dword [esp + 0x18], 0x19
jmp 0x432cf4
cmp dword [esp + 0x18], eax
jne 0x432cfb
cmp dword [esp + 0xc], eax
jne 0x432cfb
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe6
je 0x432ce4
push 2
lea ecx, [esp + 0x124]
call fcn.0041257d
mov dword [esp + 0x1c], 0x8d4081c2
xor eax, eax
mov dword [esp + 0x24], 0xfffffffd
mov dword [esp + 0x20], 0x2e428464
mov dword [esp + 0x10], eax
jmp 0x432d3f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x120]
mov dword [ecx + edx*4], 0xfffffff9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x432d29
xor ebx, ebx
inc ebx
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], eax
jl 0x432d9a
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], 0xcd04cd02
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x120]
mov ecx, dword [edx + eax*4]
neg ecx
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, dword [edx + esi*4]
setl al
mov dword [esp + 0x20], eax
dec dword [esp + 0x1c]
jns 0x432d53
lea ecx, [esp + 0x120]
call fcn.004129c0
xor eax, eax
mov dword [esp + 0x24], 0x55683450
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x432dc9
push eax
push 0x19e3
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
xor eax, eax
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x432de7
push 0x125c
push eax
push 0x22d
call dword [sym.imp.USER32.dll_GetClassNameW]
xor eax, eax
mov dword [esp + 0x10], 5
mov ecx, ebx
mov dword [esp + 0x20], 0xf1f13b01
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 0xfffffffd
mov dword [esp + 0x1c], 0xf78d7cba
mov dword [esp + 0x1c], 0x7d6446bd
cmp dword [esp + 0x18], eax
jne 0x432e1d
mov ecx, eax
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x1c], eax
ja 0x432f00
mov dword [esp + 0x1c], 0x3c61
push 3
mov dword [esp + 0x10], 0x72c02a30
mov dword [esp + 0x10], eax
pop esi
jmp 0x432e57
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x1bc], 9
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x432e44
mov dword [esp + 0xc], eax
jmp 0x432e72
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x1b0], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x432e63
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x1c], eax
jne 0x432ec9
mov dword [esp + 0x1c0], 0xfbc9fa8b
mov edx, 0x4360575
mov ecx, dword [esp + 0x1c]
sub edx, ecx
sub edx, dword [esp + 0x1c]
je 0x432ea6
mov edx, ebx
cmp dword [esp + 0x18], eax
jne 0x432ea8
mov edx, eax
mov ecx, dword [esp + 0x1c]
xor ecx, ecx
test edx, edx
setle cl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x1c], eax
je 0x432ecb
mov eax, ebx
xor edx, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, 0xd3e9
setge dl
sub edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1b4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
cmp ecx, ebx
sbb eax, eax
neg eax
mov dword [esp + 0x1c], eax
jmp 0x432f14
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x432f11
call dword [sym.imp.GDI32.dll_GdiFlush]
push 3
pop esi
push 2
pop eax
mov dword [esp + 0x1c], 0xfffffffc
lea ecx, [esp + 0xf0]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0x88ff7673
mov dword [esp + 0x24], 0x6d4f
push eax
call fcn.0041257d
xor eax, eax
mov dword [esp + 0x1c], eax
jmp 0x432f5e
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xf0]
mov dword [ecx + edx*4], 0xfffffffe
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x432f48
mov dword [esp + 0x18], 0xfffffff6
cmp dword [esp + 0x18], 0xa
jle 0x432fc9
push 4
pop edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], eax
jmp 0x432f90
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x194], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x432f81
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1c], eax
jmp 0x432fb8
mov ecx, dword [esp + 0x1c]
cmp dword [esp + ecx*4 + 0x194], eax
jne 0x432fbe
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jle 0x432fa7
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0xa
jg 0x432f77
cmp dword [esp + 0x18], eax
je 0x432feb
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
xor edx, edx
cmp ecx, ebx
mov ecx, 0xfffb
setle dl
imul edx, dword [esp + 0x18]
cmp ecx, edx
sbb ecx, ecx
inc ecx
cmp ecx, dword [esp + 0x18]
jle 0x43300f
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
neg esi
cmp ecx, esi
setl dl
cmp edx, 0xeb92
jle 0x43303c
mov ecx, ebx
cmp dword [esp + 0x24], eax
jne 0x43303e
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x18], eax
jne 0x433056
cmp dword [esp + 0x1c], eax
jne 0x433056
mov ecx, ebx
cmp dword [esp + 0x18], eax
jne 0x433058
mov ecx, eax
mov eax, dword [esp + 0xf0]
mov dword [eax], ecx
lea ecx, [esp + 0xf0]
call fcn.004129c0
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp ecx, eax
setne dl
xor ebx, ebx
cmp edx, 0xfffffffd
setne bl
xor ecx, ecx
add ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp ebx, eax
setl cl
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x10], eax
jle 0x433228
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x160]
push 2
call fcn.0041257d
push 3
pop esi
mov dword [esp + 0x10], 0xfffffffb
xor eax, eax
push 2
mov dword [esp + 0x28], esi
mov dword [esp + 0x10], eax
pop edx
jmp 0x4330f9
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x54], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x4330e9
xor ebx, ebx
mov dword [esp + 0xc], eax
inc ebx
cmp dword [esp + 0xc], edx
jge 0x433120
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x160]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0xc]
jmp 0x433106
mov eax, dword [esp + 0x58]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
inc edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x160]
call fcn.004129c0
push ebx
lea ecx, [esp + 0xc4]
call fcn.0041257d
xor eax, eax
mov dword [esp + 0xc], eax
jmp 0x43318d
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x90], 0x841b
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jl 0x43317a
mov dword [esp + 0xc], eax
jmp 0x4331af
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc0]
mov dword [ecx + edx*4], 0xa32b1cec
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jl 0x433199
mov ecx, dword [esp + 0xc0]
mov dword [ecx], eax
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x4331e5
push eax
push 0x1afd
push 0x17a1
push eax
push 0x231e
push 0x22
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
xor eax, eax
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x4331fe
push eax
push 0x2133
call dword [sym.imp.USER32.dll_BeginPaint]
xor eax, eax
mov ecx, dword [esp + 0xc0]
inc dword [ecx]
cmp dword [ecx], 0
jle 0x4331be
lea ecx, [esp + 0xc0]
call fcn.004129c0
lea ecx, [esp + 0x2e]
mov byte [esp + 0x2e], 0
call fcn.004311a4
jmp 0x43323c
lea ecx, [esp + 0x2f]
mov byte [esp + 0x2f], 0
call fcn.0043166b
xor ebx, ebx
push 3
inc ebx
pop esi
push esi
lea ecx, [esp + 0x10c]
call fcn.0041257d
mov dword [esp + 0x24], 0xff3de036
xor eax, eax
mov dword [esp + 0x10], 0xfffffffc
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], 0x1a796d40
mov dword [esp + 0x1c], 0xc0998433
mov dword [esp + 0xc], eax
jmp 0x43328b
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x108]
mov dword [ecx + edx*4], 0xfffffffb
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x433275
mov dword [esp + 0xc], eax
jmp 0x4332aa
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x13c], 0x8787d636
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x433297
mov dword [esp + 0xc], eax
jmp 0x4332ca
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xd8], 0xfffffffa
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x4332b7
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
neg edx
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
mov eax, dword [esp + 0x108]
setne cl
mov dword [esp + 0x13c], ecx
sub ecx, dword [eax + 8]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x108]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x1c], eax
call fcn.004129c0
lea eax, [esp + 0x4c]
push eax
push 0
push 0x37aa
call fcn.0044fccb
xor eax, eax
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x28], eax
add esp, 0xc
cmp dword [esp + 0x1c], 0x1a
jge 0x43341b
push 4
pop edx
mov dword [esp + 0x10], 0x2304
mov dword [esp + 0x10], eax
jmp 0x43338b
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x1c8], 0x9da4d073
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x433378
mov dword [esp + 0x10], 0x7013dce9
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], eax
jl 0x43340c
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0xc], esi
cmp dword [esp + 0xc], eax
jl 0x4333d9
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x4333d3
push 0x1a74
push 0x243f
push eax
call dword [sym.imp.USER32.dll_DeleteMenu]
xor eax, eax
dec dword [esp + 0xc]
jns 0x4333b5
mov dword [esp + 0xc], eax
jmp 0x4333fd
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x4333f3
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor eax, eax
cmp dword [esp + 0xc], eax
jne 0x433403
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jle 0x4333df
dec dword [esp + 0x10]
jns 0x4333a3
push 4
pop edx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x1a
jl 0x43336a
push dword [esp + 0x90]
movdqa xmm0, xmmword [0xaa3220]
lea ecx, [esp + 0x188]
push ecx
lea ecx, [esp + 0x17c]
mov dword [esp + 0x28], 0x4039b642
push ecx
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], eax
movdqu xmmword [esp + 0x184], xmm0
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
call fcn.004137db
mov dword [esp + 0x68], 0x424b969b
cmp dword [esp + 0x20], 0
je 0x4334e4
mov dword [esp + 0x10], 5
lea ecx, [esp + 0xe4]
push ebx
call fcn.0041257d
lea edx, [esp + 0xe4]
lea ecx, [esp + 0x144]
call fcn.00430b71
mov dword [esp + 0x10], ebx
xor eax, eax
cmp dword [esp + 0x10], eax
je 0x4334b4
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x78]
cmp dword [ecx], eax
jg 0x4334c0
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xe4]
xor ecx, ecx
cmp dword [eax], 0xfff7
setne cl
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0xe4]
call fcn.004129c0
jmp 0x4334ff
lea edx, [esp + 0x94]
mov dword [esp + 0x94], 0xf4b3f4b1
lea ecx, [esp + 0x68]
call fcn.00431c7c
call fcn.00431f17
lea ecx, [esp + 0x78]
call fcn.004129c0
mov dword [esp + 0xc], 9
mov dword [esp + 0x20], 0x11aa84cb
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], 0x17
jg 0x433602
mov eax, 0xd5b481d3
mov dword [esp + 0x10], 0x351a938
mov dword [esp + 0x24], 0x3afd4703
mov dword [esp + 0x10], 0x737a30b9
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x10], 0
jmp 0x43357f
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x44], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x433573
mov dword [esp + 0x10], 0x3860a421
xor edx, edx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0xc]
cmp ecx, eax
setge dl
xor ecx, ecx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
cmp eax, 0x28464d91
setne cl
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x130], eax
mov eax, 0xd5b481d3
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x17
jle 0x433535
mov dword [esp + 0xc], 0xfffffff8
lea ecx, [esp + 0xfc]
push ebx
call fcn.0041257d
push 2
lea ecx, [esp + 0x14c]
call fcn.0041257d
xor eax, eax
mov dword [esp + 0xc], eax
jmp 0x43363d
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x34], 0x20398070
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x43362d
mov dword [esp + 0xc], eax
jmp 0x433660
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xfc]
mov dword [ecx + edx*4], 0xb2c41ac3
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jl 0x43364a
mov dword [esp + 0xc], eax
jmp 0x433682
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x148]
mov dword [ecx + edx*4], 0x73980710
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x43366c
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x43369c
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
xor eax, eax
cmp dword [esp + 0x38], eax
jne 0x4336a6
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x38], 0xb95ae649
mov ecx, dword [esp + 0xfc]
sbb edx, edx
neg edx
push 0
mov dword [ecx], edx
mov ecx, dword [esp + 0x3c]
pop ebx
setne bl
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x38]
cmp ebx, ecx
mov ecx, dword [esp + 0x38]
setne dl
sub edx, ecx
mov ecx, dword [esp + 0x38]
imul ecx, edx
cmp dword [esp + 0xc], ecx
jne 0x4337c4
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x24], 0x32e88240
mov dword [esp + 0xc], 0xffffffeb
cmp dword [esp + 0xc], 0x13
jg 0x43382b
mov dword [esp + 0x1c], 0x6be856df
mov dword [esp + 0x1c], 7
jmp 0x433795
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x20], 7
mov dword [esp + 0x10], eax
jmp 0x43374b
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x64], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x43373b
mov esi, dword [esp + 0x64]
xor edx, edx
mov ecx, dword [esp + 0xc]
sub esi, ecx
mov ecx, dword [esp + 0x38]
cmp ecx, esi
setg dl
xor ecx, ecx
cmp edx, 0xffffffff
setle cl
xor ebx, ebx
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
cmp edx, ecx
mov ecx, dword [esp + 0x18]
setg bl
xor edx, edx
cmp ebx, ecx
setg dl
mov dword [esp + 0x24], edx
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xfffffff1
jne 0x433725
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x4337b0
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
xor eax, eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x13
jle 0x433713
push 3
pop esi
jmp 0x43382b
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0xffffffed
jg 0x43382b
push 2
pop ebx
mov dword [esp + 0x10], eax
jmp 0x4337e8
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x5c], 0x8934eca6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x4337d8
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], 0
je 0x433808
push 0x89f
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
xor eax, eax
mov dword [esp + 0x5c], eax
jmp 0x43381a
mov ecx, dword [esp + 0x5c]
mov dword [esp + ecx*4 + 0x34], ebx
inc dword [esp + 0x5c]
cmp dword [esp + 0x5c], ebx
jl 0x43380e
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffed
jle 0x4337d2
lea ecx, [esp + 0x148]
call fcn.004129c0
lea ecx, [esp + 0xfc]
call fcn.004129c0
cmp dword [edi + 0x14], 0x10
jb 0x43384d
mov ecx, dword [edi]
jmp 0x43384f
mov ecx, edi
xor ebx, ebx
inc ebx
cmp dword [edi + 0x14], 0x10
mov dword [esp + 0x40], ecx
jb 0x433860
mov edx, dword [edi]
jmp 0x433862
mov edx, edi
mov eax, dword [edi + 0x10]
add eax, edx
cmp ecx, eax
je 0x433aed
push ebx
lea ecx, [esp + 0xb8]
call fcn.0041257d
lea edx, [esp + 0xb4]
lea ecx, [esp + 0x15c]
call fcn.00430e5c
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0xb4]
and dword [eax], 0
call fcn.004323f8
lea ecx, [esp + 0xb4]
call fcn.004129c0
mov eax, dword [esp + 0x40]
mov al, byte [eax]
cmp al, 0x30
jl 0x4338dd
cmp al, 0x39
jg 0x4338dd
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x50]
push 0
push eax
call fcn.00436180
mov ecx, dword [esp + 0x4c]
add esp, 0xc
inc ecx
jmp 0x433852
mov dword [esp + 0x20], 0x91e66c61
lea ecx, [esp + 0x114]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0x17f215a
mov dword [esp + 0x1c], 9
mov dword [esp + 0xc], ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0xc], 0xe34ef9de
push esi
call fcn.0041257d
xor eax, eax
mov dword [esp + 0x24], 0xfffffffa
mov dword [esp + 0x18], eax
jmp 0x433939
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x84], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x43392a
mov dword [esp + 0x18], eax
jmp 0x433955
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x48], 0x85c68ab8
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x433945
mov dword [esp + 0x18], eax
jmp 0x433971
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x50], 0xed5b
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x433961
mov dword [esp + 0x18], eax
jmp 0x43398f
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x114]
mov dword [ecx + edx*4], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x43397d
mov ecx, dword [esp + 0x10]
dec dword [esp + 0x10]
test ecx, ecx
je 0x433a4f
cmp dword [esp + 0x10], eax
je 0x4339b3
mov edx, ebx
cmp dword [esp + 0x1c], eax
jne 0x4339b5
mov edx, eax
mov dword [esp + 0xc], 0xffff
mov esi, 0x7716
mov ecx, dword [esp + 0xc]
sub ecx, edx
neg ecx
push 3
sbb ecx, ecx
inc ecx
sub esi, ecx
sub esi, dword [esp + 0x88]
mov ecx, dword [esp + 0x24]
neg esi
pop ebx
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
mov ecx, dword [esp + 0x88]
setne dl
cmp ebx, edx
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setg dl
xor ebx, ebx
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x20]
cmp ecx, edx
setge bl
xor ecx, ecx
cmp ebx, 0x1c18
setl cl
xor edx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x88]
cmp ecx, 0x2f34e401
setl dl
xor ebx, ebx
inc ebx
neg edx
cmp dword [esp + 0x1c], ebx
sbb ecx, ecx
neg ecx
cmp edx, ecx
mov edx, ebx
jg 0x433a51
mov edx, eax
mov ecx, dword [esp + 0x88]
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [esp + 0x20]
setge bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [esp + 0x1c]
setne dl
add ecx, 0x99447610
add ecx, edx
xor edx, edx
mov dword [esp + 0x8c], ecx
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
imul esi, ecx
mov ecx, dword [esp + 0x50]
cmp esi, ecx
mov ecx, dword [esp + 0x48]
setg dl
imul ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
imul edx, ecx, 0x16d6
mov ecx, dword [esp + 0x1c]
sub edx, ecx
mov dword [esp + 0xc], edx
jne 0x433ab7
cmp dword [esp + 0xc], eax
je 0x433aba
xor eax, eax
inc eax
mov ecx, dword [esp + 0x114]
xor edx, edx
sub eax, dword [ecx + 4]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
lea ecx, [esp + 0x114]
setge dl
mov dword [esp + 0x24], edx
call fcn.004129c0
lea ecx, [esp + 0x4c]
call fcn.00432563
jmp 0x432a53
xor eax, eax
mov dword [esp + 0x24], 0x42c70bb7
push 2
mov dword [esp + 0x14], eax
pop edi
jmp 0x433b0f
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x16c], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x433b00
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x16c], ecx
mov byte [esp + 0x17], al
cmp byte [esp + 0x17], al
je 0x433b33
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor eax, eax
mov dword [esp + 0xc], 0x94f37831
mov dword [esp + 0x28], 0x52487223
mov dword [esp + 0x10], eax
jmp 0x433b5c
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0xcc], 0x2e0cf572
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x433b49
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], edi
jg 0x433c33
mov esi, 0xffff
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10], eax
jmp 0x433b92
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x154], 0xfffffffd
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x433b7f
mov eax, dword [esp + 0xc]
xor edx, edx
mov ecx, dword [esp + eax*4 + 0xcc]
sub ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x3c]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0xd0e
setg al
xor ecx, ecx
cmp eax, 0xa2b8
mov eax, dword [esp + 0x3c]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xc]
setne dl
mov ecx, dword [esp + eax*4 + 0xcc]
mov eax, dword [esp + 0xc]
imul ecx, edx
mov dword [esp + eax*4 + 0xcc], ecx
xor eax, eax
test ecx, ecx
setne al
cmp esi, eax
mov eax, dword [esp + 0x3c]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
lea edx, [esp + 0x28]
setg cl
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x3c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x154], ebx
call fcn.00432638
inc dword [esp + 0xc]
push 0
pop eax
cmp dword [esp + 0xc], edi
jle 0x433b75
push 3
pop esi
mov dword [esp + 0x28], eax
jmp 0x433cd9
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], eax
jmp 0x433c65
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x1a4], 0xfffffffa
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x433c52
mov ecx, dword [esp + 0x1c]
xor edx, edx
cmp ecx, 0xed0f
mov ecx, dword [esp + 0x1c]
push 1
setne dl
xor ebx, ebx
cmp ecx, edx
mov ecx, dword [esp + 0x28]
setg bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [esp + 0x20]
setne dl
xor ebx, ebx
cmp ecx, edx
setne bl
xor ecx, ecx
sub ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x20]
cmp ebx, 0x2406
pop ebx
setge cl
sub ecx, dword [esp + 0xc]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [esp + 0xc]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x20], ecx
dec dword [esp + 0x28]
cmp dword [esp + 0x28], 0xfffffff5
je 0x433c3c
xor ebx, ebx
lea ecx, [esp + 0x98]
inc ebx
push ebx
call fcn.0041257d
mov dword [esp + 0x20], 0x3773672d
xor eax, eax
mov dword [esp + 0x10], 0x279e56
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 8
mov dword [esp + 0x24], 0x6a8663c1
mov dword [esp + 0x10], eax
jmp 0x433d32
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov dword [ecx + edx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x433d20
mov ecx, dword [esp + 0x98]
xor edx, edx
mov esi, dword [ecx]
lea ecx, [esi - 0xd783]
cmp esi, ecx
setl dl
xor ecx, ecx
cmp edx, esi
setg cl
xor edx, edx
cmp ecx, 0xfbb6
setl dl
xor ecx, ecx
cmp esi, 0x2491
setl cl
imul edx, ecx
xor ecx, ecx
cmp edx, 0x3ec3
setne cl
add ecx, esi
imul ecx, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], 0xfbfcc013
cmp dword [esp + 0x10], eax
jne 0x433d98
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x98]
push 4
pop edx
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x98]
mov ecx, dword [eax]
imul eax, ecx, 0xedf4
cmp edx, eax
sbb eax, eax
inc eax
add eax, ecx
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], ebx
jg 0x433dd0
mov ecx, dword [esp + 0x10]
lea ecx, [esp + 0x98]
mov dword [esp + 0x24], ebx
call fcn.004129c0
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret