Function at 0x458970
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x14], edx
push edi
mov dword [esp + 0x10], esi
xor edi, edi
call fcn.00413e30
xor ebx, ebx
test esi, esi
je 0x4589ce
push 0x619e00
or edx, 0xffffffff
mov ecx, esi
call fcn.0040fec0
add esp, 4
test eax, eax
je 0x4589ce
push 0x619e00
or edx, 0xffffffff
mov ecx, esi
call fcn.0040f5e0
add esp, 4
or edx, 0xffffffff
mov ecx, esi
call fcn.004123e0
mov ecx, esi
mov ebx, eax
call fcn.00414cb0
mov ecx, esi
call fcn.00414cb0
shr ebx, 0x1d
not ebx
test bl, 1
je 0x4591ee
mov edi, dword [esi + 0x44]
mov edx, str.getJSModule_promise__
sub edi, dword [esi + 0x40]
mov ecx, esi
push 0xe88
push 0
sar edi, 3
call fcn.0040ec00
add esp, 8
test eax, eax
jne 0x4591f7
mov ecx, esi
call fcn.00413cf0
push 0
xor edx, edx
mov ecx, esi
call fcn.0040e020
add esp, 4
test eax, eax
jne 0x4591f7
push 0xe88
push eax
mov edx, str.getJSModule_duktape_debugger__
mov ecx, esi
call fcn.0040ec00
add esp, 8
test eax, eax
jne 0x4591f7
mov ecx, esi
call fcn.00413cf0
push 0
xor edx, edx
mov ecx, esi
call fcn.0040e020
add esp, 4
test eax, eax
jne 0x4591f7
lea edx, [eax - 2]
mov ecx, esi
call fcn.00412bd0
mov edx, 0xfffffffe
mov ecx, esi
call fcn.00411a70
or edx, 0xffffffff
mov ecx, esi
mov ebx, dword [eax + 0x14]
add eax, 0x1c
mov dword [esp + 0x14], eax
call fcn.00412bd0
or edx, 0xffffffff
mov ecx, esi
call fcn.00411a70
mov edi, eax
xor ecx, ecx
mov esi, dword [edi + 0x14]
call fcn.004aec10
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0
mov dword [0x6458fc], eax
call fcn.0049d550
mov edx, 0x3c000000
mov ecx, eax
call fcn.0049d5c0
add esp, 0x20
mov dword [0x645900], eax
push 0
push ecx
mov ecx, dword [esp + 0x18]
call fcn.00470e90
add esp, 4
mov edx, 0x458510
mov ecx, eax
call fcn.004ae830
mov ecx, dword [0x645900]
add esp, 4
mov edx, str.promise
push ebx
push dword [esp + 0x18]
call fcn.00456110
mov ecx, dword [0x645900]
lea eax, [edi + 0x1c]
push esi
push eax
mov edx, str.duktape_debugger
call fcn.00456110
mov ebx, dword [esp + 0x20]
mov ecx, ebx
call fcn.00413e30
push 0x6075cc
or edx, 0xffffffff
mov ecx, ebx
xor edi, edi
call fcn.0040fec0
add esp, 0x14
mov esi, 0xfff8
test eax, eax
je 0x458b8a
push 0x6075cc
or edx, 0xffffffff
mov ecx, ebx
call fcn.0040f5e0
mov eax, dword [ebx + 0x44]
add esp, 4
mov ecx, dword [ebx + 0x40]
sub eax, ecx
sar eax, 3
lea edx, [eax - 1]
cmp edx, eax
jae 0x458b69
lea edi, [ecx + edx*8]
test edi, edi
jne 0x458b6e
mov edi, 0x5ed574
cmp word [edi + 6], si
je 0x458b78
xor edi, edi
jmp 0x458b7a
mov edi, dword [edi]
lea eax, [edi + 0x1c]
mov ecx, ebx
neg edi
sbb edi, edi
and edi, eax
call fcn.00414cb0
push 0x6075e8
or edx, 0xffffffff
mov ecx, ebx
xor esi, esi
call fcn.0040fec0
add esp, 4
test eax, eax
je 0x458bf3
push 0x6075e8
or edx, 0xffffffff
mov ecx, ebx
call fcn.0040f5e0
mov eax, dword [ebx + 0x44]
add esp, 4
mov ecx, dword [ebx + 0x40]
sub eax, ecx
sar eax, 3
lea edx, [eax - 1]
cmp edx, eax
jae 0x458bcd
lea esi, [ecx + edx*8]
test esi, esi
jne 0x458bd2
mov esi, 0x5ed574
mov eax, 0xfff8
cmp word [esi + 6], ax
je 0x458be1
xor esi, esi
jmp 0x458be3
mov esi, dword [esi]
lea eax, [esi + 0x1c]
mov ecx, ebx
neg esi
sbb esi, esi
and esi, eax
call fcn.00414cb0
mov ecx, ebx
call fcn.00414cb0
test edi, edi
je 0x458d20
test esi, esi
jne 0x458c75
mov ecx, ebx
call fcn.00413cf0
push 0x607600
or edx, 0xffffffff
mov ecx, ebx
call fcn.0040f5e0
add esp, 4
or edx, 0xffffffff
mov ecx, ebx
push 0x607608
call fcn.0040f5e0
mov eax, dword [ebx + 0x44]
add esp, 4
mov ecx, dword [ebx + 0x40]
sub eax, ecx
sar eax, 3
lea edx, [eax - 1]
cmp edx, eax
jae 0x458c4a
lea esi, [ecx + edx*8]
test esi, esi
jne 0x458c4f
mov esi, 0x5ed574
mov eax, 0xfff8
cmp word [esi + 6], ax
je 0x458c5e
xor esi, esi
jmp 0x458c60
mov esi, dword [esi]
mov edx, 3
mov ecx, ebx
call fcn.00414b70
lea eax, [esi + 0x1c]
neg esi
sbb esi, esi
and esi, eax
mov ecx, dword [0x645900]
call fcn.00413cf0
mov ecx, dword [0x645900]
mov edx, edi
call fcn.00413910
mov ecx, dword [0x645900]
or edx, 0xffffffff
push 0x607610
call fcn.0040f5e0
mov ecx, dword [0x645900]
add esp, 4
mov edx, 0xfffffffe
call fcn.00410cf0
mov ecx, dword [0x645900]
mov edx, 0x607618
call fcn.00413910
mov ecx, dword [0x645900]
mov edx, 1
push 0
call fcn.0040e020
mov ecx, dword [0x645900]
add esp, 4
mov edx, 0xfffffffe
push 0x60761c
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
mov edx, esi
call fcn.00413910
mov ecx, dword [0x645900]
mov edx, 0xfffffffe
push 0x60762c
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
call fcn.00414cb0
mov ecx, ebx
call fcn.00413e30
push 0
mov edx, 0xb8
mov ecx, ebx
call fcn.004146b0
mov edi, eax
add esp, 4
test edi, edi
je 0x459238
push 0xb8
push 0
push edi
call fcn.005869c0
add esp, 0xc
mov dword [edi], 0xa8
mov dword [edi + 4], 0
mov edx, 0xfffffffe
mov eax, dword [0x61c4d0]
mov ecx, ebx
mov dword [edi + 8], eax
mov dword [edi + 0xc], 2
add edi, 0x10
push 0x607638
call fcn.0040f8b0
add esp, 4
mov ecx, ebx
call fcn.00414cb0
mov ecx, dword [0x645900]
call fcn.00413cf0
mov ecx, dword [0x645900]
mov edx, 0x458550
push 6
push 0x18075380
push 1
call fcn.004142f0
mov ecx, dword [0x645900]
add esp, 0xc
mov edx, edi
call fcn.00413970
mov ecx, dword [0x645900]
mov edx, 0xfffffffe
push 0x607640
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
mov edx, 0xfffffffe
push str.updateWebPort
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
mov edx, 0x458620
push 6
push 0x18075380
push 0
call fcn.004142f0
mov ecx, dword [0x645900]
add esp, 0xc
mov edx, edi
call fcn.00413970
mov ecx, dword [0x645900]
mov edx, 0xfffffffe
push 0x607658
call fcn.0040f8b0
add esp, 4
mov ecx, ebx
call fcn.00470e90
mov ecx, dword [0x645900]
mov edx, eax
call fcn.00413970
mov ecx, dword [0x645900]
mov edx, 0xfffffffe
push 0x607660
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
mov edx, 0xfffffffe
push str.hostCooperate
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
mov edx, 0x4588a0
push 6
push 0x18075380
push 0
call fcn.004142f0
mov ecx, dword [0x645900]
add esp, 0xc
mov edx, edi
call fcn.00413970
push 0x60767c
mov ecx, dword [0x645900]
mov edx, 0xfffffffe
call fcn.0040f8b0
add esp, 4
mov ecx, ebx
call fcn.00470e90
mov ecx, dword [0x645900]
mov edx, eax
call fcn.00413970
mov ecx, dword [0x645900]
mov edx, 0xfffffffe
push 0x607684
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
mov edx, 0xfffffffe
push str.hostGC
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
mov edx, 0x458720
push 6
push 0x18075380
push 0
call fcn.004142f0
mov ecx, dword [0x645900]
add esp, 0xc
mov edx, edi
call fcn.00413970
mov ecx, dword [0x645900]
mov edx, 0xfffffffe
push 0x607698
call fcn.0040f8b0
add esp, 4
mov ecx, ebx
call fcn.00470e90
mov ecx, dword [0x645900]
mov edx, eax
call fcn.00413970
mov ecx, dword [0x645900]
mov edx, 0xfffffffe
push str._HostChain
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
mov edx, 0xfffffffe
push str.detachCleanup
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
mov edx, dword [ecx + 0x44]
cmp edx, dword [ecx + 0x38]
jae 0x459279
movd xmm0, dword [esp + 0x18]
lea eax, [edx + 8]
cvtdq2pd xmm0, xmm0
mov dword [ecx + 0x44], eax
push 0x6076bc
movsd qword [edx], xmm0
mov edx, 0xfffffffe
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
mov edx, dword [ecx + 0x44]
cmp edx, dword [ecx + 0x38]
jae 0x45928d
mov esi, dword [ebp + 8]
lea eax, [edx + 8]
mov dword [ecx + 0x44], eax
push 0x6076c8
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movsd qword [edx], xmm0
mov edx, 0xfffffffe
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
call fcn.00414cb0
push 0
push 0x40
push 0
push 0
mov dword [edi + 4], ebx
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov ecx, dword [0x645900]
mov dword [edi + 0x88], eax
mov dword [edi + 0x94], esi
call fcn.00413cf0
mov ecx, dword [0x645900]
call fcn.00413fd0
mov ecx, ebx
call fcn.00413e30
push 0x6076d0
or edx, 0xffffffff
mov ecx, ebx
call fcn.0040f5e0
add esp, 4
or edx, 0xffffffff
mov ecx, ebx
call fcn.00410d60
push 0xe80
or edx, 0xffffffff
mov ecx, ebx
call fcn.00411c60
add esp, 4
mov edx, 0x10
mov ecx, ebx
call fcn.004325c0
mov esi, 0xfff9
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x40]
sub eax, ecx
sar eax, 3
lea edx, [eax - 1]
cmp edx, eax
jae 0x45908d
lea eax, [ecx + edx*8]
test eax, eax
jne 0x459092
mov eax, 0x5ed574
cmp word [eax + 6], si
jne 0x4592a1
cmp dword [eax], 0
je 0x4592a1
or edx, 0xffffffff
mov ecx, ebx
call fcn.00410d60
mov edx, 1
mov ecx, ebx
call fcn.00432bf0
mov ecx, ebx
test eax, eax
je 0x4591a7
mov edx, 0xfffffffe
call fcn.004133f0
test eax, eax
je 0x459134
or edx, 0xffffffff
mov ecx, ebx
call fcn.004133f0
test eax, eax
je 0x459134
or edx, 0xffffffff
mov ecx, ebx
call fcn.00411600
mov edx, 0xfffffffe
mov ecx, ebx
mov esi, eax
call fcn.00411600
mov ecx, dword [0x645900]
mov edx, eax
call fcn.00413910
mov ecx, dword [0x645900]
mov edx, esi
call fcn.00413910
mov ecx, dword [0x645900]
mov edx, 0xfffffffd
call fcn.0040f810
mov ecx, ebx
mov esi, 0xfff9
call fcn.00414d90
jmp 0x459074
mov edx, 0xfffffffe
mov ecx, ebx
call fcn.004133f0
test eax, eax
je 0x45919b
or edx, 0xffffffff
mov ecx, ebx
call fcn.004133b0
test eax, eax
je 0x45919b
or edx, edx
mov ecx, ebx
call fcn.004114c0
mov edx, 0xfffffffe
movsd qword [esp + 0x18], xmm0
mov ecx, ebx
call fcn.00411600
mov ecx, dword [0x645900]
mov edx, eax
call fcn.00413910
movsd xmm1, qword [esp + 0x18]
mov ecx, dword [0x645900]
call fcn.00413760
mov ecx, dword [0x645900]
mov edx, 0xfffffffd
call fcn.0040f810
mov ecx, ebx
call fcn.00414d90
jmp 0x459074
mov edx, 3
call fcn.00414b70
mov ecx, dword [0x645900]
mov edx, 0xfffffffe
push str.attachOptions
call fcn.0040f8b0
mov ecx, dword [0x645900]
add esp, 4
call fcn.00414cb0
push 0
push 0
push 0
push 0x4584e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x645904], eax
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xe88
push 0
mov edx, str.process.emit_uncaughtException__Cannot_setup_debugger__missing_promise_and_or_duktape_debugger__
mov ecx, esi
call fcn.0040ec00
add esp, 8
test eax, eax
jne 0x459226
mov ecx, esi
call fcn.00413cf0
push 0
xor edx, edx
mov ecx, esi
call fcn.0040e020
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.00410990
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x46d
mov edx, 0x61c474
xor ecx, ecx
call fcn.004b47e0
add esp, 0xc
push 0x46d
push 0x61c490
push 0x61c4ac
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.00587d2d
push str.cannot_push_beyond_allocated_stack
push 0x3001094
mov edx, 0x6043e8
call fcn.0040d110
push str.cannot_push_beyond_allocated_stack
push 0x3001094
mov edx, 0x6043e8
call fcn.0040d110
push 0x604170
push 0xffffffffffffffff
push 0x852
mov edx, 0x604178
mov ecx, ebx
call fcn.0040d130
int3