Function at 0x100bb9a0
Capabilities:
Query environment variable

Disassembly:
push 0xffffffffffffffff
push 0x1014c2ba
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
mov dword [esp], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
cmp dword [ecx], 0
push esi
push eax
jne 0x100bb9e9
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.1009edd0
mov eax, esi
pop esi
mov ecx, dword [esp + 8]
mov dword fs:[0], ecx
add esp, 0x14
ret
lea ecx, [esp + 0x24]
call fcn.1009edd0
mov eax, dword [0x103272a4]
test eax, eax
mov dword [esp + 0x14], 1
mov dword [esp + 8], 4
je 0x100bba13
lea ecx, [eax + 0x10]
call fcn.100a9480
mov edx, dword [0x10327358]
mov eax, dword [edx]
mov eax, dword [eax]
test eax, eax
mov byte [esp + 0x14], 2
jne 0x100bbab1
push str.HOME
call sub.MSVCR80.dll_getenv
mov esi, eax
add esp, 4
test esi, esi
je 0x100bba7d
cmp byte [esi], 0
je 0x100bba7d
call fcn.100b4500
mov ecx, dword [0x10327358]
push eax
push 0xffffffffffffffff
push esi
call fcn.1009f9d0
mov ecx, dword [0x10327358]
mov esi, dword [ecx]
cmp dword [esi], 2
jl 0x100bbab1
cmp word [esi + 0xe], 0x3a
jne 0x100bbab1
movzx edx, word [esi + 0xc]
push edx
call sub.MSVCR80.dll_toupper
add esp, 4
mov word [esi + 0xc], ax
jmp 0x100bbab1
mov esi, dword [0x10327358]
xor ecx, ecx
call fcn.100bab50
mov ecx, dword [0x10327358]
push 1
push 0x7fffffff
push 0x5c
call fcn.1009e4a0
cmp eax, 2
jle 0x100bbab1
mov ecx, dword [0x10327358]
push 0xffffffffffffffff
push eax
call fcn.1009f410
mov eax, dword [0x103272a4]
test eax, eax
mov byte [esp + 0x14], 1
je 0x100bbac7
lea ecx, [eax + 0x10]
call fcn.100a9490
cmp byte [esp + 0x24], 0
je 0x100bbb2b
mov ecx, dword [0x10327358]
mov eax, dword [ecx]
mov eax, dword [eax]
test eax, eax
je 0x100bbb2b
push eax
push ecx
lea ecx, [esp + 0x28]
call fcn.1009e2f0
test eax, eax
jne 0x100bbb2b
mov ecx, dword [0x10327358]
mov edx, dword [ecx]
mov eax, dword [edx]
push eax
push 0
lea ecx, [esp + 0x28]
call fcn.1009f410
mov eax, dword [esp + 0x20]
cmp dword [eax], 0
je 0x100bbb1e
cmp word [eax + 0xc], 0x5c
je 0x100bbb1e
push 0
push 0x5c
lea ecx, [esp + 0x28]
call fcn.1009fc00
push 0
push 0x7e
lea ecx, [esp + 0x28]
call fcn.1009fc00
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
cmp ecx, 2
jle 0x100bbb72
cmp word [eax + 0xe], 0x3a
jne 0x100bbb72
movzx eax, word [eax + 0xc]
push eax
call sub.MSVCR80.dll_towlower
movzx esi, ax
add esp, 4
cmp si, 0x5c
je 0x100bbb72
cmp si, 0x7e
je 0x100bbb72
push 0x2f
push 0
lea ecx, [esp + 0x28]
call fcn.1009ea10
push esi
push 1
lea ecx, [esp + 0x28]
call fcn.1009ea10
push 0
push 0x2f
push 0x5c
lea ecx, [esp + 0x2c]
call fcn.1009e8b0
lea eax, [esp + 0x20]
call fcn.100bac10
test al, al
je 0x100bbba3
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
push 0xffffffffffffffff
add eax, 0xfffffffc
push eax
lea ecx, [esp + 0x28]
call fcn.1009f410
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
cmp eax, 1
jle 0x100bbbd2
mov edi, edi
cmp word [ecx + eax*2 + 0xa], 0x2f
jne 0x100bbbd2
push 0xffffffffffffffff
add eax, 0xffffffff
push eax
lea ecx, [esp + 0x28]
call fcn.1009f410
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
cmp eax, 1
jg 0x100bbbb0
push str.__.______:___
lea ecx, [esp + 0x24]
call fcn.100a1520
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x20]
push edx
mov ecx, esi
call fcn.1009edd0
lea ecx, [esp + 0x20]
mov dword [esp + 4], 1
mov byte [esp + 0x14], 0
call fcn.1009dbf0
mov ecx, dword [esp + 0xc]
mov eax, esi
pop esi
mov dword fs:[0], ecx
add esp, 0x14
ret