Function at 0x433711
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
mov dword [ebp - 8], 9
xor eax, eax
mov dword [ebp - 0x18], 0x4e20eeb
mov esi, ecx
push edi
mov dword [ebp - 0x24], 0x38fd2320
mov edi, edx
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x14
push 1
mov dword [ebp - 0x28], edi
pop ebx
jle 0x433956
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], eax
jmp 0x433762
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x3c], 0xfffffff6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x433754
mov dword [ebp - 0x10], eax
jmp 0x43393c
mov dword [ebp - 0xc], 0xffffffff
cmp dword [ebp - 8], eax
je 0x43377f
mov ecx, dword [ebp - 0xc]
cmp dword [ebp - 0x10], eax
jne 0x4337a6
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 8], eax
je 0x433796
mov ecx, ebx
cmp dword [ebp - 0xc], eax
jne 0x433798
mov ecx, eax
add ecx, 0x53f0d3ec
mov dword [ebp - 0x3c], ecx
je 0x4337a6
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 8]
je 0x433934
mov dword [ebp - 0x20], 0x7758a8c
lea ecx, [ebp - 0x54]
push 4
call fcn.00413ed8
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x4337dd
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x54]
mov dword [ecx + edx*4], 0x600bf094
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x4337cd
mov dword [ebp - 0xc], 2
cmp dword [ebp - 0xc], eax
jl 0x433928
push dword [ebp - 0x28]
movdqa xmm0, xmmword [0xaba8e0]
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x48], eax
push ecx
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x44], eax
movdqu xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x40], eax
call fcn.0041519b
mov edi, dword [ebp - 0x48]
and dword [edi + 4], 0
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + eax*4 - 0x3c]
mov eax, dword [edi + 4]
cmp dword [ebp + eax*4 - 0x3c], ecx
jl 0x4338e7
mov dword [ebp - 0x14], 0xfffffff8
mov byte [ebp - 1], 0
cmp byte [ebp - 1], 0
je 0x43385b
push 0x14d5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
cmp dword [eax + 8], 8
mov eax, dword [ebp - 0xc]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x3c]
cmp eax, edx
setle cl
xor edx, edx
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
cmp ecx, dword [eax]
setne dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
mov edx, 0x41e56eb4
setg cl
xor ebx, ebx
sub edx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
setge bl
xor ecx, ecx
inc ecx
xor edx, edx
mov dword [ebp + eax*4 - 0x3c], ebx
sub ecx, ebx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setle dl
sub edx, 0x8af1
neg edx
sbb edx, edx
xor ebx, ebx
add edx, 0xffff52ae
inc ebx
mov dword [ebp - 0x1c], edx
jmp 0x433907
mov byte [ebp - 1], 0
cmp byte [ebp - 1], 0
je 0x4338f7
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 8]
add eax, ecx
mov dword [ebp - 0x3c], eax
inc dword [edi + 4]
cmp dword [edi + 4], 2
jle 0x433824
lea ecx, [ebp - 0x48]
call fcn.0041431c
dec dword [ebp - 0xc]
push 0
pop eax
jns 0x4337f3
lea ecx, [ebp - 0x54]
call fcn.0041431c
xor eax, eax
jmp 0x433939
cmp dword [ebp - 0x24], eax
jne 0x433946
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 9
jne 0x433770
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x14
jg 0x433748
mov edi, dword [ebp - 0x28]
mov dword [ebp - 8], 0xdda37bb0
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x1c], 0x5378470e
mov dword [ebp - 0x10], eax
jmp 0x433976
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x30], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x43396c
xor edx, edx
mov dword [ebp - 0xc], 0x348c
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x34d00693
setle dl
xor ebx, ebx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
sub edx, 0x697c9b75
cmp ecx, edx
mov ecx, dword [ebp - 8]
setne bl
xor edx, edx
cmp ebx, 0xb0ae28de
setne dl
xor ebx, ebx
cmp edx, ecx
setg bl
sub ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
neg ebx
sbb ebx, ebx
inc ebx
add ebx, dword [ebp - 0x28]
add ecx, ebx
sub ecx, dword [ebp - 8]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jl 0x433a25
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
mov byte [ebp - 1], al
je 0x4339f8
cmp byte [ebp - 1], 0
je 0x433a46
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
jmp 0x433a21
cmp byte [ebp - 1], 0
je 0x433a0d
push eax
push eax
push 0x161d
call dword [sym.imp.USER32.dll_SetPropA]
xor eax, eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x433a46
push 0x9c4
call dword [sym.imp.GDI32.dll_EndDoc]
xor eax, eax
jmp 0x433a46
mov dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], eax
jl 0x433a46
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + ecx*4 - 0x30], eax
jne 0x433a46
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp + ecx*4 - 0x30]
dec dword [ebp - 0xc]
jns 0x433a31
mov dword [esi], eax
jmp 0x433a57
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [esi]
cmp dword [esi], 4
jl 0x433a4a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret