Function at 0x4075e6
Capabilities:
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1428
call fcn.00416fa0
mov eax, dword [0x418064]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x140c], eax
mov eax, dword [ebp + 0x10]
xor esi, esi
mov dword [ebp - 0x1428], eax
mov dword [ebp - 0x1408], ebx
mov byte [ebp - 0x140d], bl
mov dword [ebp - 0x141c], edx
push edi
mov edi, dword [ebp + 0xc]
test eax, eax
je 0x407959
cmp dword [eax], edx
jne 0x407959
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x1414], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40764a
sub ecx, dword [ebp - 0x1414]
je 0x407963
mov cl, byte [edi]
mov eax, edi
mov dword [ebp - 0x1414], edi
mov dword [ebp - 0x1418], eax
test cl, cl
je 0x407963
cmp cl, 0x25
jne 0x407786
cmp eax, edi
je 0x40768c
cmp byte [eax - 1], 0x5c
je 0x407786
lea ecx, [eax + 1]
mov ebx, ecx
mov dword [ebp - 0x1424], ecx
mov cl, byte [ebx]
test cl, cl
je 0x40777d
cmp cl, 0x25
jne 0x4076ac
cmp byte [ebx - 1], 0x5c
jne 0x4076f4
inc ebx
mov cl, byte [ebx]
test cl, cl
jne 0x4076a1
sub ebx, eax
add edx, ebx
cmp byte [ebp - 0x140d], 0
je 0x407832
lea eax, [edx + 1]
push eax
mov dword [ebp - 0x1414], eax
call fcn.0041630b
mov ebx, eax
mov dword [ebp - 0x1408], ebx
pop ecx
test ebx, ebx
jne 0x4077cd
mov edi, dword [ebp - 0x140c]
mov esi, 0x8007000e
jmp 0x40784c
mov ecx, ebx
sub ecx, eax
sub ecx, 1
mov dword [ebp - 0x1420], ecx
je 0x4077c6
mov eax, 0x400
cmp ecx, eax
jae 0x4077bf
push ecx
push dword [ebp - 0x1424]
mov edx, eax
push ecx
lea ecx, [ebp - 0x404]
call fcn.0040b0fc
mov esi, eax
test esi, esi
js 0x407840
mov eax, dword [ebp - 0x1420]
xor ecx, ecx
push ecx
push ecx
mov byte [ebp + eax - 0x404], cl
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x4077a3
sub eax, dword [ebp - 0x1414]
add eax, dword [ebp - 0x1418]
mov edx, dword [ebp - 0x141c]
mov cl, byte [ebx]
add edx, eax
lea eax, [ebx + 1]
mov byte [ebp - 0x140d], 1
mov dword [ebp - 0x1414], eax
mov eax, ebx
cmp cl, 0x25
jne 0x4076b3
inc eax
inc edx
mov dword [ebp - 0x1418], eax
mov dword [ebp - 0x141c], edx
mov cl, byte [eax]
test cl, cl
jne 0x407675
jmp 0x4076b7
mov edx, 0x401b48
mov edi, dword [ebp - 0x140c]
mov ecx, edi
call fcn.0041075e
mov esi, 0x8007064a
jmp 0x407846
mov edx, 0x401b00
jmp 0x4077a8
mov edx, 0x401acc
jmp 0x4077a8
push dword [ebp - 0x1414]
push 0
push ebx
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x1418], ebx
jmp 0x407925
cmp al, 0x25
jne 0x40791b
lea edx, [edi + 1]
mov ecx, edx
mov dword [ebp - 0x141c], edx
mov al, byte [ecx]
test al, al
je 0x407911
cmp al, 0x25
je 0x407867
inc ecx
mov dword [ebp - 0x141c], ecx
mov al, byte [ecx]
test al, al
jne 0x407806
mov edx, dword [ebp - 0x1414]
mov ecx, dword [ebp - 0x1408]
push edi
call fcn.0040b08d
mov esi, eax
test esi, esi
js 0x407840
mov byte [ebx], 0
mov ebx, dword [ebp - 0x1408]
test esi, esi
jns 0x407963
mov edi, dword [ebp - 0x140c]
mov ebx, dword [ebp - 0x1408]
push ebx
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete_void__]
push esi
push 0x401c2c
push edi
call fcn.004109f3
add esp, 0x10
jmp 0x40796b
mov ebx, ecx
sub ebx, edi
dec ebx
cmp ebx, 0x7ffffffe
ja 0x407948
push ebx
push edx
push ecx
mov edi, 0x400
lea ecx, [ebp - 0x404]
mov edx, edi
call fcn.0040b0fc
mov esi, eax
test esi, esi
js 0x407840
cmp ebx, edi
jae 0x40797e
mov byte [ebp + ebx - 0x404], 0
lea eax, [ebp - 0x1404]
mov ebx, 0x1000
push ebx
push eax
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x40793e
cmp eax, ebx
jae 0x407934
mov edx, dword [ebp - 0x1414]
lea eax, [ebp - 0x1404]
mov ecx, dword [ebp - 0x1408]
push eax
call fcn.0040b08d
mov esi, eax
test esi, esi
js 0x407840
lea ecx, [ebp - 0x1404]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4078f0
mov eax, dword [ebp - 0x141c]
sub ecx, edx
mov ebx, dword [ebp - 0x1418]
mov edi, eax
add ebx, ecx
mov dword [ebp - 0x1418], ebx
mov al, byte [eax]
cmp al, 0x25
jne 0x407817
jmp 0x407924
mov byte [ebx], al
inc ebx
mov dword [ebp - 0x1418], ebx
inc edi
mov al, byte [edi]
test al, al
jne 0x4077e9
jmp 0x40782f
mov edx, 0x401bd8
jmp 0x4077a8
mov edx, 0x401b90
jmp 0x4077a8
mov byte [ebp - 0x404], 0
mov esi, 0x80070057
jmp 0x407840
mov esi, 0x80070057
jmp 0x407838
mov eax, dword [ebp - 0x1428]
mov dword [eax], ebx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00416650
leave
ret 0xc
call fcn.004168dc
int3