Function at 0x414bb0
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 0x414bd6
xor eax, eax
jmp 0x414e31
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 0x414cf2
push 6
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
call fcn.004228d0
add esp, 0x14
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x70], eax
mov edx, dword [ebp - 8]
cmp dword [edx + 0x70], 0
je 0x414cf2
cmp dword [ebp - 4], 0
je 0x414c6e
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 0x414c8d
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 0x414cf2
cmp dword [ebp - 4], 0
je 0x414cc3
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 0x414ce3
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 0x414d07
push 1
mov edx, dword [ebp - 8]
push edx
call fcn.00415dc0
add esp, 8
xor eax, eax
jmp 0x414e31
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 [0x453ec8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 8]
mov eax, dword [0x453ecc]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 8]
mov edx, dword [0x453ed0]
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 0x414ded
mov dword [ebp - 0xc], 0x452f50
jmp 0x414dc6
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 0x414ded
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 0x414dbd
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x414e2e
jmp 0x414e07
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 0x414e2e
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 0x414dfe
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret