Function at 0x409cb0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push 0
push 0
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov ebx, edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x409f69
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
call fcn.00403500
call sub.kernel32.dll_GetEnvironmentStringsA
mov edi, eax
xor esi, esi
jmp 0x409cea
inc esi
cmp byte [edi + esi], 0
jne 0x409ce9
cmp byte [edi + esi + 1], 0
jne 0x409ce9
inc esi
lea eax, [ebp - 4]
mov edx, esi
call fcn.00403a10
lea eax, [ebp - 4]
call fcn.004038dc
mov edx, eax
mov eax, edi
mov ecx, esi
call fcn.00402608
push edi
call sub.kernel32.dll_FreeEnvironmentStringsA
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.00403598
lea ecx, [ebp - 0x10]
mov edx, 0x409f84
mov eax, 0x409f90
call fcn.004049cc
cmp dword [ebp - 0x10], 0
je 0x409d4e
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x409f84
call fcn.004036d0
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x409f9c
call fcn.00409c68
pop ecx
cmp dword [ebp - 0x10], 0
je 0x409d7e
push dword [0x40e690]
push 0x409f90
push dword [ebp - 0xc]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00403744
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x409fb0
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x14]
mov eax, 0x409fc8
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x18]
mov eax, 0x409fdc
call fcn.00409c68
pop ecx
push ebp
mov edx, 0x409ff0
mov eax, 0x40a000
call fcn.00409c68
pop ecx
push ebp
mov edx, dword [ebx + 0x44]
mov eax, 0x40a01c
call fcn.00409c68
pop ecx
push ebp
mov edx, dword [ebx + 0x2c]
mov eax, 0x40a030
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 4]
mov eax, 0x40a048
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 8]
mov eax, 0x40a05c
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0xc]
mov eax, 0x40a078
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x10]
mov eax, 0x40a098
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x18]
mov eax, 0x40a0b8
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x1c]
mov eax, 0x40a0cc
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x40]
mov eax, 0x40a0e0
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x44]
mov eax, 0x40a0f8
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x48]
mov eax, 0x40a110
call fcn.00409c68
pop ecx
push ebp
mov edx, dword [ebx + 0x4c]
mov eax, 0x40a124
call fcn.00409c68
pop ecx
push ebp
mov edx, 0x40a13c
mov eax, 0x40a154
call fcn.00409c68
pop ecx
push ebp
mov edx, 0x40a16c
mov eax, 0x40a184
call fcn.00409c68
pop ecx
push ebp
mov edx, dword [ebx + 0x34]
mov eax, 0x40a198
call fcn.00409c68
pop ecx
push ebp
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x201c]
mov eax, dword [eax + 8]
call fcn.00404a80
mov edx, dword [ebp - 0x14]
mov eax, 0x40a1b0
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x60]
mov edx, dword [eax + 0x24]
mov eax, 0x40a1c4
call fcn.00409c68
pop ecx
push ebp
mov eax, dword [ebx + 0x60]
mov edx, dword [eax + 0x14]
mov eax, 0x40a1dc
call fcn.00409c68
pop ecx
push ebp
mov edx, dword [ebx + 0x38]
mov eax, 0x40a1f4
call fcn.00409c68
pop ecx
push ebp
mov edx, dword [ebx + 0x3c]
mov eax, 0x40a208
call fcn.00409c68
pop ecx
push ebp
mov edx, dword [ebx + 0x40]
mov eax, 0x40a220
call fcn.00409c68
pop ecx
mov eax, dword [ebp + 8]
mov ecx, 0x40a234
mov edx, dword [ebp - 4]
call fcn.004036d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x409f70
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00403524
lea eax, [ebp - 4]
call fcn.00403500
ret