Function at 0x40639d
Capabilities:
Query environment variable

Disassembly:
push ebp
lea ebp, [esp - 0x2e74]
mov eax, 0x2ef4
call fcn.0041d7b0
mov eax, dword [0x450970]
xor eax, ebp
mov dword [ebp + 0x2e70], eax
push ebx
push esi
mov esi, dword [ebp + 0x2e7c]
push edi
mov edi, 0x2ee0
push edi
call fcn.0041d128
push 0
push dword [ebp + 0x2e80]
mov ebx, eax
push 0x439440
push ebx
mov dword [ebp - 0x74], ebx
call fcn.00405244
push edi
call fcn.0041d128
add esp, 0x18
cmp byte [ebp + 0x2e80], 0
mov dword [ebp - 0x7c], eax
je 0x406428
push 0x1770
call fcn.0041d128
mov edi, eax
push edi
call fcn.00404ff1
push edi
push 0x438ce0
push dword [ebp - 0x7c]
call fcn.0041dfd9
push edi
call fcn.0041d558
add esp, 0x18
jmp 0x406432
push 1
push eax
call fcn.00405043
pop ecx
pop ecx
push ebx
push 0x439d68
push esi
call fcn.004062a6
push ebx
push 0x439d40
push esi
call fcn.004062a6
mov edi, 0x4620c0
push edi
push 0x439d20
push esi
call fcn.0040631f
push edi
push 0x439cf8
push esi
call fcn.0040631f
mov ebx, 0x43930c
push ebx
push 0x439cc0
push esi
call fcn.004062a6
push ebx
push 0x439c80
push esi
call fcn.004062a6
add esp, 0x48
mov edi, 0x45d9d0
push edi
push 0x439c5c
push esi
call fcn.0040631f
push edi
push 0x439c30
push esi
call fcn.0040631f
push dword [ebp - 0x74]
push 0x439c10
push esi
call fcn.004062a6
push dword [ebp - 0x74]
push 0x439be8
push esi
call fcn.004062a6
push 0x4620c0
push 0x439bc4
push esi
call fcn.0040631f
push 0x4620c0
push 0x439b98
push esi
call fcn.0040631f
add esp, 0x48
push ebx
push 0x439b60
push esi
call fcn.004062a6
push ebx
push 0x439b20
push esi
call fcn.004062a6
push edi
push 0x439af8
push esi
call fcn.0040631f
push edi
push 0x439acc
push esi
call fcn.0040631f
push dword [ebp - 0x74]
push 0x439a88
push esi
call fcn.004062a6
push 0x4620c0
push 0x439a38
push esi
call fcn.0040631f
add esp, 0x48
push ebx
push 0x4399f0
push esi
call fcn.004062a6
push edi
push 0x4399bc
push esi
call fcn.0040631f
push dword [ebp - 0x7c]
push 0x43998c
push esi
call fcn.004062a6
add esp, 0x24
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov dword [ebp - 0x80], eax
test eax, eax
je 0x40660e
cmp word [eax], 0
mov edi, eax
je 0x40660e
push edi
call fcn.0041da4b
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041d128
push edi
push eax
mov dword [ebp - 0x78], eax
call fcn.0041dfba
push 0x3d
push dword [ebp - 0x78]
call fcn.0041eba7
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x4065ed
push dword [ebp - 0x78]
xor eax, eax
mov word [ebx], ax
lea eax, [ebp - 0x70]
push 0x439980
push eax
call fcn.0041dfd9
add ebx, 2
push ebx
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.004062a6
lea eax, [ebp - 0x70]
push eax
call fcn.0041f5cb
push ebx
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.004062a6
add esp, 0x28
push edi
call fcn.0041da4b
push dword [ebp - 0x78]
lea edi, [edi + eax*2 + 2]
call fcn.0041d558
cmp word [edi], 0
pop ecx
pop ecx
jne 0x40657a
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
push dword [ebp - 0x74]
call fcn.0041d558
push dword [ebp - 0x7c]
call fcn.0041d558
pop ecx
pop ecx
mov ecx, dword [ebp + 0x2e70]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041d798
add ebp, 0x2e74
leave
ret