Function at 0x404f20
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
cmp dword [ebp + 0xc], 0x10
jb 0x404f42
mov dword [ebp - 4], 0
jmp 0x4053cb
lea ecx, [ebp - 5]
call fcn.004053e0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [ebp - 6]
call fcn.00405490
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f0a2]
mov dword [ebp - 0xa], eax
lea ecx, [ebp - 0xb]
call fcn.00405540
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x404fdc
lea eax, [ebp - 0xa]
mov dword [esp], eax
call fcn.00401c40
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x404fd9
lea ecx, [ebp - 0x11]
call fcn.004055f0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [ebp - 0x10]
lea ecx, [ebp - 0x12]
call fcn.004056a0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004039d0
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x19]
call fcn.00405750
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [ebp - 0x1a]
call fcn.00405800
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f0a6]
mov dword [ebp - 0x1e], eax
lea ecx, [ebp - 0x1f]
call fcn.004058b0
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x40509b
lea eax, [ebp - 0x1e]
mov dword [esp], eax
call fcn.00401c40
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x405098
lea ecx, [ebp - 0x25]
call fcn.00405960
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [ebp - 0x24]
lea ecx, [ebp - 0x26]
call fcn.00405a10
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
cmp dword [ebp - 0x18], 0
jne 0x4050c8
mov dword [ebp - 4], 0
jmp 0x4053cb
lea ecx, [ebp - 0x27]
call fcn.00405ac0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [ebp - 0x28]
call fcn.00405b70
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f0aa]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x2d]
call fcn.00405c20
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x405162
lea eax, [ebp - 0x2c]
mov dword [esp], eax
call fcn.00401c40
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x40515f
lea ecx, [ebp - 0x35]
call fcn.00405cd0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [ebp - 0x34]
lea ecx, [ebp - 0x36]
call fcn.00405d80
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x3d]
call fcn.00405e30
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [ebp - 0x3e]
call fcn.00405ee0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f0ae]
mov dword [ebp - 0x42], eax
lea ecx, [ebp - 0x43]
call fcn.00405f90
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x40521a
lea eax, [ebp - 0x42]
mov dword [esp], eax
call fcn.00401c40
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x405217
lea ecx, [ebp - 0x49]
call fcn.00406040
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [ebp - 0x48]
lea ecx, [ebp - 0x4a]
call fcn.004060f0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
add eax, 0x18
add eax, 0x60
mov ecx, dword [ebp + 0xc]
shl ecx, 3
add eax, ecx
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x51]
call fcn.004061a0
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [ebp - 0x52]
call fcn.00406250
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f0b2]
mov dword [ebp - 0x56], eax
lea ecx, [ebp - 0x57]
call fcn.00406300
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x4052e5
lea eax, [ebp - 0x56]
mov dword [esp], eax
call fcn.00401c40
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jne 0x4052e2
lea ecx, [ebp - 0x5d]
call fcn.004063b0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [ebp - 0x5c]
lea ecx, [ebp - 0x5e]
call fcn.00406460
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov eax, dword [ebp - 0x3c]
cmp dword [eax], 0
jne 0x4053c5
lea ecx, [ebp - 0x5f]
call fcn.00406510
mov ecx, eax
call fcn.00401a80
mov dword [esp], eax
call fcn.00401450
lea ecx, [ebp - 0x60]
call fcn.004065c0
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401450
mov eax, dword [0x48f0b6]
mov dword [ebp - 0x64], eax
lea ecx, [ebp - 0x65]
call fcn.00406670
mov ecx, eax
call fcn.004025c0
mov dword [esp], eax
call sub.msvcrt.dll_getenv
cmp eax, 0
je 0x4053a2
lea eax, [ebp - 0x64]
mov dword [esp], eax
call fcn.00401c40
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jne 0x40539f
lea ecx, [ebp - 0x6d]
call fcn.00406720
mov ecx, eax
call fcn.00401b50
mov dword [esp], eax
call fcn.00401c50
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
sub esp, 4
call dword [ebp - 0x6c]
lea ecx, [ebp - 0x6e]
call fcn.004067d0
mov ecx, eax
call fcn.00401e00
mov dword [esp], eax
call fcn.00401450
mov dword [ebp - 4], 0
jmp 0x4053cb
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add esp, 0x74
pop ebp
ret