Function at 0x4068a9
Capabilities:
Query environment variable

Disassembly:
push ebp
lea ebp, [esp - 0x2e74]
mov eax, 0x2ef4
call fcn.0040f5e0
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.0040ef5c
push 0
push dword [ebp + 0x2e80]
mov ebx, eax
push 0x429520
push ebx
mov dword [ebp - 0x74], ebx
call fcn.004054b7
push edi
call fcn.0040ef5c
add esp, 0x18
cmp byte [ebp + 0x2e80], 0
mov dword [ebp - 0x7c], eax
je 0x406934
push 0x1770
call fcn.0040ef5c
mov edi, eax
push edi
call fcn.00405264
push edi
push 0x428ba0
push dword [ebp - 0x7c]
call fcn.0040fe09
push edi
call fcn.0040f388
add esp, 0x18
jmp 0x40693e
push 1
push eax
call fcn.004052b6
pop ecx
pop ecx
push ebx
push 0x429ec8
push esi
call fcn.004067b2
push ebx
push 0x429ea0
push esi
call fcn.004067b2
mov edi, 0x43e930
push edi
push 0x429e80
push esi
call fcn.0040682b
push edi
push 0x429e58
push esi
call fcn.0040682b
mov ebx, 0x42939c
push ebx
push 0x429e20
push esi
call fcn.004067b2
push ebx
push 0x429de0
push esi
call fcn.004067b2
add esp, 0x48
mov edi, 0x43d160
push edi
push 0x429dbc
push esi
call fcn.0040682b
push edi
push 0x429d90
push esi
call fcn.0040682b
push dword [ebp - 0x74]
push 0x429d70
push esi
call fcn.004067b2
push dword [ebp - 0x74]
push 0x429d48
push esi
call fcn.004067b2
push 0x43e930
push 0x429d24
push esi
call fcn.0040682b
push 0x43e930
push 0x429cf8
push esi
call fcn.0040682b
add esp, 0x48
push ebx
push 0x429cc0
push esi
call fcn.004067b2
push ebx
push 0x429c80
push esi
call fcn.004067b2
push edi
push 0x429c58
push esi
call fcn.0040682b
push edi
push 0x429c2c
push esi
call fcn.0040682b
push dword [ebp - 0x74]
push 0x429be8
push esi
call fcn.004067b2
push 0x43e930
push 0x429b98
push esi
call fcn.0040682b
add esp, 0x48
push ebx
push 0x429b50
push esi
call fcn.004067b2
push edi
push 0x429b20
push esi
call fcn.0040682b
push dword [ebp - 0x7c]
push 0x429af0
push esi
call fcn.004067b2
add esp, 0x24
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov dword [ebp - 0x80], eax
test eax, eax
je 0x406b1a
cmp word [eax], 0
mov edi, eax
je 0x406b1a
push edi
call fcn.0040f87b
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0040ef5c
push edi
push eax
mov dword [ebp - 0x78], eax
call fcn.0040fdea
push 0x3d
push dword [ebp - 0x78]
call fcn.004109d7
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x406af9
push dword [ebp - 0x78]
xor eax, eax
mov word [ebx], ax
lea eax, [ebp - 0x70]
push 0x429ae4
push eax
call fcn.0040fe09
add ebx, 2
push ebx
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.004067b2
lea eax, [ebp - 0x70]
push eax
call fcn.0041140b
push ebx
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.004067b2
add esp, 0x28
push edi
call fcn.0040f87b
push dword [ebp - 0x78]
lea edi, [edi + eax*2 + 2]
call fcn.0040f388
cmp word [edi], 0
pop ecx
pop ecx
jne 0x406a86
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
push dword [ebp - 0x74]
call fcn.0040f388
push dword [ebp - 0x7c]
call fcn.0040f388
pop ecx
pop ecx
mov ecx, dword [ebp + 0x2e70]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040f5c8
add ebp, 0x2e74
leave
ret