Function at 0x140076f00
Capabilities:
Terminate process

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
mov r12, qword [0x14012c5f0]
mov rsi, rcx
mov rbp, rdx
test rcx, rcx
je 0x140076fbc
call sym.failed__pureZasyncfutures_u450
mov r12, qword [0x14012c5f0]
mov edi, eax
mov rcx, r12
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rbx, rax
jne 0x140076f8c
test dil, dil
jne 0x140076fa0
mov rax, qword [0x14012bfc0]
mov rcx, qword [rbp + 0x28]
xor esi, esi
call qword [rax]
mov r13, qword [0x14012c790]
jmp 0x140076f6e
cmp rsi, 0x17
je 0x140077130
add rsi, 1
mov rcx, qword [rbp + rsi*8 + 0x30]
cmp qword [r13], rcx
je 0x140076f60
movzx eax, byte [rbp + 0x20]
cmp rax, rsi
je 0x140076f60
call sym.closeSocket__pureZasyncdispatch_u6724
cmp byte [rbx], 0
je 0x140076f60
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rcx, rsi
call sym.readError__pureZasyncdispatch_u8441
movzx edi, byte [rbx]
mov rdx, rax
test dil, dil
jne 0x140077010
lea rcx, [rbp + 0x10]
call sym.eqsink___stdZtypedthreads_u179
mov rax, qword [rbp + 0x18]
test rax, rax
jne 0x140076ff3
jmp 0x1400770d0
mov eax, esi
mov rdx, qword [rbp + 0x18]
movzx eax, ah
mov r14d, eax
mov eax, esi
test ah, ah
jne 0x140077040
mov rax, qword [rdx + 0x28]
mov qword [rbp + 0x18], rax
test rax, rax
je 0x1400770d0
mov ecx, dword [rax + 4]
call sym.toKnownDomain__pureZnativesockets_u83
mov rcx, r12
mov esi, eax
call dbg.__emutls_get_address
movzx edi, byte [rax]
mov rbx, rax
test dil, dil
je 0x140076fd0
xor esi, esi
mov byte [rbx], 0
mov rcx, rsi
call sym.eqdestroy___pureZasyncdispatch_u1417
cmp byte [rbx], 0
jne 0x140076f8c
mov byte [rbx], dil
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov byte [rbp + 0x20], sil
test rdx, rdx
je 0x1400770d0
cmp sil, 0x17
ja 0x14007722c
movzx eax, sil
movzx esi, sil
mov r13, qword [0x14012c790]
mov rcx, qword [rbp + rsi*8 + 0x30]
mov qword [rbp + 0x108], rcx
cmp rcx, qword [r13]
je 0x140077151
call sym.doConnect__pureZasyncdispatch_u8006
movzx edi, byte [rbx]
mov rsi, rax
test dil, dil
jne 0x140077010
lea rax, [sym.tryNextAddrInfo__pureZasyncdispatch_u8310]
lea rdx, [rsp + 0x30]
mov rcx, rsi
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rax
call sym.callbackeq___pureZasyncdispatch_u8758
movzx edi, byte [rbx]
test dil, dil
jne 0x140077012
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x28]
mov qword [rbp + 0x18], rax
movzx edi, byte [rbx]
jmp 0x140077012
mov rax, qword [0x14012bfc0]
mov rcx, qword [rbp + 0x28]
lea rsi, [rbp + 0x30]
lea r14, [rbp + 0xf0]
call qword [rax]
mov r13, qword [0x14012c790]
jmp 0x140077105
add rsi, 8
cmp rsi, r14
je 0x1400771e8
mov rcx, qword [rsi]
cmp qword [r13], rcx
je 0x1400770f8
call sym.closeSocket__pureZasyncdispatch_u6724
mov rcx, r12
call dbg.__emutls_get_address
movzx edi, byte [rax]
mov rbx, rax
test dil, dil
je 0x1400770f8
jmp 0x140077010
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0xf0]
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.complete__pureZasyncdispatch_u8829
movzx edx, byte [rbp + 0x110]
movzx r8d, byte [rbp + 0x111]
xor r9d, r9d
mov ecx, eax
call sym.createNativeSocket__pureZnativesockets_u230
cmp byte [rbx], 0
mov rsi, rax
jne 0x14007737a
cmp rax, qword [r13]
je 0x1400771a0
xor edx, edx
mov rcx, rax
call sym.setBlocking__pureZnativesockets_u692
cmp byte [rbx], 0
jne 0x14007737a
mov rcx, rsi
call sym.register__pureZasyncdispatch_u2222
cmp byte [rbx], 0
jne 0x14007737a
mov qword [rbp + 0x108], rsi
movzx eax, byte [rbx]
test al, al
jne 0x1400773bb
movzx edx, byte [rbp + 0x20]
mov rcx, qword [rbp + 0x108]
call sym.bindToDomain__pureZasyncdispatch_u7989
cmp byte [rbx], 0
jne 0x1400773bb
movzx eax, byte [rbp + 0x20]
cmp al, 0x17
ja 0x140077244
mov rcx, qword [rbp + 0x108]
mov qword [rbp + rax*8 + 0x30], rcx
mov rdx, qword [rbp + 0x18]
jmp 0x14007707c
mov rsi, qword [rbp + 0x10]
test rsi, rsi
je 0x14007725b
mov rcx, qword [rbp + 0xf0]
mov rdx, rsi
call sym.fail__pureZasyncdispatch_u8583
mov rcx, r12
call dbg.__emutls_get_address
movzx edi, byte [rax]
mov rbx, rax
test dil, dil
jne 0x140077010
xor ecx, ecx
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.eqdestroy___pureZasyncdispatch_u1417
movzx ecx, sil
mov edx, 0x17
xor esi, esi
call sym.raiseIndexError2
movzx edi, byte [rbx]
jmp 0x140077012
movzx ecx, al
mov edx, 0x17
xor esi, esi
call sym.raiseIndexError2
movzx edi, byte [rbx]
jmp 0x140077012
mov edx, 8
mov ecx, 0x40
call sym.nimNewObj
lea rcx, [rsp + 0x30]
mov rdi, rax
mov rax, qword [0x14012c450]
mov qword [rdi], rax
lea rax, str.IOError
mov qword [rdi + 0x10], rax
mov rax, qword [rbp + 0xf8]
lea rdx, [rax + 0x1a]
call sym.rawNewString
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
movabs rdx, 0x74276e646c756f43
movabs rcx, 0x65766c6f73657220
lea rax, [rbx + r14 + 8]
mov r13, rbx
mov qword [rax + 8], rcx
add r13, 0x1a
movabs rcx, 0x203a7373657264
mov qword [rax], rdx
movabs rdx, 0x64612065766c6f73
mov qword [rax + 0xb], rdx
mov qword [rax + 0x13], rcx
jo 0x140077431
mov rbx, qword [rbp + 0xf8]
test rbx, rbx
jle 0x1400773d6
mov rcx, rbx
add rcx, 1
jo 0x14007743e
test rcx, rcx
js 0x1400773c5
mov rdx, qword [rbp + 0x100]
lea rax, [r13 + r14 + 8]
mov r8, rcx
mov rcx, rax
add rdx, 8
call sym.memcpy
mov rax, rbx
add rax, r13
jo 0x14007743e
mov qword [rdi + 0x18], rax
mov rdx, rdi
mov qword [rdi + 0x20], r14
mov qword [rdi + 8], 0
mov rcx, qword [rbp + 0xf0]
call sym.fail__pureZasyncdispatch_u8583
mov rcx, rdi
call sym.eqdestroy___system_u8918
mov rcx, r12
call dbg.__emutls_get_address
movzx edi, byte [rax]
mov rbx, rax
test dil, dil
je 0x140077217
jmp 0x140077012
mov rax, qword [0x14012bfc0]
mov byte [rbx], 0
lea rsi, [rbp + 0x30]
lea r12, [rbp + 0xf0]
mov rcx, qword [rbp + 0x28]
call qword [rax]
jmp 0x1400773a0
add rsi, 8
cmp r12, rsi
je 0x1400773de
mov rcx, qword [rsi]
cmp qword [r13], rcx
je 0x140077397
call sym.closeSocket__pureZasyncdispatch_u6724
movzx edi, byte [rbx]
test dil, dil
je 0x140077397
jmp 0x140077010
mov edi, r14d
xor esi, esi
jmp 0x140077012
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
mov rax, r13
jmp 0x140077337
mov rcx, qword [0x14012c5e0]
xor eax, eax
mov qword [rsp + 0x48], rax
call dbg.__emutls_get_address
lea rcx, [rsp + 0x48]
xor r8d, r8d
mov rdx, qword [rax]
call sym.eqcopy___stdZtypedthreads_u171
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x20], 0x750
lea r9, str.asyncdispatch.nim
lea r8, str.tryNextAddrInfo
lea rdx, [0x140121ed9]
call sym.raiseExceptionEx
movzx eax, byte [rbx]
jmp 0x1400771aa
call sym.raiseOverflow
mov r13, rbx
jmp 0x1400772ea
call sym.raiseOverflow
jmp 0x1400773d6