Function at 0x4067ac
Capabilities:
Query environment variable

Disassembly:
push 0x74
mov eax, 0x43ed75
call fcn.00413caf
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
push ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x60], eax
call fcn.00401614
mov esi, eax
push esi
push str.entry__S
mov dword [ebp - 0x80], esi
call fcn.0040f3f5
xor eax, eax
mov ebx, eax
mov dword [ebp - 0x70], eax
mov edi, eax
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
push 0x4410e4
push esi
call fcn.00420429
mov esi, eax
add esp, 0x18
test esi, esi
je 0x40685f
push esi
call fcn.0041f750
pop ecx
test eax, eax
je 0x406859
push esi
call fcn.0041f750
pop ecx
cmp eax, 2
jb 0x406840
push esi
lea ecx, [ebp - 0x58]
call fcn.00403581
push eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 1
call fcn.00403455
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0
call fcn.004036e9
lea eax, [ebp - 0x64]
push eax
push 0x4410e4
push 0
call fcn.00420429
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x406807
mov edi, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x78]
sub edi, ebx
push 0x18
pop ecx
mov eax, edi
cdq
idiv ecx
mov esi, eax
push esi
push str.entries__d
mov dword [ebp - 0x6c], esi
call fcn.0040f3f5
xor eax, eax
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
xor edx, edx
pop ecx
pop ecx
push 0xf
stosd dword es:[edi], eax
pop ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x40], dl
xor eax, eax
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0x28], dl
mov byte [ebp - 4], 3
mov edi, edx
test esi, esi
je 0x406af9
cmp ecx, 0x10
mov dword [ebp - 0x18], edx
lea eax, [ebp - 0x28]
mov esi, ebx
cmovae eax, dword [ebp - 0x28]
mov byte [eax], dl
cmp dword [ebx + 0x14], 0x10
jb 0x4068cb
mov esi, dword [ebx]
add esi, 2
push esi
call fcn.0041f750
pop ecx
push eax
push esi
lea ecx, [ebp - 0x40]
call fcn.00407308
lea eax, [ebp - 0x40]
push eax
call fcn.004077dd
cmp dword [ebx + 0x14], 0x10
mov eax, ebx
pop ecx
jb 0x4068f3
mov eax, dword [ebx]
mov al, byte [eax + 1]
mov byte [ebp - 0x59], al
mov eax, ebx
jb 0x4068ff
mov eax, dword [ebx]
movsx eax, byte [eax]
sub eax, 0x41
je 0x406a63
sub eax, 3
je 0x406a63
sub eax, 1
je 0x406995
sub eax, 0xe
jne 0x406ac1
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push 0
cmovae eax, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004043d6
add esp, 0xc
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x7c], 0x79
jne 0x406981
cmp dword [ebp - 0x14], 0x10
mov esi, dword [ebp - 0x60]
cmovae eax, dword [ebp - 0x28]
push 0x441df4
push eax
push esi
call fcn.00406fdf
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
push 0x441df8
cmovae ecx, dword [ebp - 0x28]
push ecx
push esi
mov byte [ebp - 0x5a], al
call fcn.00406fdf
add esp, 0x18
or byte [ebp - 0x5a], al
jmp 0x406ac1
cmp dword [ebp - 0x14], 0x10
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.00403e71
pop ecx
jmp 0x406a8e
test edi, edi
jne 0x4069a6
push 0x177a
call fcn.004137f4
pop ecx
mov edi, eax
mov byte [edi], 0
lea ecx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
push 0x1770
cmovae ecx, dword [ebp - 0x40]
push edi
push ecx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x406a31
cmp byte [edi], 0x22
lea esi, [edi - 1]
jne 0x4069ed
push edi
call fcn.0041f750
pop ecx
cmp byte [eax + esi], 0x22
jne 0x4069ed
push edi
call fcn.0041f750
pop ecx
mov byte [eax + esi], 0
lea eax, [edi + 1]
mov dword [ebp - 0x68], eax
jmp 0x4069f2
mov eax, edi
mov dword [ebp - 0x68], edi
push eax
call fcn.0041f750
pop ecx
mov ecx, dword [ebp - 0x60]
push eax
push dword [ebp - 0x68]
call fcn.00403da2
push edi
call fcn.0041f750
pop ecx
cmp byte [eax + esi], 0x3b
je 0x406a28
mov esi, 0x4410e4
push esi
call fcn.0041f750
pop ecx
mov ecx, dword [ebp - 0x60]
push eax
push esi
call fcn.00403da2
mov byte [ebp - 0x5a], 1
jmp 0x406ac1
mov al, byte [ebp - 0x59]
cmp al, 0x31
jne 0x406ae6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xcb
jne 0x406ac8
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
push 0x3f0
call fcn.00403aa3
pop ecx
pop ecx
jmp 0x406ac8
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push 0
cmovae eax, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004043d6
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.00403e71
add esp, 0x10
cmp dword [ebp - 0x14], 0x10
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x60]
mov byte [ebp - 0x5a], al
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.00403da2
push 0x4410e4
call fcn.0041f750
pop ecx
mov ecx, dword [ebp - 0x60]
push eax
push 0x4410e4
call fcn.00403da2
mov al, byte [ebp - 0x59]
cmp al, 0x31
jne 0x406ae6
cmp byte [ebp - 0x5a], 0
jne 0x406ae6
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
push 0x3ee
call fcn.00403aa3
pop ecx
pop ecx
add ebx, 0x18
sub dword [ebp - 0x6c], 1
je 0x406af9
mov ecx, dword [ebp - 0x14]
xor edx, edx
jmp 0x4068b2
push edi
call fcn.00413d73
push dword [ebp - 0x80]
call fcn.00413d73
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.004036e9
lea ecx, [ebp - 0x40]
call fcn.004036e9
lea ecx, [ebp - 0x78]
call fcn.004036b1
call fcn.00413c6d
ret