Function at 0x40664d
Capabilities:
Query environment variable

Disassembly:
push ebp
lea ebp, [esp - 0x2e74]
mov eax, 0x2ef4
call fcn.0040ede0
mov eax, dword [0x431920]
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.0040e75d
push 0
push dword [ebp + 0x2e80]
mov ebx, eax
push 0x429320
push ebx
mov dword [ebp - 0x74], ebx
call fcn.00405226
push edi
call fcn.0040e75d
add esp, 0x18
cmp byte [ebp + 0x2e80], 0
mov dword [ebp - 0x7c], eax
je 0x4066d8
push 0x1770
call fcn.0040e75d
mov edi, eax
push edi
call fcn.00404fd3
push edi
push 0x428b70
push dword [ebp - 0x7c]
call fcn.0040f609
push edi
call fcn.0040eb88
add esp, 0x18
jmp 0x4066e2
push 1
push eax
call fcn.00405025
pop ecx
pop ecx
push ebx
push 0x429b18
push esi
call fcn.00406556
push ebx
push 0x429af0
push esi
call fcn.00406556
mov edi, 0x4400a0
push edi
push 0x429ad0
push esi
call fcn.004065cf
push edi
push 0x429aa8
push esi
call fcn.004065cf
mov ebx, 0x42919c
push ebx
push 0x429a70
push esi
call fcn.00406556
push ebx
push 0x429a30
push esi
call fcn.00406556
add esp, 0x48
mov edi, 0x43e8d0
push edi
push 0x429a0c
push esi
call fcn.004065cf
push edi
push 0x4299e0
push esi
call fcn.004065cf
push dword [ebp - 0x74]
push 0x4299c0
push esi
call fcn.00406556
push dword [ebp - 0x74]
push 0x429998
push esi
call fcn.00406556
push 0x4400a0
push 0x429974
push esi
call fcn.004065cf
push 0x4400a0
push 0x429948
push esi
call fcn.004065cf
add esp, 0x48
push ebx
push 0x429910
push esi
call fcn.00406556
push ebx
push 0x4298d0
push esi
call fcn.00406556
push edi
push 0x4298a8
push esi
call fcn.004065cf
push edi
push 0x42987c
push esi
call fcn.004065cf
push dword [ebp - 0x74]
push 0x429838
push esi
call fcn.00406556
push 0x4400a0
push 0x4297e8
push esi
call fcn.004065cf
add esp, 0x48
push ebx
push 0x4297a0
push esi
call fcn.00406556
push edi
push 0x429770
push esi
call fcn.004065cf
push dword [ebp - 0x7c]
push 0x429740
push esi
call fcn.00406556
add esp, 0x24
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov dword [ebp - 0x80], eax
test eax, eax
je 0x4068be
cmp word [eax], 0
mov edi, eax
je 0x4068be
push edi
call fcn.0040f07b
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0040e75d
push edi
push eax
mov dword [ebp - 0x78], eax
call fcn.0040f5ea
push 0x3d
push dword [ebp - 0x78]
call fcn.004101d7
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x40689d
push dword [ebp - 0x78]
xor eax, eax
mov word [ebx], ax
lea eax, [ebp - 0x70]
push 0x429734
push eax
call fcn.0040f609
add ebx, 2
push ebx
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.00406556
lea eax, [ebp - 0x70]
push eax
call fcn.00410b8b
push ebx
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.00406556
add esp, 0x28
push edi
call fcn.0040f07b
push dword [ebp - 0x78]
lea edi, [edi + eax*2 + 2]
call fcn.0040eb88
cmp word [edi], 0
pop ecx
pop ecx
jne 0x40682a
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
push dword [ebp - 0x74]
call fcn.0040eb88
push dword [ebp - 0x7c]
call fcn.0040eb88
pop ecx
pop ecx
mov ecx, dword [ebp + 0x2e70]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040edc8
add ebp, 0x2e74
leave
ret