Function at 0x140046d59
Capabilities:
Connect socket

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x238
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffff80
mov r13, r8
mov rsi, rdx
mov rdi, rcx
movzx eax, byte [rdx + 0x70]
test eax, eax
je 0x140046de8
cmp eax, 3
jne 0x1400477e8
lea r15, [rsi + 0x68]
movzx eax, byte [rsi + 0x68]
lea r14, [rsi + 0x30]
test eax, eax
je 0x140046e92
cmp eax, 3
jne 0x1400477f6
mov rax, qword [rsi + 0x60]
mov rdx, qword [rax + 8]
lea rbx, [rsp + 0x120]
mov rcx, rbx
mov r8, r13
mov r9b, 1
call fcn.140097060
mov al, byte [rbx + 9]
cmp al, 3
jne 0x14004724d
mov byte [r15], 3
mov al, 3
mov ecx, 1
jmp 0x14004773a
mov rcx, qword [rsi + 0x20]
mov qword [rsi + 0x28], rcx
mov eax, dword [rsi + 2]
movzx r9d, word [rsi + 6]
shl r9, 0x20
or r9, rax
cmp word [rsi], 0
je 0x140046ea4
mov edx, dword [rsi + 0x14]
mov r8d, dword [rsi + 0x18]
movzx eax, word [rsi + 0x1c]
shr r9, 0x10
mov dword [rsp + 0x128], r9d
mov r9, qword [rsi + 8]
mov qword [rsp + 0x12c], r9
mov r9d, dword [rsi + 0x10]
mov dword [rsp + 0x134], r9d
xorps xmm0, xmm0
movups xmmword [rsp + 0x13c], xmm0
movups xmmword [rsp + 0x14c], xmm0
movups xmmword [rsp + 0x15c], xmm0
movups xmmword [rsp + 0x16c], xmm0
movups xmmword [rsp + 0x17c], xmm0
movups xmmword [rsp + 0x18c], xmm0
mov dword [rsp + 0x19c], 0
rol ax, 8
mov dword [rsp + 0x138], r8d
mov r8d, 0x1c
mov r10w, 0x17
mov r9d, edx
jmp 0x140046f01
mov qword [rsp + 0x50], r14
mov rbx, qword [rsi + 0x30]
mov rax, qword [rsi + 0x38]
jmp 0x140046f85
mov rax, r9
shr rax, 0x20
rol ax, 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x188], xmm0
movups xmmword [rsp + 0x178], xmm0
movups xmmword [rsp + 0x168], xmm0
movups xmmword [rsp + 0x158], xmm0
movups xmmword [rsp + 0x148], xmm0
movups xmmword [rsp + 0x138], xmm0
movups xmmword [rsp + 0x128], xmm0
mov qword [rsp + 0x198], 0
mov r8d, 0x10
mov r10w, 2
lea rdx, [rsp + 0x120]
mov word [rdx], r10w
mov word [rdx + 2], ax
mov dword [rdx + 4], r9d
mov dword [rdx + 0x80], r8d
call qword [sym.imp.ws2_32.dll_connect]
test eax, eax
je 0x140046f62
mov rbx, r13
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
shl r13, 0x20
or r13, 2
mov qword [rsp + 0x80], r13
mov rcx, r13
call fcn.140012264
cmp al, 0xd
jne 0x14004723c
lea rcx, [rsp + 0x80]
call fcn.140033159
mov r13, rbx
mov rbx, qword [rsi + 0x28]
lea rax, [rsi + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsi + 0x30], rbx
mov qword [rsi + 0x38], 0
lea r15, [rsi + 0x68]
mov byte [rsi + 0x68], 0
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x58], r15
lea rcx, str.C:Usersmorker.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.38.1_src_net_tcp_stream.rs
call fcn.1400968c0
mov qword [rsp + 0x70], rax
cmp qword [rax + 0xb8], 0
je 0x1400477d0
mov r14, rax
mov r15, rax
add rax, 0xd8
mov qword [rsp + 0x30], rax
mov cl, 1
xor eax, eax
lock cmpxchg byte [r14 + 0xd8], cl
jne 0x14004745d
mov rax, qword [0x14010b290]
shl rax, 1
test rax, rax
jne 0x14004746c
xor r12d, r12d
mov al, byte [r15 + 0xd9]
cmp byte [r15 + 0x108], 0
je 0x14004702c
lea rdx, str.A_Tokio_1.x_context_was_found__but_it_is_being_shutdown._mark_pending_called_when_the_timer_entry_is_in_an_invalid_state
mov r8d, 0x38
mov cl, 0x27
call fcn.140030e39
mov r13, rax
mov rcx, qword [rsp + 0x30]
mov edx, r12d
call fcn.140037d36
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
jmp 0x1400476ec
mov qword [rsp + 0x48], rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x126], xmm0
mov qword [rsp + 0x136], 0
movaps xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x8a], xmm0
mov rax, qword [rsp + 0x13e]
mov qword [rsp + 0xb8], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0xaa], eax
movzx eax, word [rsp + 0x134]
mov word [rsp + 0xae], ax
mov rax, qword [rsp + 0x136]
mov qword [rsp + 0xb0], rax
movzx eax, word [rsp + 0x13e]
mov word [rsp + 0xb8], ax
movups xmm0, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x9a], xmm0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x1c0], rax
movzx eax, word [rsp + 0xb8]
mov word [rsp + 0x1c8], ax
mov eax, dword [rsp + 0xba]
mov dword [rsp + 0x1ca], eax
movzx eax, word [rsp + 0xbe]
mov word [rsp + 0x1ce], ax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x1b0], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x1b8], eax
movzx eax, word [rsp + 0xac]
mov word [rsp + 0x1bc], ax
movzx eax, word [rsp + 0xae]
mov word [rsp + 0x1be], ax
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x190], xmm0
mov al, byte [0x14010b298]
mov edx, 0x180
xor ecx, ecx
call fcn.14008ec10
test rax, rax
je 0x140047802
mov rbx, rax
and rbx, 0xffffffffffffff80
mov qword [rbx + 0x78], rax
mov eax, 1
mov qword [rbx + 0x80], rax
mov qword [rbx + 0x88], rax
lea rcx, [rbx + 0x90]
lea rdx, [rsp + 0x120]
mov r8d, 0xb0
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbx + 0x140], 0
lock inc qword [rbx + 0x80]
jle 0x1400477f4
sub rbx, 0xffffffffffffff80
lea rcx, [rbx + 0x80]
mov qword [rsp + 0x80], rcx
mov rax, qword [r15 + 0xf8]
cmp rcx, rax
je 0x140047811
mov qword [rbx + 0x88], rax
mov qword [rbx + 0x80], 0
test rax, rax
je 0x1400471fb
mov qword [rax], rcx
mov qword [r15 + 0xf8], rcx
cmp qword [r15 + 0x100], 0
jne 0x140047213
mov qword [r15 + 0x100], rcx
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x30]
mov edx, r12d
call fcn.140037d36
cmp qword [rsp + 0x68], 0
je 0x140047262
movabs r13, 0xc00000003
jmp 0x14004767e
mov rcx, qword [rsi + 0x28]
call qword [sym.imp.ws2_32.dll_closesocket]
xor ebx, ebx
jmp 0x140047722
cmp al, 2
jne 0x14004731c
mov r13, qword [rsp + 0x120]
jmp 0x14004748e
mov r8, qword [r15 + 0xb8]
lea rax, [r8 + 0x18]
mov qword [rsp + 0x78], rax
lea r9, [r8 + 0x20]
mov cl, 1
xor eax, eax
lock cmpxchg byte [r8 + 0x20], cl
mov qword [rsp + 0x40], r8
jne 0x140047774
mov rax, qword [0x14010b290]
shl rax, 1
test rax, rax
jne 0x14004778c
xor r12d, r12d
mov al, byte [r8 + 0x21]
test al, al
jne 0x140047837
mov qword [rsp + 0x1d8], r13
mov qword [rsp + 0x1e0], r9
mov byte [rsp + 0x1e8], r12b
lea rdx, [r8 + 0x28]
mov rax, qword [r8 + 0x38]
test rax, rax
je 0x1400472e8
mov rcx, qword [r8 + 0x30]
mov rax, qword [rcx + rax*8 - 8]
mov rax, qword [rax]
cmp rax, 0x20
jbe 0x140047390
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov r13, r9
call fcn.140032512
mov r9, r13
mov r8, qword [rsp + 0x40]
mov r13, rax
test rax, rax
je 0x140047390
mov rcx, r9
mov edx, r12d
call fcn.140037d36
jmp 0x14004767e
mov rcx, qword [rsi + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x140047865
lea r9, [rsp + 0x80]
mov dword [r9], 0
mov dword [rsp + 0x120], 4
mov qword [rsp + 0x20], rbx
mov edx, 0xffff
mov r8d, 0x1007
call qword [sym.imp.ws2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x14004747d
movsxd r13, dword [rsp + 0x80]
test r13, r13
jne 0x140047486
lea rax, [rsi + 0x50]
mov rbx, qword [rsi + 0x40]
mov r13, qword [rsi + 0x48]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1f0], xmm0
jmp 0x140047716
mov rax, qword [r8 + 0x38]
test rax, rax
je 0x140047871
mov rcx, qword [r8 + 0x30]
mov rax, qword [rcx + rax*8 - 8]
mov qword [rsp + 0x118], rax
lock inc qword [rax]
jle 0x1400477f4
mov rcx, r9
mov edx, r12d
call fcn.140037d36
lea r12, [rsp + 0x80]
mov rcx, r12
mov rdx, qword [rsp + 0x48]
mov r8d, 0x48000022
call fcn.1400326c7
cmp dword [r12], 0
mov qword [rsp + 0x38], rdi
je 0x14004749c
xor edi, edi
mov r12, qword [rsp + 0x48]
lea rax, [0x1400d1600]
mov r8d, dword [rdi + rax]
lea rcx, [rsp + 0x120]
mov rdx, r12
call fcn.1400326c7
cmp dword [rsp + 0x120], 0
jne 0x140047427
mov r13, qword [rsp + 0x128]
cmp r13, r12
jne 0x1400474a4
add rdi, 4
cmp rdi, 0xc
jne 0x1400473f5
mov r13d, dword [rsp + 0x84]
shl r13, 0x20
or r13, 2
mov rcx, qword [rsp + 0x118]
lock dec qword [rcx]
jne 0x140047679
call fcn.14003065a
jmp 0x140047679
mov rcx, qword [rsp + 0x30]
call fcn.1400a5d70
jmp 0x140046fd2
call fcn.1400a5e30
mov r12d, eax
xor r12b, 1
jmp 0x140046fe8
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r13d, eax
shl r13, 0x20
or r13, 2
lea rcx, [rsi + 0x40]
call fcn.14003eaa7
jmp 0x140047714
mov r13, qword [rsp + 0x88]
mov al, byte [0x14010b298]
mov edx, 0x78
xor ecx, ecx
call fcn.14008ec10
test rax, rax
je 0x140047947
mov r12, rax
mov eax, 1
mov qword [r12], rax
mov qword [r12 + 8], rax
mov r9, r12
add r9, 0x10
xor eax, eax
mov word [r12 + 0x10], ax
mov dword [r12 + 0x18], 0
mov rcx, qword [rsp + 0x118]
mov qword [r12 + 0x20], rcx
xorps xmm0, xmm0
movups xmmword [r12 + 0x28], xmm0
movups xmmword [r12 + 0x38], xmm0
movups xmmword [r12 + 0x48], xmm0
mov qword [r12 + 0x58], r13
movups xmmword [r12 + 0x60], xmm0
mov word [r12 + 0x70], ax
mov cl, 1
xor eax, eax
lock cmpxchg byte [r12 + 0x10], cl
jne 0x1400477a8
mov rax, qword [0x14010b290]
shl rax, 1
test rax, rax
jne 0x1400477bb
xor edx, edx
mov al, byte [r12 + 0x11]
test al, al
jne 0x140047956
mov dword [r12 + 0x68], 0x19d
mov rax, qword [rsp + 0x60]
mov qword [r12 + 0x60], rax
mov rcx, r9
call fcn.140037d36
mov r8, qword [rsp + 0x40]
lock inc qword [r8]
jle 0x1400477f4
lock inc qword [r12]
jle 0x1400477f4
lea r13, [r8 + 0x10]
mov qword [rsp + 0x120], r8
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x130], rax
mov byte [rsp + 0x138], 3
mov qword [rsp + 0x128], r12
mov rcx, r13
mov rdx, r12
loop 0x1400475ff
mov edi, eax
call fcn.1400323df
mov al, byte [rdi + 0x68]
test al, al
je 0x1400475e3
mov rcx, r13
call fcn.140031c7a
test rax, rax
je 0x1400475e3
mov r13, rax
lea rcx, [rsp + 0x120]
call fcn.14003273c
jmp 0x140047679
lea rax, [rsp + 0x130]
mov rdi, qword [rax - 0x10]
js 0x1400475df
mov r13, qword [rax - 8]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x200], xmm0
test rdi, rdi
je 0x140047679
mov al, byte [0x14010b298]
mov edx, 0x20
xor ecx, ecx
call fcn.14008ec10
test rax, rax
je 0x140047989
mov r14, rax
mov qword [rax], rdi
mov qword [rax + 8], r13
movaps xmm0, xmmword [rsp + 0x200]
and al, 0
add al, byte [rax]
add byte [rdi], cl
adc dword [rax + 0x10], eax
xor ecx, ecx
call fcn.140032782
mov rcx, qword [rsp + 0x70]
lea rax, [rsi + 0x40]
mov qword [rsi + 0x40], rcx
mov qword [rsi + 0x48], rbx
mov rcx, qword [rsp + 0x48]
mov qword [rsi + 0x50], rcx
mov qword [rsi + 0x58], r14
mov qword [rsi + 0x60], rax
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov r13, qword [rsp + 0x1d8]
jmp 0x140046db3
mov rdi, qword [rsp + 0x38]
mov cl, 1
xor eax, eax
mov rdx, qword [rsp + 0x30]
lock cmpxchg byte [rdx], cl
jne case.0x140020e04.349
add r14, 0xe0
mov rax, qword [0x14010b290]
shl rax, 1
test rax, rax
jne 0x140047763
xor r12d, r12d
mov al, byte [r15 + 0xd9]
mov rcx, r14
mov rdx, qword [rsp + 0x60]
call fcn.1400972d1
mov rcx, qword [rsp + 0x30]
mov edx, r12d
call fcn.140037d36
lock dec qword [rbx]
jne 0x1400476dd
mov rcx, rbx
call fcn.140093184
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x70]
lock dec qword [rax]
jne 0x140047701
lea rcx, [rsp + 0x70]
call fcn.140092afc
mov rcx, qword [rsp + 0x68]
call fcn.140095d94
mov rcx, rbx
call qword [sym.imp.ws2_32.dll_closesocket]
xor ebx, ebx
mov byte [r15], 1
mov rcx, r14
call fcn.140046d3e
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r13
movaps xmm0, xmmword [rsp + 0x1f0]
movups xmmword [rdi + 0x18], xmm0
mov al, 1
xor ecx, ecx
mov qword [rdi], rcx
mov byte [rsi + 0x70], al
lea rsp, [rbp + 0x1b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rsp + 0x30]
call fcn.1400a5d70
jmp 0x140047691
call fcn.1400a5e30
mov r12d, eax
xor r12b, 1
jmp 0x1400476ae
mov rcx, r9
mov r12, r9
call fcn.1400a5d70
mov r9, r12
mov r8, qword [rsp + 0x40]
jmp 0x14004728b
mov r12, r9
call fcn.1400a5e30
mov r9, r12
mov r8, qword [rsp + 0x40]
mov r12d, eax
xor r12b, 1
jmp 0x1400472a1
mov rcx, r9
mov r13, r9
call fcn.1400a5d70
mov r9, r13
jmp 0x14004752c
invalid
invalid
mov r13, r9
call fcn.1400a5e30
mov r9, r13
mov edx, eax
xor dl, 1
jmp 0x140047541
lea rcx, str.A_Tokio_1.x_context_was_found__but_IO_is_disabled._Call__enable_io__on_the_runtime_builder_to_enable_IO.A_Tokio_1.x_context_was_found__but_timers_are_disabled._Call__enable_time__on_the_runtime_builder_to_enable_timers.Oh_no__We_never_placed_the_Core_back__this_is_a_bug_
lea r8, str.C:Usersmorker.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.38.1_src_net_tcp_stream.rs
add byte [rdx + 0x68], bh
call fcn.1400a3340
lea rcx, str.XV_r_
call fcn.1400a3530
ud2
lea rcx, str.C:Usersmorker.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.38.1_src_net_tcp_stream.rs
call fcn.1400a3530
mov ecx, 0x80
mov edx, 0x100
call fcn.1400a2b10
add r14, 0xf8
lea r8, [rsp + 0x120]
and al, 0x20
add dword [rax], eax
add byte [rcx - 0x39], cl
add byte [rax], al
add byte [rax], al
add byte [rax - 0x73], cl
xchg esp, eax
and al, 0x80
add byte [rax], al
add byte [rcx + rcx*4 - 0xf], cl
call fcn.1400a6b48
lea r8, [rsp + 0x120]
mov qword [r8], r9
mov byte [r8 + 8], r12b
lea rax, str.C:Usersmorker.cargo_registry_srcindex.crates.io_6f17d22bba15001fmio_0.8.11_src_syswindows_selector.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x1400d0e20]
jmp 0x14004797f
lea rcx, str.C:Usersmorker.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.38.1_srciopoll_evented.rs_b
call fcn.1400a3320
lea rax, [rsp + 0x78]
lea rdx, [rsp + 0x218]
mov qword [rdx], rax
lea rax, [0x14003127e]
mov qword [rdx + 8], rax
lea rax, [rsp + 0x1e0]
mov qword [rdx + 0x10], rax
lea rax, [0x140031879]
mov qword [rdx + 0x18], rax
mov eax, 2
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x140], 0
add byte [rax], al
add byte [rax], al
movabs rcx, 0x400000020
mov qword [rsp + 0x148], rcx
mov r8b, 3
mov byte [rsp + 0x150], r8b
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x178], 1
add byte [rax - 0x77], cl
mov word [rax + rax*4], fs
add dword [rax], eax
add byte [rax + rcx*4 - 0x7c], al
and al, 0x88
add dword [rax], eax
add byte [rbp + rcx*4 + 5], cl
invalid
invalid
or byte [rax], al
lea rcx, [rsp + 0x80]
mov qword [rcx], r8
mov qword [rcx + 8], rax
mov dword [rcx + 8], eax
lea r8, [rsp + 0x120]
mov qword [rcx + 0x20], r8
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], rax
mov dword [rcx + 0x18], eax
lea rdx, str.C:Usersmorker.cargo_registry_srcindex.crates.io_6f17d22bba15001fmio_0.8.11_src_syswindows_selector.rs
call fcn.1400a2f10
mov ch, 5
invalid
mov ecx, 8
mov edx, 0x78
call fcn.1400a2b10
lea r8, [rsp + 0x120]
mov qword [r8], r9
mov byte [r8 + 8], dl
lea rax, str.C:Usersmorker.cargo_registry_srcindex.crates.io_6f17d22bba15001fmio_0.8.11_src_syswindows_selector.rs
mov qword [rsp + 0x20], rax