Function at 0x44b250
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0x2f8
push 1
call dword [sym.imp.MSVCR90.dll_calloc]
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x44b276
xor eax, eax
jmp 0x44b4d1
mov eax, dword [ebp - 8]
mov dword [eax + 0x40], 0x34
push str.VMDEBUG
call dword [sym.imp.MSVCR90.dll_getenv]
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 4], eax
mov ecx, dword [sym.imp.cdt.dll_Dtset]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 8]
add eax, 0x40
push eax
call sub.cdt.dll_dtopen
add esp, 8
mov ecx, dword [ebp - 8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 8]
cmp dword [edx + 4], 0
je 0x44b392
push 6
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
call fcn.0042a8e0
add esp, 0x14
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x70], eax
mov edx, dword [ebp - 8]
cmp dword [edx + 0x70], 0
je 0x44b392
cmp dword [ebp - 4], 0
je 0x44b30e
push 0xc
mov eax, dword [sym.imp.vmalloc.dll_Vmdebug]
mov ecx, dword [eax]
push ecx
mov edx, dword [sym.imp.vmalloc.dll_Vmdcsbrk]
mov eax, dword [edx]
push eax
call dword [sym.imp.vmalloc.dll_vmopen]
add esp, 0xc
mov dword [ebp - 0x10], eax
jmp 0x44b32d
push 0
mov ecx, dword [sym.imp.vmalloc.dll_Vmbest]
mov edx, dword [ecx]
push edx
mov eax, dword [sym.imp.vmalloc.dll_Vmdcheap]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.vmalloc.dll_vmopen]
add esp, 0xc
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x34], eax
cmp dword [ebp - 0x10], 0
je 0x44b392
cmp dword [ebp - 4], 0
je 0x44b363
push 0xc
mov ecx, dword [sym.imp.vmalloc.dll_Vmdebug]
mov edx, dword [ecx]
push edx
mov eax, dword [sym.imp.vmalloc.dll_Vmdcsbrk]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.vmalloc.dll_vmopen]
add esp, 0xc
mov dword [ebp - 0x14], eax
jmp 0x44b383
push 0
mov edx, dword [sym.imp.vmalloc.dll_Vmbest]
mov eax, dword [edx]
push eax
mov ecx, dword [sym.imp.vmalloc.dll_Vmdcheap]
mov edx, dword [ecx]
push edx
call dword [sym.imp.vmalloc.dll_vmopen]
add esp, 0xc
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x38], ecx
cmp dword [ebp - 0x14], 0
jne 0x44b3a7
push 1
mov edx, dword [ebp - 8]
push edx
call fcn.0044c460
add esp, 8
xor eax, eax
jmp 0x44b4d1
mov eax, dword [ebp - 8]
mov dword [eax], str.libexpr:expr
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x64], edx
mov eax, dword [ebp - 8]
add eax, 0xd8
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x2d8], eax
mov edx, dword [ebp - 8]
mov dword [edx + 0x2e8], 0
mov eax, dword [ebp - 8]
mov ecx, dword [0x4a84d8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 8]
mov eax, dword [0x4a84dc]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 8]
mov edx, dword [0x4a84e0]
mov dword [ecx + 0x14], edx
push str.main
mov eax, dword [ebp - 8]
add eax, 0xb4
push eax
call sub.MSVCR90.dll_strcpy
add esp, 8
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x88], 0x125
mov edx, dword [ebp - 8]
mov dword [edx + 0x8c], 0x125
push 1
mov eax, dword [ebp - 8]
add eax, 0x80
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
call edx
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
and ecx, 0x10
jne 0x44b48d
mov dword [ebp - 0xc], 0x4aac88
jmp 0x44b466
mov edx, dword [ebp - 0xc]
add edx, 0x58
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
movsx ecx, byte [eax + 0x34]
test ecx, ecx
je 0x44b48d
push 1
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
mov ecx, dword [eax]
call ecx
add esp, 0xc
jmp 0x44b45d
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x44b4ce
jmp 0x44b4a7
mov ecx, dword [ebp - 0xc]
add ecx, 0x58
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
movsx eax, byte [edx + 0x34]
test eax, eax
je 0x44b4ce
push 1
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
mov eax, dword [edx]
call eax
add esp, 0xc
jmp 0x44b49e
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret