Function at 0x40e400
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov edi, dword [esp + 0x78]
call sym._dollar___systemZdollars_u8_4
mov dword [esp], 0x4db1c8
mov dword [esp + 0x2c], edx
mov ebx, eax
call sym.___emutls_get_address
cmp byte [eax], 0
jne 0x40e652
mov esi, eax
mov ecx, ebp
call sym._dollar___systemZdollars_u8_4
cmp byte [esi], 0
mov dword [esp + 0x34], eax
mov ebp, eax
mov dword [esp + 0x30], edx
jne 0x40e652
lea ecx, [edi - 1]
call sym._dollar___systemZdollars_u8_4
cmp byte [esi], 0
mov dword [esp + 0x38], eax
mov ecx, eax
mov edi, edx
jne 0x40e652
lea eax, [ebp + ebx]
lea ecx, [eax + ecx + 0x21]
call sym._rawNewString_4
mov dword [esp + 0x48], eax
mov ebp, dword [esp + 0x48]
mov eax, 0x20
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x4c]
lea esi, [ecx + ebp + 4]
mov word [esi + 0x14], ax
mov eax, ebp
add eax, 0x15
mov dword [esi], 0x65646e69
mov dword [esi + 4], 0x756f2078
mov dword [esi + 8], 0x666f2074
mov dword [esi + 0xc], 0x756f6220
mov dword [esi + 0x10], 0x3a73646e
jo 0x40e75e
mov dword [esp + 0x48], eax
mov ebp, eax
lea esi, [ecx + eax + 4]
test ebx, ebx
jle 0x40e521
mov eax, ebx
add eax, 1
jo 0x40e770
mov dword [esp + 0x3c], ecx
test eax, eax
js 0x40e680
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp], esi
add edx, 4
mov dword [esp + 4], edx
call sym._memcpy
add ebx, ebp
mov ecx, dword [esp + 0x3c]
jo 0x40e770
mov dword [esp + 0x48], ebx
lea esi, [ecx + ebx + 4]
mov ebp, ebx
mov ebx, ebp
mov eax, 0x2e2e
mov byte [esi + 2], 0
add ebx, 2
mov word [esi], ax
jo 0x40e740
mov dword [esp + 0x48], ebx
lea esi, [ecx + ebp + 6]
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x40e58e
add eax, 1
jo 0x40e754
test eax, eax
js 0x40e700
mov edx, dword [esp + 0x30]
mov dword [esp + 8], eax
mov dword [esp], esi
add edx, 4
mov dword [esp + 0x3c], ecx
mov dword [esp + 4], edx
call sym._memcpy
mov eax, dword [esp + 0x34]
add eax, ebx
jo 0x40e754
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov ebx, eax
lea esi, [ecx + eax + 4]
mov edx, 0x2e2e
add ebx, 0xa
mov byte [esi + 0xa], 0
mov dword [esi], 0x746f6e20
mov dword [esi + 4], 0x30206e69
mov word [esi + 8], dx
jo 0x40e782
mov dword [esp + 0x48], ebx
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x48]
mov ecx, edi
call sym._appendString
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov edx, 4
mov ecx, 0x20
call sym._nimNewObj_8.constprop.0
mov edx, 0x4dc54f
mov dword [eax], sym._rttiDestroy__systemZexceptions_u60_4
mov ecx, eax
mov dword [eax + 8], 0x4dc54f
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ebx
mov dword [esp + 8], 0x35
mov dword [esp + 4], str.fatal.nim
mov dword [esp], str.sysFatal
call sym._raiseExceptionEx_20.constprop.0
sub esp, 0xc
test edi, edi
je 0x40e624
test dword [edi], 0x40000000
je 0x40e6e0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x40e63d
mov eax, dword [eax]
mov dword [esp + 0x34], eax
test eax, 0x40000000
je 0x40e6c0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x40e652
mov eax, dword [eax]
mov dword [esp + 0x30], eax
test eax, 0x40000000
je 0x40e660
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x4db1d8
call sym.___emutls_get_address
mov edx, dword [esp + 0x2c]
add esp, 0x5c
pop ebx
mov ecx, eax
pop esi
pop edi
pop ebp
jmp sym._rawDealloc__system_u6963_8
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0x80000000
mov dword [esp + 4], 0xffffffff
call sym._raiseRangeErrorI
mov ecx, dword [esp + 0x3c]
jmp 0x40e521
mov dword [esp], 0x4db1d8
call sym.___emutls_get_address
mov edx, dword [esp + 0x30]
mov ecx, eax
call sym._rawDealloc__system_u6963_8
jmp 0x40e63d
mov dword [esp], 0x4db1d8
call sym.___emutls_get_address
mov edx, edi
mov ecx, eax
call sym._rawDealloc__system_u6963_8
jmp 0x40e624
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0x80000000
mov dword [esp + 4], 0xffffffff
call sym._raiseRangeErrorI
jmp 0x40e58e
mov dword [esp + 0x3c], ecx
mov ebx, ebp
call sym._raiseOverflow
mov ecx, dword [esp + 0x3c]
jmp 0x40e540
call sym._raiseOverflow
jmp 0x40e58e
mov dword [esp + 0x3c], ecx
call sym._raiseOverflow
mov ecx, dword [esp + 0x3c]
jmp 0x40e4d9
mov dword [esp + 0x3c], ecx
call sym._raiseOverflow
mov ecx, dword [esp + 0x3c]
jmp 0x40e521
call sym._raiseOverflow
jmp 0x40e5b5