Function at 0x591364
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x59136c
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
push 0x591671
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x44]
lea eax, [ebp - 4]
xor edx, edx
call fcn.00407848
xor edx, edx
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x59168c
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor edx, edx
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 8]
mov eax, dword [0x5bd540]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d8]
call fcn.004bcbd4
lea eax, [ebp - 8]
mov edx, 0x5916bc
call fcn.00407c08
mov edx, dword [ebp - 8]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x591774
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x591848
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x591968
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5919a4
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5919d4
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x591a10
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x591a58
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x591af8
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x591bd8
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0x591c90
lea edx, [ebp - 0x14]
mov eax, dword [0x5bd978]
mov eax, dword [eax]
call fcn.004ee084
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00416704
push dword [ebp - 0x10]
push 0x591cb8
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00407dac
mov edx, dword [ebp - 0xc]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0x591ce4
lea edx, [ebp - 0x20]
mov eax, dword [0x5bd978]
mov eax, dword [eax]
call fcn.004ee084
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.0041646c
push dword [ebp - 0x1c]
push 0x591d08
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00407dac
mov edx, dword [ebp - 0x18]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0x591d4c
lea edx, [ebp - 0x28]
mov eax, 0x591d7c
call fcn.005951b4
push dword [ebp - 0x28]
push 0x591da8
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00407dac
mov edx, dword [ebp - 0x24]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0x591e04
lea edx, [ebp - 0x30]
mov eax, 0x591e28
call fcn.005951b4
push dword [ebp - 0x30]
push 0x591e48
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00407dac
mov edx, dword [ebp - 0x2c]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor edx, edx
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5bdb70]
mov ecx, dword [ecx]
lea eax, [ebp - 0x34]
mov edx, 0x591f14
call fcn.00407cc8
mov edx, dword [ebp - 0x34]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5bd790]
mov ecx, dword [ecx]
lea eax, [ebp - 0x38]
mov edx, 0x591f44
call fcn.00407cc8
mov edx, dword [ebp - 0x38]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5bd4dc]
mov ecx, dword [ecx]
lea eax, [ebp - 0x3c]
mov edx, 0x591f74
call fcn.00407cc8
mov edx, dword [ebp - 0x3c]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5bd9ac]
mov ecx, dword [ecx]
lea eax, [ebp - 0x40]
mov edx, 0x591fa0
call fcn.00407cc8
mov edx, dword [ebp - 0x40]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5bd7c0]
mov ecx, dword [ecx]
lea eax, [ebp - 0x44]
mov edx, 0x591fd0
call fcn.00407cc8
mov edx, dword [ebp - 0x44]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor edx, edx
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor edx, edx
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x592000
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor edx, edx
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor ebx, ebx
call sub.kernel32.dll_GetEnvironmentStringsW
mov esi, eax
cmp word [esi], 0
jne 0x591629
add esi, 2
cmp word [esi], 0
jne 0x591612
mov bl, 1
jmp 0x59161c
mov edx, dword [ebp - 4]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 4]
movzx edx, word [esi]
call fcn.00407960
jmp 0x59163f
lea eax, [ebp - 0x48]
movzx edx, word [esi]
call fcn.00407960
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 4]
call fcn.00407c08
add esi, 2
test bl, bl
je 0x5915ff
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x591678
lea eax, [ebp - 0x48]
mov edx, 0x10
call fcn.004077ec
lea eax, [ebp - 8]
call fcn.004077e4
lea eax, [ebp - 4]
call fcn.004077e4
ret