Function at 0x40b06c
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push edi
push esi
push ebx
add esp, 0xfffffff4
push dword [ebp + 0x10]
call sub.msvcrt.dll_getenv
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x40b0a9
jmp 0x40b08d
inc ebx
add esp, 0xfffffff4
movzx eax, byte [ebx]
push eax
call sub.msvcrt.dll_isspace
add esp, 0x10
test eax, eax
jne 0x40b08c
test ebx, ebx
je 0x40b0a9
cmp byte [ebx], 0
jne 0x40b0d8
add esp, 0xfffffff4
push dword [ebp + 0x14]
call sub.msvcrt.dll_getenv
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x40b268
jmp 0x40b0c5
inc ebx
add esp, 0xfffffff4
movzx eax, byte [ebx]
push eax
call sub.msvcrt.dll_isspace
add esp, 0x10
test eax, eax
jne 0x40b0c4
test ebx, ebx
je 0x40b268
cmp byte [ebx], 0
je 0x40b268
add esp, 0xfffffff4
push ebx
call fcn.0040b270
mov dword [ebp - 4], eax
add esp, 0xfffffff4
mov edi, ebx
mov al, 0
cld
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
call sub.msvcrt.dll_malloc
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x40b127
add esp, 0xfffffff8
push 0x40b04c
push 4
call fcn.004023bc
add esp, 0x10
add esp, 0xfffffff8
push ebx
push esi
call sub.msvcrt.dll_strcpy
add esp, 0xfffffff4
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
add eax, dword [edx]
lea eax, [eax*4 + 4]
push eax
call sub.msvcrt.dll_malloc
mov edi, eax
add esp, 0x20
test edi, edi
jne 0x40b16d
add esp, 0xfffffff4
push esi
call sub.msvcrt.dll_free
add esp, 0xfffffff8
push 0x40b04c
push 4
call fcn.004023bc
add esp, 0x20
mov dword [ebp - 8], edi
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [edi], eax
add dword [edx], 4
mov edi, dword [ebp - 8]
add edi, 4
mov esi, esi
cmp byte [esi], 0x22
jne 0x40b1b4
inc esi
mov dword [edi], esi
add edi, 4
movsx ebx, byte [esi]
test ebx, ebx
je 0x40b20d
cmp ebx, 0x22
je 0x40b1eb
add esp, 0xfffffff8
call sub.msvcrt.dll___p___mb_cur_max
push dword [eax]
push esi
call sub.msvcrt.dll_mblen
add esi, eax
add esp, 0x10
jmp 0x40b18f
mov dword [edi], esi
add edi, 4
jmp 0x40b1d1
add esp, 0xfffffff8
call sub.msvcrt.dll___p___mb_cur_max
push dword [eax]
push esi
call sub.msvcrt.dll_mblen
add esi, eax
add esp, 0x10
movsx ebx, byte [esi]
test ebx, ebx
je 0x40b20d
add esp, 0xfffffff4
movzx eax, bl
push eax
call sub.msvcrt.dll_isspace
add esp, 0x10
test eax, eax
je 0x40b1bc
test ebx, ebx
je 0x40b20d
mov byte [esi], 0
inc esi
jmp 0x40b20d
add esp, 0xfffffff8
call sub.msvcrt.dll___p___mb_cur_max
push dword [eax]
push esi
call sub.msvcrt.dll_mblen
add esi, eax
add esp, 0x10
movsx ebx, byte [esi]
test ebx, ebx
je 0x40b22f
add esp, 0xfffffff4
movzx eax, bl
push eax
call sub.msvcrt.dll_isspace
add esp, 0x10
test eax, eax
jne 0x40b1f8
test ebx, ebx
jne 0x40b184
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add dword [ebp - 4], eax
dec eax
mov dword [edx], eax
je 0x40b252
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [edi], eax
add dword [edx], 4
add edi, 4
mov eax, dword [ebp + 8]
dec dword [eax]
jne 0x40b23c
mov dword [edi], 0
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov dword [edx], eax
lea esp, [ebp - 0x28]
pop ebx
pop esi
pop edi
leave
ret