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

Disassembly:
push ebp
mov ecx, 0x11
mov edx, 4
push edi
push esi
push ebx
sub esp, 0xec
mov eax, dword [esp + 0x100]
lea edi, [esp + 0x9c]
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x70], 0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x74], 0
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x78], 0
mov dword [esp + 0x48], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, 0x30
mov dword [esp + 0x7c], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
call sym._nimNewObj_8
mov dword [eax], sym._rttiDestroy__pureZosproc_u1816_4
mov ebp, eax
mov eax, esi
mov byte [ebp + 0x2d], al
and eax, 0x10
mov byte [ebp + 0x2c], 1
mov dword [esp], 0x4db1c8
mov dword [esp + 0x9c], 0x44
mov byte [esp + 0x34], al
call sym.___emutls_get_address
cmp byte [esp + 0x34], 0
mov ebx, eax
jne 0x42d570
mov dword [esp + 0xc8], 0x100
test esi, 0x20
jne 0x42d1c0
lea eax, [esp + 0x5c]
lea edi, [esp + 0x80]
mov dword [esp + 0x84], 0
mov dword [esp + 4], eax
lea eax, [esp + 0xd4]
mov dword [esp + 0x80], 0xc
mov dword [esp + 0x88], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [0x519120]
sub esp, 0x10
test eax, eax
jne 0x42d013
call sym._osLastError__stdZoserrors_u125_0
mov ecx, eax
movzx eax, byte [ebx]
test al, al
jne 0x42d120
mov eax, dword [0x4df1a8]
mov edx, dword [0x4df1ac]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym._raiseOSError__stdZoserrors_u122
movzx eax, byte [ebx]
test al, al
jne 0x42d120
lea eax, [esp + 0xd8]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0xc
mov dword [esp + 0x88], 1
mov dword [esp + 0xc], 0
mov dword [esp], eax
call dword [0x519120]
sub esp, 0x10
test eax, eax
je 0x42d7e0
movzx eax, byte [ebx]
test al, al
jne 0x42d120
test esi, 8
je 0x42d818
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x51911c]
sub esp, 0xc
test eax, eax
je 0x42d670
mov eax, dword [esp + 0x60]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x51911c]
sub esp, 0xc
test eax, eax
jne 0x42d1f1
call sym._osLastError__stdZoserrors_u125_0
mov edi, eax
movzx eax, byte [ebx]
test al, al
jne 0x42d120
mov eax, dword [0x4df1a8]
mov edx, dword [0x4df1ac]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym._raiseOSError__stdZoserrors_u122
movzx eax, byte [ebx]
test al, al
je 0x42d1f1
nop
mov dword [esp + 0x3c], 0
lea esi, [esi]
nop
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov byte [ebx], 0
mov byte [esp + 0x34], al
mov dword [esp], esi
mov dword [esp + 4], edi
call sym._eqdestroy___stdZwidestrs_u7_8
sub esp, 8
cmp byte [ebx], 0
jne 0x42d1ac
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov dword [esp], esi
mov dword [esp + 4], edi
call sym._eqdestroy___stdZwidestrs_u7_8
sub esp, 8
cmp byte [ebx], 0
jne 0x42d1ac
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov dword [esp], esi
mov dword [esp + 4], edi
call sym._eqdestroy___stdZwidestrs_u7_8
sub esp, 8
cmp byte [ebx], 0
jne 0x42d1ac
mov edi, dword [esp + 0x3c]
movzx eax, byte [esp + 0x34]
test edi, edi
je 0x42d1aa
mov ecx, dword [edi]
mov dword [esp + 0x34], ecx
and ecx, 0x40000000
je 0x42d650
mov byte [ebx], al
add esp, 0xec
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 0x20
lea eax, [esp + 0x64]
mov dword [esp + 8], ebp
lea edx, [esp + 0x5c]
mov dword [esp + 4], eax
lea eax, [esp + 0x60]
lea ecx, [esp + 0x9c]
mov dword [esp], eax
call sym._createAllPipeHandles__pureZosproc_u904_20
movzx eax, byte [ebx]
sub esp, 0xc
test al, al
jne 0x42d120
mov eax, dword [esp + 0x5c]
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [ebp + 0x14], eax
test esi, 4
je 0x42d5df
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], 0
lea edi, [eax + 4]
mov eax, dword [esp + 0x38]
test eax, eax
mov eax, 0x4def20
cmove edi, eax
mov eax, dword [esp + 0x114]
test eax, eax
je 0x42d25f
mov eax, dword [0x4df174]
mov edx, dword [0x4df178]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._failedAssertImpl__stdZassertions_u270_8
movzx eax, byte [ebx]
sub esp, 8
test al, al
jne 0x42d130
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
xor eax, eax
add edx, 4
test ecx, ecx
cmovg eax, edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x118]
test eax, eax
je 0x42d640
mov ecx, dword [esp + 0x118]
call sym._buildEnv__pureZosproc_u857_4
mov dword [esp + 0x118], eax
movzx eax, byte [ebx]
mov dword [esp + 0x48], edx
test al, al
jne 0x42d130
test esi, 1
je 0x42d2f7
mov ecx, edi
call sym._cstrToNimstr_4
lea ecx, [esp + 0x80]
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], edx
mov edx, 1
mov dword [esp + 0x80], eax
call sym._echoBinSafe_8
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x42d2ec
test dword [eax], 0x40000000
je 0x42d7d0
movzx eax, byte [ebx]
test al, al
jne 0x42d130
mov ecx, edi
call sym._newWideCString__stdZwidestrs_u302_4
mov dword [esp + 0x68], eax
movzx eax, byte [ebx]
mov dword [esp + 0x6c], edx
test al, al
jne 0x42d130
mov ecx, dword [esp + 0x118]
test ecx, ecx
je 0x42d630
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x118]
call sym._newWideCString__stdZwidestrs_u281_8
mov dword [esp + 0x70], eax
movzx eax, byte [ebx]
mov dword [esp + 0x74], edx
test al, al
jne 0x42d130
mov ecx, dword [esp + 0x44]
call sym._newWideCString__stdZwidestrs_u302_4
mov dword [esp + 0x78], eax
movzx eax, byte [ebx]
mov dword [esp + 0x7c], edx
test al, al
jne 0x42d130
mov eax, esi
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x9c]
mov dword [esp + 0x10], 1
and eax, 0x40
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x7c]
cmp al, 1
mov dword [esp + 0x20], ecx
sbb eax, eax
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x74]
and eax, 0xf8000000
mov dword [esp + 0xc], 0
add eax, 0x8000420
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [0x519104]
sub esp, 0x28
mov edi, eax
call sym._osLastError__stdZoserrors_u125_0
mov dword [esp + 0x44], eax
movzx eax, byte [ebx]
test al, al
jne 0x42d130
cmp byte [esp + 0x34], 0
jne 0x42d4e0
mov eax, dword [esp + 0xd4]
cmp eax, 4
jle 0x42d447
mov dword [esp], eax
call dword [0x519108]
sub esp, 4
test eax, eax
jne 0x42d433
call sym._osLastError__stdZoserrors_u125_0
cmp byte [ebx], 0
jne 0x42d948
mov edx, dword [0x4df1a8]
mov ecx, dword [0x4df1ac]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym._raiseOSError__stdZoserrors_u122
cmp byte [ebx], 0
jne 0x42d948
mov dword [esp + 0xd4], 0xffffffff
mov eax, dword [esp + 0xd8]
cmp eax, 4
jle 0x42d4a1
mov dword [esp], eax
call dword [0x519108]
sub esp, 4
test eax, eax
jne 0x42d48d
call sym._osLastError__stdZoserrors_u125_0
cmp byte [ebx], 0
jne 0x42d948
mov edx, dword [0x4df1a8]
mov ecx, dword [0x4df1ac]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym._raiseOSError__stdZoserrors_u122
cmp byte [ebx], 0
jne 0x42d948
mov dword [esp + 0xd8], 0xffffffff
and esi, 8
jne 0x42d4e0
mov eax, dword [esp + 0xdc]
cmp eax, 4
jle 0x42d4e0
mov dword [esp], eax
call dword [0x519108]
sub esp, 4
test eax, eax
je 0x42d908
cmp byte [ebx], 0
jne 0x42d948
mov dword [esp + 0xdc], 0xffffffff
lea esi, [esi]
mov eax, dword [esp + 0x118]
test eax, eax
je 0x42d4fa
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym._dealloc
test edi, edi
jne 0x42d545
test byte [ebp + 0x2d], 0x20
jne 0x42d6b0
mov eax, dword [esp + 0x44]
cmp eax, 0x57
je 0x42d6cf
cmp eax, 2
je 0x42d6cf
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call sym._raiseOSError__stdZoserrors_u122
movzx eax, byte [ebx]
test al, al
jne 0x42d130
mov eax, dword [esp + 0x8c]
mov byte [ebp + 0x2c], 0
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x94]
mov dword [ebp + 0x18], eax
movzx eax, byte [ebx]
jmp 0x42d130
mov dword [esp], 0xfffffff4
call dword [0x519128]
sub esp, 4
mov dword [esp + 0xdc], eax
mov dword [esp], 0xfffffff6
call dword [0x519128]
sub esp, 4
mov dword [esp + 0xd4], eax
mov dword [esp], 0xfffffff5
call dword [0x519128]
sub esp, 4
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xd4]
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0xd8]
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0xdc]
mov dword [ebp + 0x14], eax
test esi, 4
jne 0x42d212
mov eax, dword [esp + 0x114]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call sym._buildCommandLine__pureZosproc_u845_16
mov ecx, eax
movzx eax, byte [ebx]
sub esp, 0x10
mov dword [esp + 0x3c], edx
test al, al
jne 0x42d130
lea edi, [edx + 4]
test ecx, ecx
mov eax, 0x4def20
cmove edi, eax
jmp 0x42d25f
xor ecx, ecx
call sym._newWideCString__stdZwidestrs_u302_4
jmp 0x42d330
mov dword [esp + 0x48], 0xffffffff
jmp 0x42d2a6
mov dword [esp], edi
mov byte [esp + 0x34], al
call sym._deallocShared
movzx eax, byte [esp + 0x34]
jmp 0x42d1aa
call sym._osLastError__stdZoserrors_u125_0
mov edi, eax
movzx eax, byte [ebx]
test al, al
jne 0x42d120
mov eax, dword [0x4df1a8]
mov edx, dword [0x4df1ac]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym._raiseOSError__stdZoserrors_u122
movzx eax, byte [ebx]
test al, al
je 0x42d0c3
jmp 0x42d120
mov ecx, ebp
call sym._nospclose_4
movzx eax, byte [ebx]
test al, al
jne 0x42d130
mov eax, dword [esp + 0x44]
cmp eax, 0x57
jne 0x42d515
mov eax, dword [esp + 0x38]
lea ecx, [eax + 0x2a]
call sym._rawNewString_4
lea esi, [eax + edx + 4]
mov edi, edx
mov edx, 0x2720
mov word [esi + 0x1c], dx
mov edx, eax
add edx, 0x1e
mov dword [esi], 0x75716552
mov dword [esi + 4], 0x65747365
mov dword [esi + 8], 0x6f632064
mov dword [esi + 0xc], 0x6e616d6d
mov dword [esi + 0x10], 0x6f6e2064
mov dword [esi + 0x14], 0x6f662074
mov dword [esi + 0x18], 0x3a646e75
mov byte [esi + 0x1e], 0
jo 0x42d9b0
lea esi, [eax + edi + 0x22]
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x42d777
add eax, 1
jo 0x42d9c2
mov dword [esp + 0x34], edx
test eax, eax
js 0x42d958
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp], esi
add ecx, 4
mov dword [esp + 4], ecx
call sym._memcpy
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add eax, edx
jo 0x42d9c2
lea esi, [eax + edi + 4]
mov edx, eax
mov eax, edx
mov dword [esi], 0x4f202e27
add eax, 0xc
mov dword [esi + 4], 0x72652053
mov dword [esi + 8], 0x3a726f72
mov byte [esi + 0xc], 0
jo 0x42d998
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], edi
mov dword [esp], eax
call sym._raiseOSError__stdZoserrors_u122
test edi, edi
je 0x42d7be
test dword [edi], 0x40000000
je 0x42d938
movzx eax, byte [ebx]
test al, al
je 0x42d545
jmp 0x42d130
mov dword [esp], eax
call sym._deallocShared
jmp 0x42d2ec
call sym._osLastError__stdZoserrors_u125_0
mov ecx, eax
movzx eax, byte [ebx]
test al, al
jne 0x42d120
mov eax, dword [0x4df1a8]
mov edx, dword [0x4df1ac]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym._raiseOSError__stdZoserrors_u122
jmp 0x42d06e
lea eax, [esp + 0xdc]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0xc
mov dword [esp + 0x88], 1
mov dword [esp + 0xc], 0
mov dword [esp], eax
call dword [0x519120]
sub esp, 0x10
test eax, eax
jne 0x42d891
call sym._osLastError__stdZoserrors_u125_0
mov ecx, eax
movzx eax, byte [ebx]
test al, al
jne 0x42d120
mov eax, dword [0x4df1a8]
mov edx, dword [0x4df1ac]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym._raiseOSError__stdZoserrors_u122
movzx eax, byte [ebx]
test al, al
jne 0x42d120
mov eax, dword [esp + 0x64]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x51911c]
sub esp, 0xc
test eax, eax
jne 0x42d09b
call sym._osLastError__stdZoserrors_u125_0
mov ecx, eax
movzx eax, byte [ebx]
test al, al
jne 0x42d120
mov eax, dword [0x4df1a8]
mov edx, dword [0x4df1ac]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym._raiseOSError__stdZoserrors_u122
movzx eax, byte [ebx]
test al, al
je 0x42d09b
jmp 0x42d120
call sym._osLastError__stdZoserrors_u125_0
cmp byte [ebx], 0
jne 0x42d948
mov edx, dword [0x4df1a8]
mov ecx, dword [0x4df1ac]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym._raiseOSError__stdZoserrors_u122
jmp 0x42d4c6
mov dword [esp], edi
call sym._deallocShared
jmp 0x42d7be
mov eax, 1
jmp 0x42d130
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 edx, dword [esp + 0x34]
jmp 0x42d777
mov dword [esp + 0x34], edx
call sym._raiseOverflow
mov eax, dword [esp + 0x34]
jmp 0x42d79a
mov dword [esp + 0x34], eax
call sym._raiseOverflow
mov edx, dword [esp + 0x34]
jmp 0x42d72d
mov dword [esp + 0x34], edx
call sym._raiseOverflow
mov edx, dword [esp + 0x34]
jmp 0x42d777