Function at 0x408a03
Capabilities:
Query environment variable

Disassembly:
push ebp
lea ebp, [esp - 0x2ee4]
mov eax, 0x2ee4
call fcn.00413c90
push 0xffffffffffffffff
push 0x42eaef
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x43bc80]
xor eax, ebp
mov dword [ebp + 0x2ee0], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0x2ef0]
mov esi, 0x1770
push esi
mov dword [ebp - 0x18], ebx
call fcn.00412d69
mov edi, eax
push esi
push edi
push dword [ebp + 0x2eec]
mov dword [ebp - 0x1c], edi
call fcn.00403814
push edi
push str.entry__S
call fcn.0040ea46
add esp, 0x18
lea ecx, [ebp - 0x34]
call fcn.0040bd45
and dword [ebp - 4], 0
mov esi, 0x430d8c
push esi
push edi
jmp 0x408abd
push edi
call fcn.00413700
pop ecx
test eax, eax
je 0x408aca
push edi
call fcn.00413700
inc eax
push eax
call fcn.00412d69
push edi
push eax
mov dword [ebp - 0x14], eax
call fcn.00413b80
add esp, 0x10
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x34]
call fcn.00407fde
push esi
push 0
call fcn.00414590
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x408a89
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
sar eax, 2
push eax
push 0x4327fc
call fcn.0040ea46
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
and dword [ebp - 0x14], 0
sar eax, 2
pop ecx
pop ecx
test eax, eax
jbe 0x408cd5
push dword [ebp - 0x14]
lea ecx, [ebp - 0x34]
call fcn.00407425
mov edi, dword [eax]
lea eax, [edi + 2]
push eax
lea eax, [ebp]
push eax
call fcn.00413b80
lea eax, [ebp]
push eax
call fcn.0040713c
movsx eax, byte [edi]
add esp, 0xc
cmp byte [edi + 1], 0x31
sete byte [ebp - 0xe]
sub eax, 0x41
je 0x408c63
sub eax, 3
je 0x408c63
dec eax
je 0x408b9f
sub eax, 0xe
jne 0x408c9d
push eax
lea eax, [ebp]
push eax
lea eax, [ebp + 0x1770]
push eax
call fcn.00405ad5
add esp, 0xc
cmp dword [ebp + 0x2eec], 0x79
lea eax, [ebp + 0x1770]
jne 0x408b93
push 0x4327f8
push eax
push ebx
call fcn.00407c3e
mov byte [ebp - 0xd], al
push 0x4327f4
lea eax, [ebp + 0x1770]
push eax
push ebx
call fcn.00407c3e
add esp, 0x18
or byte [ebp - 0xd], al
jmp 0x408c9d
push eax
call fcn.00404a1d
pop ecx
jmp 0x408c84
push 0x1770
lea eax, [ebp + 0x1770]
push eax
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x408c3e
cmp byte [ebp + 0x1770], 0x22
jne 0x408c08
lea eax, [ebp + 0x1770]
lea ebx, [ebp + 0x1770]
push eax
dec ebx
call fcn.00413700
cmp byte [eax + ebx], 0x22
pop ecx
jne 0x408c05
lea eax, [ebp + 0x1770]
push eax
call fcn.00413700
pop ecx
mov ecx, dword [ebp - 0x18]
mov byte [eax + ebx], 0
lea eax, [ebp + 0x1771]
push eax
call fcn.00405fcc
mov ebx, dword [ebp - 0x18]
jmp 0x408c16
mov ebx, dword [ebp - 0x18]
lea eax, [ebp + 0x1770]
push eax
mov ecx, ebx
call fcn.00405fcc
lea eax, [ebp + 0x1770]
push eax
call fcn.00413700
pop ecx
lea ecx, [ebp + 0x1770]
dec ecx
cmp byte [eax + ecx], 0x3b
je 0x408c38
push esi
mov ecx, ebx
call fcn.00405fcc
mov byte [ebp - 0xd], 1
jmp 0x408c9d
cmp byte [ebp - 0xe], 0
je 0x408cb9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xcb
jne 0x408c9d
lea eax, [ebp]
push eax
push 0x3f0
call fcn.00404006
pop ecx
pop ecx
jmp 0x408c9d
push 0
lea eax, [ebp]
push eax
lea eax, [ebp + 0x1770]
push eax
call fcn.00405cdc
lea eax, [ebp + 0x1770]
push eax
call fcn.00404a1d
add esp, 0x10
mov byte [ebp - 0xd], al
lea eax, [ebp + 0x1770]
push eax
mov ecx, ebx
call fcn.00405fcc
push esi
mov ecx, ebx
call fcn.00405fcc
cmp byte [ebp - 0xe], 0
je 0x408cb9
cmp byte [ebp - 0xd], 0
jne 0x408cb9
lea eax, [ebp]
push eax
push 0x3ee
call fcn.00404006
pop ecx
pop ecx
push edi
call fcn.00413a45
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
inc dword [ebp - 0x14]
sar eax, 2
pop ecx
cmp dword [ebp - 0x14], eax
jb 0x408af5
push dword [ebp - 0x1c]
call fcn.00413a45
pop ecx
lea ecx, [ebp - 0x34]
call fcn.004077bf
push dword [ebp - 0x34]
call fcn.00413a45
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x2ee0]
xor ecx, ebp
call fcn.00413c78
add ebp, 0x2ee4
leave
ret