Function at 0x40965c
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 0x409915
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 0x409696
inc esi
cmp byte [edi + esi], 0
jne 0x409695
cmp byte [edi + esi + 1], 0
jne 0x409695
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, 0x409930
mov eax, 0x40993c
call fcn.004049bc
cmp dword [ebp - 0x10], 0
je 0x4096fa
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x409930
call fcn.004036d0
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x409948
call fcn.00409614
pop ecx
cmp dword [ebp - 0x10], 0
je 0x40972a
push dword [0x40e690]
push 0x40993c
push dword [ebp - 0xc]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00403744
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x40995c
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x14]
mov eax, 0x409974
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x18]
mov eax, 0x409988
call fcn.00409614
pop ecx
push ebp
mov edx, 0x40999c
mov eax, 0x4099ac
call fcn.00409614
pop ecx
push ebp
mov edx, dword [ebx + 0x44]
mov eax, 0x4099c8
call fcn.00409614
pop ecx
push ebp
mov edx, dword [ebx + 0x2c]
mov eax, 0x4099dc
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 4]
mov eax, 0x4099f4
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 8]
mov eax, 0x409a08
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0xc]
mov eax, 0x409a24
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x10]
mov eax, 0x409a44
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x18]
mov eax, 0x409a64
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x1c]
mov eax, 0x409a78
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x40]
mov eax, 0x409a8c
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x44]
mov eax, 0x409aa4
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax + 0x48]
mov eax, 0x409abc
call fcn.00409614
pop ecx
push ebp
mov edx, dword [ebx + 0x4c]
mov eax, 0x409ad0
call fcn.00409614
pop ecx
push ebp
mov edx, 0x409ae8
mov eax, 0x409b00
call fcn.00409614
pop ecx
push ebp
mov edx, 0x409b18
mov eax, 0x409b30
call fcn.00409614
pop ecx
push ebp
mov edx, dword [ebx + 0x34]
mov eax, 0x409b44
call fcn.00409614
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.00404a70
mov edx, dword [ebp - 0x14]
mov eax, 0x409b5c
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x60]
mov edx, dword [eax + 0x24]
mov eax, 0x409b70
call fcn.00409614
pop ecx
push ebp
mov eax, dword [ebx + 0x60]
mov edx, dword [eax + 0x14]
mov eax, 0x409b88
call fcn.00409614
pop ecx
push ebp
mov edx, dword [ebx + 0x38]
mov eax, 0x409ba0
call fcn.00409614
pop ecx
push ebp
mov edx, dword [ebx + 0x3c]
mov eax, 0x409bb4
call fcn.00409614
pop ecx
push ebp
mov edx, dword [ebx + 0x40]
mov eax, 0x409bcc
call fcn.00409614
pop ecx
mov eax, dword [ebp + 8]
mov ecx, 0x409be0
mov edx, dword [ebp - 4]
call fcn.004036d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40991c
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00403524
lea eax, [ebp - 4]
call fcn.00403500
ret