Function at 0x4591d0
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.00414690
xor ebx, ebx
test esi, esi
je 0x45922e
push 0x621a40
or edx, 0xffffffff
mov ecx, esi
call fcn.00410720
add esp, 4
test eax, eax
je 0x45922e
push 0x621a40
or edx, 0xffffffff
mov ecx, esi
call fcn.0040fe40
add esp, 4
or edx, 0xffffffff
mov ecx, esi
call fcn.00412c40
mov ecx, esi
mov ebx, eax
call fcn.00415510
mov ecx, esi
call fcn.00415510
shr ebx, 0x1d
not ebx
test bl, 1
je 0x459a4e
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.0040f460
add esp, 8
test eax, eax
jne 0x459a57
mov ecx, esi
call fcn.00414550
push 0
xor edx, edx
mov ecx, esi
call fcn.0040e880
add esp, 4
test eax, eax
jne 0x459a57
push 0xe88
push eax
mov edx, str.getJSModule_duktape_debugger__
mov ecx, esi
call fcn.0040f460
add esp, 8
test eax, eax
jne 0x459a57
mov ecx, esi
call fcn.00414550
push 0
xor edx, edx
mov ecx, esi
call fcn.0040e880
add esp, 4
test eax, eax
jne 0x459a57
lea edx, [eax - 2]
mov ecx, esi
call fcn.00413430
mov edx, 0xfffffffe
mov ecx, esi
call fcn.004122d0
or edx, 0xffffffff
mov ecx, esi
mov ebx, dword [eax + 0x14]
add eax, 0x1c
mov dword [esp + 0x14], eax
call fcn.00413430
or edx, 0xffffffff
mov ecx, esi
call fcn.004122d0
mov edi, eax
xor ecx, ecx
mov esi, dword [edi + 0x14]
call fcn.004af380
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0
mov dword [0x64d57c], eax
call fcn.0049d970
mov edx, 0x3c000000
mov ecx, eax
call fcn.0049d9e0
add esp, 0x20
mov dword [0x64d580], eax
push 0
push ecx
mov ecx, dword [esp + 0x18]
call fcn.00471c10
add esp, 4
mov edx, 0x458d80
mov ecx, eax
call fcn.004aefa0
mov ecx, dword [0x64d580]
add esp, 4
mov edx, str.promise
push ebx
push dword [esp + 0x18]
call fcn.00456970
mov ecx, dword [0x64d580]
lea eax, [edi + 0x1c]
push esi
push eax
mov edx, str.duktape_debugger
call fcn.00456970
mov ebx, dword [esp + 0x20]
mov ecx, ebx
call fcn.00414690
push 0x608c04
or edx, 0xffffffff
mov ecx, ebx
xor edi, edi
call fcn.00410720
add esp, 0x14
mov esi, 0xfff8
test eax, eax
je 0x4593ea
push 0x608c04
or edx, 0xffffffff
mov ecx, ebx
call fcn.0040fe40
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 0x4593c9
lea edi, [ecx + edx*8]
test edi, edi
jne 0x4593ce
mov edi, 0x5ee574
cmp word [edi + 6], si
je 0x4593d8
xor edi, edi
jmp 0x4593da
mov edi, dword [edi]
lea eax, [edi + 0x1c]
mov ecx, ebx
neg edi
sbb edi, edi
and edi, eax
call fcn.00415510
push 0x608c20
or edx, 0xffffffff
mov ecx, ebx
xor esi, esi
call fcn.00410720
add esp, 4
test eax, eax
je 0x459453
push 0x608c20
or edx, 0xffffffff
mov ecx, ebx
call fcn.0040fe40
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 0x45942d
lea esi, [ecx + edx*8]
test esi, esi
jne 0x459432
mov esi, 0x5ee574
mov eax, 0xfff8
cmp word [esi + 6], ax
je 0x459441
xor esi, esi
jmp 0x459443
mov esi, dword [esi]
lea eax, [esi + 0x1c]
mov ecx, ebx
neg esi
sbb esi, esi
and esi, eax
call fcn.00415510
mov ecx, ebx
call fcn.00415510
test edi, edi
je 0x459580
test esi, esi
jne 0x4594d5
mov ecx, ebx
call fcn.00414550
push 0x608c38
or edx, 0xffffffff
mov ecx, ebx
call fcn.0040fe40
add esp, 4
or edx, 0xffffffff
mov ecx, ebx
push 0x608c40
call fcn.0040fe40
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 0x4594aa
lea esi, [ecx + edx*8]
test esi, esi
jne 0x4594af
mov esi, 0x5ee574
mov eax, 0xfff8
cmp word [esi + 6], ax
je 0x4594be
xor esi, esi
jmp 0x4594c0
mov esi, dword [esi]
mov edx, 3
mov ecx, ebx
call fcn.004153d0
lea eax, [esi + 0x1c]
neg esi
sbb esi, esi
and esi, eax
mov ecx, dword [0x64d580]
call fcn.00414550
mov ecx, dword [0x64d580]
mov edx, edi
call fcn.00414170
mov ecx, dword [0x64d580]
or edx, 0xffffffff
push 0x608c48
call fcn.0040fe40
mov ecx, dword [0x64d580]
add esp, 4
mov edx, 0xfffffffe
call fcn.00411550
mov ecx, dword [0x64d580]
mov edx, 0x608c50
call fcn.00414170
mov ecx, dword [0x64d580]
mov edx, 1
push 0
call fcn.0040e880
mov ecx, dword [0x64d580]
add esp, 4
mov edx, 0xfffffffe
push 0x608c54
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
mov edx, esi
call fcn.00414170
mov ecx, dword [0x64d580]
mov edx, 0xfffffffe
push 0x608c64
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
call fcn.00415510
mov ecx, ebx
call fcn.00414690
push 0
mov edx, 0xb8
mov ecx, ebx
call fcn.00414f10
mov edi, eax
add esp, 4
test edi, edi
je 0x459a98
push 0xb8
push 0
push edi
call fcn.00587250
add esp, 0xc
mov dword [edi], 0xa8
mov dword [edi + 4], 0
mov edx, 0xfffffffe
mov eax, dword [0x624130]
mov ecx, ebx
mov dword [edi + 8], eax
mov dword [edi + 0xc], 2
add edi, 0x10
push 0x608c70
call fcn.00410110
add esp, 4
mov ecx, ebx
call fcn.00415510
mov ecx, dword [0x64d580]
call fcn.00414550
mov ecx, dword [0x64d580]
mov edx, 0x458dc0
push 6
push 0x18075380
push 1
call fcn.00414b50
mov ecx, dword [0x64d580]
add esp, 0xc
mov edx, edi
call fcn.004141d0
mov ecx, dword [0x64d580]
mov edx, 0xfffffffe
push 0x608c78
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
mov edx, 0xfffffffe
push str.updateWebPort
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
mov edx, 0x458e90
push 6
push 0x18075380
push 0
call fcn.00414b50
mov ecx, dword [0x64d580]
add esp, 0xc
mov edx, edi
call fcn.004141d0
mov ecx, dword [0x64d580]
mov edx, 0xfffffffe
push 0x608c90
call fcn.00410110
add esp, 4
mov ecx, ebx
call fcn.00471c10
mov ecx, dword [0x64d580]
mov edx, eax
call fcn.004141d0
mov ecx, dword [0x64d580]
mov edx, 0xfffffffe
push 0x608c98
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
mov edx, 0xfffffffe
push str.hostCooperate
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
mov edx, 0x459110
push 6
push 0x18075380
push 0
call fcn.00414b50
mov ecx, dword [0x64d580]
add esp, 0xc
mov edx, edi
call fcn.004141d0
push 0x608cb4
mov ecx, dword [0x64d580]
mov edx, 0xfffffffe
call fcn.00410110
add esp, 4
mov ecx, ebx
call fcn.00471c10
mov ecx, dword [0x64d580]
mov edx, eax
call fcn.004141d0
mov ecx, dword [0x64d580]
mov edx, 0xfffffffe
push 0x608cbc
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
mov edx, 0xfffffffe
push str.hostGC
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
mov edx, 0x458f90
push 6
push 0x18075380
push 0
call fcn.00414b50
mov ecx, dword [0x64d580]
add esp, 0xc
mov edx, edi
call fcn.004141d0
mov ecx, dword [0x64d580]
mov edx, 0xfffffffe
push 0x608cd0
call fcn.00410110
add esp, 4
mov ecx, ebx
call fcn.00471c10
mov ecx, dword [0x64d580]
mov edx, eax
call fcn.004141d0
mov ecx, dword [0x64d580]
mov edx, 0xfffffffe
push str._HostChain
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
mov edx, 0xfffffffe
push str.detachCleanup
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
mov edx, dword [ecx + 0x44]
cmp edx, dword [ecx + 0x38]
jae 0x459ad9
movd xmm0, dword [esp + 0x18]
lea eax, [edx + 8]
cvtdq2pd xmm0, xmm0
mov dword [ecx + 0x44], eax
push 0x608cf4
movsd qword [edx], xmm0
mov edx, 0xfffffffe
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
mov edx, dword [ecx + 0x44]
cmp edx, dword [ecx + 0x38]
jae 0x459aed
mov esi, dword [ebp + 8]
lea eax, [edx + 8]
mov dword [ecx + 0x44], eax
push 0x608d00
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movsd qword [edx], xmm0
mov edx, 0xfffffffe
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
call fcn.00415510
push 0
push 0x40
push 0
push 0
mov dword [edi + 4], ebx
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov ecx, dword [0x64d580]
mov dword [edi + 0x88], eax
mov dword [edi + 0x94], esi
call fcn.00414550
mov ecx, dword [0x64d580]
call fcn.00414830
mov ecx, ebx
call fcn.00414690
push 0x608d08
or edx, 0xffffffff
mov ecx, ebx
call fcn.0040fe40
add esp, 4
or edx, 0xffffffff
mov ecx, ebx
call fcn.004115c0
push 0xe80
or edx, 0xffffffff
mov ecx, ebx
call fcn.004124c0
add esp, 4
mov edx, 0x10
mov ecx, ebx
call fcn.00432e20
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 0x4598ed
lea eax, [ecx + edx*8]
test eax, eax
jne 0x4598f2
mov eax, 0x5ee574
cmp word [eax + 6], si
jne 0x459b01
cmp dword [eax], 0
je 0x459b01
or edx, 0xffffffff
mov ecx, ebx
call fcn.004115c0
mov edx, 1
mov ecx, ebx
call fcn.00433450
mov ecx, ebx
test eax, eax
je 0x459a07
mov edx, 0xfffffffe
call fcn.00413c50
test eax, eax
je 0x459994
or edx, 0xffffffff
mov ecx, ebx
call fcn.00413c50
test eax, eax
je 0x459994
or edx, 0xffffffff
mov ecx, ebx
call fcn.00411e60
mov edx, 0xfffffffe
mov ecx, ebx
mov esi, eax
call fcn.00411e60
mov ecx, dword [0x64d580]
mov edx, eax
call fcn.00414170
mov ecx, dword [0x64d580]
mov edx, esi
call fcn.00414170
mov ecx, dword [0x64d580]
mov edx, 0xfffffffd
call fcn.00410070
mov ecx, ebx
mov esi, 0xfff9
call fcn.004155f0
jmp 0x4598d4
mov edx, 0xfffffffe
mov ecx, ebx
call fcn.00413c50
test eax, eax
je 0x4599fb
or edx, 0xffffffff
mov ecx, ebx
call fcn.00413c10
test eax, eax
je 0x4599fb
or edx, edx
mov ecx, ebx
call fcn.00411d20
mov edx, 0xfffffffe
movsd qword [esp + 0x18], xmm0
mov ecx, ebx
call fcn.00411e60
mov ecx, dword [0x64d580]
mov edx, eax
call fcn.00414170
movsd xmm1, qword [esp + 0x18]
mov ecx, dword [0x64d580]
call fcn.00413fc0
mov ecx, dword [0x64d580]
mov edx, 0xfffffffd
call fcn.00410070
mov ecx, ebx
call fcn.004155f0
jmp 0x4598d4
mov edx, 3
call fcn.004153d0
mov ecx, dword [0x64d580]
mov edx, 0xfffffffe
push str.attachOptions
call fcn.00410110
mov ecx, dword [0x64d580]
add esp, 4
call fcn.00415510
push 0
push 0
push 0
push 0x458d50
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x64d584], 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.0040f460
add esp, 8
test eax, eax
jne 0x459a86
mov ecx, esi
call fcn.00414550
push 0
xor edx, edx
mov ecx, esi
call fcn.0040e880
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.004111f0
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, 0x6240d4
xor ecx, ecx
call fcn.004b4f80
add esp, 0xc
push 0x46d
push 0x6240f0
push 0x62410c
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.005885bd
push str.cannot_push_beyond_allocated_stack
push 0x3001094
mov edx, 0x605a20
call fcn.0040d970
push str.cannot_push_beyond_allocated_stack
push 0x3001094
mov edx, 0x605a20
call fcn.0040d970
push 0x6057a8
push 0xffffffffffffffff
push 0x852
mov edx, 0x6057b0
mov ecx, ebx
call fcn.0040d990
int3