Function at 0x41a907
Capabilities:
Query environment variable

Disassembly:
push ebx
sub esp, 0x138
mov eax, dword [esp + 0x140]
cmp eax, dword [esp + 0x144]
je 0x41ad8e
mov eax, dword [esp + 0x148]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 0x144]
mov dword [esp], eax
call fcn.0041a59f
mov dword [esp + 0x12c], 0
mov dword [esp + 0x128], 0
jmp 0x41acfc
mov eax, dword [esp + 0x12c]
lea edx, [eax + 1]
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x144]
lea ecx, [eax + edx]
mov eax, dword [esp + 0x128]
lea edx, [eax + 1]
mov dword [esp + 0x128], edx
mov edx, dword [esp + 0x140]
add eax, edx
movzx eax, byte [eax]
mov byte [ecx], al
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x128]
add eax, edx
movzx eax, byte [eax]
test al, al
je 0x41a9d7
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x128]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x25
je 0x41a9d7
mov eax, dword [esp + 0x12c]
cmp eax, dword [esp + 0x148]
jb 0x41a95f
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x128]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x25
jne 0x41acfc
mov eax, dword [esp + 0x128]
add eax, 1
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x124], 0
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
lea eax, [esp + 0x18]
mov dword [esp], eax
call fcn.0041a59f
jmp 0x41aa8a
mov eax, dword [esp + 0x120]
add eax, 1
mov dword [esp + 0x128], eax
mov ebx, dword [esp + 0x124]
lea eax, [ebx + 1]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x120]
lea edx, [eax + 1]
mov dword [esp + 0x120], edx
mov edx, eax
mov eax, dword [esp + 0x140]
add eax, edx
movzx eax, byte [eax]
movsx eax, al
mov dword [esp], eax
call fcn.0041a431
mov byte [esp + ebx + 0x18], al
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x140]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x25
je 0x41aac9
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x140]
add eax, edx
movzx eax, byte [eax]
test al, al
je 0x41aac9
cmp dword [esp + 0x124], 0xff
jbe 0x41aa3a
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x140]
add eax, edx
movzx eax, byte [eax]
test al, al
jne 0x41ab7c
mov eax, dword [esp + 0x11c]
add eax, 1
mov dword [esp + 0x128], eax
jmp 0x41ab31
mov eax, dword [esp + 0x12c]
lea edx, [eax + 1]
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x144]
lea ecx, [eax + edx]
mov eax, dword [esp + 0x128]
lea edx, [eax + 1]
mov dword [esp + 0x128], edx
mov edx, dword [esp + 0x140]
add eax, edx
movzx eax, byte [eax]
mov byte [ecx], al
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x128]
add eax, edx
movzx eax, byte [eax]
test al, al
je 0x41acfc
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x128]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x25
je 0x41acfc
mov eax, dword [esp + 0x12c]
cmp eax, dword [esp + 0x148]
jb 0x41aaf7
jmp 0x41acfc
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x140]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x25
jne 0x41acfc
lea eax, [esp + 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_getenv
mov dword [esp + 0x118], eax
cmp dword [esp + 0x118], 0
jne 0x41ac84
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x12c]
lea edx, [eax + 1]
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x144]
lea ecx, [eax + edx]
mov eax, dword [esp + 0x128]
lea edx, [eax + 1]
mov dword [esp + 0x128], edx
mov edx, dword [esp + 0x140]
add eax, edx
movzx eax, byte [eax]
mov byte [ecx], al
jmp 0x41ac3c
mov eax, dword [esp + 0x12c]
lea edx, [eax + 1]
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x144]
lea ecx, [eax + edx]
mov eax, dword [esp + 0x128]
lea edx, [eax + 1]
mov dword [esp + 0x128], edx
mov edx, dword [esp + 0x140]
add eax, edx
movzx eax, byte [eax]
mov byte [ecx], al
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x128]
add eax, edx
movzx eax, byte [eax]
test al, al
je 0x41acfc
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x128]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x25
je 0x41acfc
mov eax, dword [esp + 0x12c]
cmp eax, dword [esp + 0x148]
jb 0x41ac02
jmp 0x41acfc
mov dword [esp + 0x120], 0
jmp 0x41accd
mov eax, dword [esp + 0x12c]
lea edx, [eax + 1]
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x144]
lea ecx, [eax + edx]
mov eax, dword [esp + 0x120]
lea edx, [eax + 1]
mov dword [esp + 0x120], edx
mov edx, eax
mov eax, dword [esp + 0x118]
add eax, edx
movzx eax, byte [eax]
mov byte [ecx], al
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x118]
add eax, edx
movzx eax, byte [eax]
test al, al
je 0x41acf4
mov eax, dword [esp + 0x12c]
cmp eax, dword [esp + 0x148]
jb 0x41ac91
add dword [esp + 0x128], 1
mov edx, dword [esp + 0x140]
mov eax, dword [esp + 0x128]
add eax, edx
movzx eax, byte [eax]
test al, al
je 0x41ad27
mov eax, dword [esp + 0x12c]
cmp eax, dword [esp + 0x148]
jb 0x41a999
mov dword [esp + 0x12c], 0
jmp 0x41ad66
mov edx, dword [esp + 0x144]
mov eax, dword [esp + 0x12c]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2f
jne 0x41ad5e
mov edx, dword [esp + 0x144]
mov eax, dword [esp + 0x12c]
add eax, edx
mov byte [eax], 0x5c
add dword [esp + 0x12c], 1
mov eax, dword [esp + 0x12c]
cmp eax, dword [esp + 0x148]
jb 0x41ad34
mov eax, dword [esp + 0x148]
lea edx, [eax - 1]
mov eax, dword [esp + 0x144]
add eax, edx
mov byte [eax], 0
jmp 0x41ad8f
nop
add esp, 0x138
pop ebx
ret