Function at 0x140025790
Capabilities:
Get socket status
Receive data
Receive data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x448
movaps xmmword [rsp + 0x410], xmm6
movaps xmmword [rsp + 0x420], xmm7
movaps xmmword [rsp + 0x430], xmm8
lea rax, [rcx + 0x58]
mov rdi, rcx
mov qword [rsp + 0x498], rdx
mov rcx, rax
mov qword [rsp + 0x4a0], r8
mov qword [rsp + 0x4a8], r9
mov qword [rsp + 0x40], rax
call sym.pthread_mutex_lock
test eax, eax
jne 0x14002673e
mov rsi, qword [rdi + 0x50]
mov byte [rdi + 0x78], 0
cmp rsi, 0xffffffffffffffff
jne 0x140026457
mov rax, qword [rdi]
lea rdx, [method.httplib::ClientImpl.create_and_connect_socket_httplib::ClientImpl::Socket__httplib::Error_]
mov rax, qword [rax + 0x18]
cmp rax, rdx
jne 0x140026671
lea rax, [rsp + 0xe0]
cmp qword [rdi + 0x230], 0
movq xmm6, rax
lea rax, [rsp + 0xe8]
movq xmm3, rax
lea rax, [rsp + 0xf0]
movq xmm7, rax
lea rax, [rsp + 0xf8]
punpcklqdq xmm6, xmm3
movq xmm4, rax
lea rax, [rsp + 0x100]
movq xmm8, rax
lea rax, [rsp + 0x108]
punpcklqdq xmm7, xmm4
movq xmm5, rax
punpcklqdq xmm8, xmm5
jne 0x140026173
lea rax, [rsp + 0x160]
mov rbp, qword [rdi + 8]
mov r13, qword [rdi + 0x10]
mov qword [rsp + 0x158], 0
mov r15, qword [rdi + 0x90]
mov qword [rsp + 0x150], rax
lea rax, [rdi + 8]
mov qword [rsp + 0x48], rax
lea rax, [rdi + 0x88]
mov byte [rsp + 0x160], 0
test r15, r15
je 0x140026549
mov qword [rsp + 0x490], rdi
mov r14, rax
mov rdi, r13
mov esi, 0x80000000
mov qword [rsp + 0x50], rax
mov r13, qword [rsp + 0x490]
movabs r12, 0xffffffff7fffffff
jmp 0x140025903
mov r15, qword [r15 + 0x18]
test r15, r15
je 0x140025945
mov rbx, qword [r15 + 0x28]
mov rcx, qword [r15 + 0x20]
cmp rdi, rbx
mov r8, rbx
cmovbe r8, rdi
test r8, r8
je 0x140025926
mov rdx, rbp
call sym.memcmp
test eax, eax
jne 0x140025935
sub rbx, rdi
cmp rbx, rsi
jge 0x140025939
cmp rbx, r12
jle 0x1400258fa
mov eax, ebx
test eax, eax
js 0x1400258fa
mov r14, r15
mov r15, qword [r15 + 0x10]
test r15, r15
jne 0x140025903
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x490], r13
mov r13, rdi
mov rdi, qword [rsp + 0x490]
cmp rax, r14
je 0x140026549
mov r9, qword [r14 + 0x28]
mov r8, qword [r14 + 0x20]
mov rdx, r13
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.compare_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__const__clone_.isra.0_
test eax, eax
js 0x140026549
lea rsi, [rsp + 0x150]
lea rdx, [r14 + 0x40]
mov rcx, rsi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rdi + 0x208]
pxor xmm0, xmm0
xor edx, edx
mov qword [rsp + 0x190], 0
mov r15, rax
mov rax, qword [rdi + 0x160]
mov qword [rsp + 0x198], 0
mov r12, qword [rdi + 0x168]
mov r14, qword [rdi + 0x150]
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x50], rax
mov rax, qword [rdi + 0x158]
mov r13, qword [rdi + 0x148]
mov rbp, qword [rdi + 0x140]
mov qword [rsp + 0x58], rax
mov rax, qword [rdi + 0x1f0]
test rax, rax
je 0x140025a3d
lea rbx, [rsp + 0x180]
lea rdx, [rdi + 0x1e0]
mov r8d, 2
mov rcx, rbx
call rax
mov rax, qword [rdi + 0x1f8]
mov rdx, qword [rdi + 0x1f0]
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x190], rdx
mov rbx, qword [rsp + 0x58]
pxor xmm0, xmm0
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xe8], r13
movzx ecx, byte [rdi + 0x1d8]
mov qword [rsp + 0xf8], rbx
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0xf0], r14
mov r8d, dword [rdi + 0x28]
mov qword [rsp + 0x100], rbx
mov rbx, qword [rsp + 0x4a8]
mov qword [rsp + 0x108], r12
mov r9d, dword [rdi + 0x1d4]
mov qword [rsp + 0x1c0], r15
mov qword [rsp + 0x1c8], rbx
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], rax
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1e0], xmm7
movaps xmmword [rsp + 0x1f0], xmm8
movaps xmmword [rsp + 0x200], xmm0
test rdx, rdx
je 0x140025b04
movdqa xmm4, xmmword [rsp + 0x180]
mov qword [rsp + 0x210], rdx
pxor xmm0, xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x200], xmm4
lea rax, [rsp + 0x80]
mov rdx, rsi
lea rbx, [rsp + 0x200]
mov dword [rsp + 0x20], 0
movdqa xmm5, xmmword [rsp + 0x1c0]
mov qword [rsp + 0x38], rax
movzx eax, cl
mov qword [rsp + 0x30], rbx
mov rcx, qword [rsp + 0x48]
movdqa xmm1, xmmword [rsp + 0x1d0]
mov dword [rsp + 0x28], eax
movdqa xmm2, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x80], xmm5
movdqa xmm3, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0xb0], xmm3
call sym._ZN7httplib6detail13create_socketIZNS0_20create_client_socketERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_iibSt8f
mov rbp, rax
mov rax, qword [rsp + 0x210]
test rax, rax
je 0x140025b9c
mov r8d, 3
mov rdx, rbx
mov rcx, rbx
call rax
mov rax, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x4a8]
cmp rbp, 0xffffffffffffffff
je 0x14002662b
mov dword [rdx], 0
test rax, rax
je 0x14002669a
lea rcx, [rsp + 0x180]
mov r8d, 3
mov rdx, rcx
call rax
mov rcx, rsi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
cmp rbp, 0xffffffffffffffff
je 0x140026648
mov qword [rdi + 0x50], rbp
add qword [rdi + 0x68], 1
call sym.pthread_self
mov rcx, qword [rsp + 0x40]
mov qword [rdi + 0x70], rax
call sym.pthread_mutex_unlock
mov rdx, qword [rsp + 0x498]
mov rsi, qword [rdi + 0xc8]
lea rax, [rdi + 0xb8]
mov qword [rsp + 0x60], rax
mov rbx, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
add rdx, 0x48
mov qword [rsp + 0x50], rdx
cmp rax, rsi
je 0x140025e2d
nop word [rax + rax]
mov rax, qword [rsp + 0x498]
mov r14, qword [rsi + 0x20]
mov rbp, qword [rsi + 0x28]
mov r12, qword [rsp + 0x50]
mov r15, qword [rax + 0x50]
lea rdx, [r14 + rbp]
test r15, r15
je 0x140025d71
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x490], rdi
mov rdi, rbp
mov r13, qword [r15 + 0x20]
mov rax, qword [r15 + 0x28]
mov rbp, r14
lea rdx, [r13 + rax]
lea r8, [r13 + rdi]
cmp rax, rdi
cmovg rdx, r8
cmp r13, rdx
je 0x140026560
mov r12, r13
mov r13, rdx
jmp 0x140025cc7
jg 0x14002656e
add r12, 1
add rbp, 1
cmp r13, r12
je 0x140026560
movzx ecx, byte [r12]
call rbx
movzx ecx, byte [rbp]
mov esi, eax
call rbx
cmp esi, eax
jge 0x140025cb0
mov r15, qword [r15 + 0x18]
test r15, r15
jne 0x140025c80
mov rbp, rdi
mov rsi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x490]
cmp qword [rsp + 0x50], r12
je 0x140025d71
mov r13, qword [r12 + 0x28]
mov r10, qword [r12 + 0x20]
lea rax, [r14 + r13]
cmp r13, rbp
cmovl rdx, rax
cmp r14, rdx
je 0x140026623
mov qword [rsp + 0x40], rbp
mov r12, r10
mov rbp, r14
mov r15, rdx
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x58], r13
jmp 0x140025d57
jg 0x140025e17
add rbp, 1
add r12, 1
cmp r15, rbp
je 0x14002657c
movzx ecx, byte [rbp]
call rbx
movzx ecx, byte [r12]
mov r13d, eax
call rbx
cmp r13d, eax
jge 0x140025d40
mov rbp, qword [rsp + 0x40]
mov rax, qword [rsp + 0x498]
lea rcx, [rsp + 0x70]
lea r8, [rsi + 0x20]
lea rdx, [rax + 0x40]
call fcn.1400498c0
cmp qword [rsp + 0x70], 0
mov r13, qword [rsp + 0x78]
setne dl
cmp qword [rsp + 0x50], r13
sete al
or dl, al
mov byte [rsp + 0x40], dl
je 0x14002659c
mov ecx, 0x60
call sym.operator_new_unsigned_long_long_
mov r8, qword [rsi + 0x28]
mov r14, rax
lea r15, [rax + 0x20]
lea rax, [rax + 0x30]
mov qword [r14 + 0x20], rax
mov rdx, qword [rsi + 0x20]
mov rcx, r15
add r8, rdx
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char__char__char__std::forward_iterator_tag___clone_.isra.0_
lea rax, [r14 + 0x50]
mov r8, qword [rsi + 0x48]
lea rcx, [r14 + 0x40]
mov qword [r14 + 0x40], rax
mov rdx, qword [rsi + 0x40]
add r8, rdx
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char__char__char__std::forward_iterator_tag___clone_.isra.0_
movzx ecx, byte [rsp + 0x40]
mov r9, qword [rsp + 0x50]
mov r8, r13
mov rdx, r14
call sym.std::_Rb_tree_insert_and_rebalance_bool__std::_Rb_tree_node_base__std::_Rb_tree_node_base__std::_Rb_tree_node_base_
mov rax, qword [rsp + 0x498]
add qword [rax + 0x68], 1
mov rcx, rsi
call sym.std::_Rb_tree_increment_std::_Rb_tree_node_base_
mov rsi, rax
cmp qword [rsp + 0x60], rax
jne 0x140025c40
movzx eax, byte [rdi + 0x1d0]
pxor xmm0, xmm0
mov ecx, 0x18
mov byte [rsp + 0xd0], 0
mov qword [rsp + 0x210], 0
xor eax, 1
movaps xmmword [rsp + 0x200], xmm0
mov byte [rsp + 0xd8], al
mov qword [rsp + 0x218], 0
call sym.operator_new_unsigned_long_long_
lea rbx, [rsp + 0xd8]
mov qword [rax], rdi
pxor xmm0, xmm0
mov ecx, 0x28
lea rdx, [rsp + 0xd0]
mov qword [rsp + 0x200], rax
movdqa xmm4, xmmword [rsp + 0x200]
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
lea rax, [sym._ZNSt17_Function_handlerIFvvEZN7httplib10ClientImpl5send_ERNS1_7RequestERNS1_8ResponseERNS1_5ErrorEEUlvE_E9_M_invokeERKSt9_Any]
mov qword [rsp + 0x168], rax
lea rax, [sym._ZNSt17_Function_handlerIFvvEZN7httplib10ClientImpl5send_ERNS1_7RequestERNS1_8ResponseERNS1_5ErrorEEUlvE_E10_M_managerERSt9_An]
mov qword [rsp + 0x160], rax
mov rax, qword [rdi]
movaps xmmword [rsp + 0x150], xmm4
mov byte [rsp + 0x170], 1
mov rsi, qword [rax + 0x28]
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
movaps xmmword [rsp + 0x110], xmm0
call sym.operator_new_unsigned_long_long_
mov rdx, qword [rsp + 0x498]
mov qword [rax + 0x10], rbx
lea rcx, [method.httplib::ClientImpl.process_socket_httplib::ClientImpl::Socket_const__std::function_bool__httplib::Stream___]
mov qword [rax + 0x20], rdi
mov qword [rax], rdx
mov rdx, qword [rsp + 0x4a0]
mov qword [rsp + 0x110], rax
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x4a8]
mov qword [rax + 0x18], rdx
lea rdx, [sym._ZNSt17_Function_handlerIFbRN7httplib6StreamEEZNS0_10ClientImpl5send_ERNS0_7RequestERNS0_8ResponseERNS0_5ErrorEEUlS2_E_E9_M_in]
lea rax, [sym._ZNSt17_Function_handlerIFbRN7httplib6StreamEEZNS0_10ClientImpl5send_ERNS0_7RequestERNS0_8ResponseERNS0_5ErrorEEUlS2_E_E10_M_m]
movq xmm0, rax
movq xmm5, rdx
punpcklqdq xmm0, xmm5
movaps xmmword [rsp + 0x120], xmm0
cmp rsi, rcx
jne 0x140026659
pxor xmm0, xmm0
lea rsi, method.httplib::detail::SocketStream.SocketStream__
mov ecx, 0x1000
movdqa xmm1, xmmword [rsp + 0x110]
mov qword [rsp + 0x140], rax
movdqu xmm2, xmmword [rdi + 0x150]
mov rax, qword [rdi + 0x50]
movaps xmmword [rsp + 0x130], xmm1
movdqu xmm1, xmmword [rdi + 0x160]
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x240], 0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x210], xmm2
movaps xmmword [rsp + 0x220], xmm1
movaps xmmword [rsp + 0x230], xmm0
call sym.operator_new_unsigned_long_long_
lea rdi, [rax + 8]
lea rdx, [rax + 0x1000]
mov qword [rsp + 0x230], rax
pxor xmm0, xmm0
and rdi, 0xfffffffffffffff8
mov qword [rsp + 0x240], rdx
mov qword [rax], 0
mov qword [rax + 0xff8], 0
sub rax, rdi
mov rcx, rax
xor eax, eax
add ecx, 0x1000
shr ecx, 3
rep stosq qword [rdi], rax
mov qword [rsp + 0x238], rdx
movups xmmword [rsp + 0x248], xmm0
cmp qword [rsp + 0x140], 0
je 0x140026739
lea rdi, [rsp + 0x130]
lea rdx, [rsp + 0x200]
mov rcx, rdi
call qword [rsp + 0x148]
mov rcx, qword [rsp + 0x230]
mov qword [rsp + 0x200], rsi
mov ebx, eax
test rcx, rcx
je 0x140026099
mov rdx, qword [rsp + 0x240]
sub rdx, rcx
call sym.operator_delete_void__unsigned_long_long_
mov rax, qword [rsp + 0x140]
test rax, rax
je 0x1400260b4
mov r8d, 3
mov rdx, rdi
mov rcx, rdi
call rax
mov rax, qword [rsp + 0x120]
mov byte [rsp + 0xd0], bl
test rax, rax
je 0x1400260e3
lea rcx, [rsp + 0x110]
mov r8d, 3
mov rdx, rcx
call rax
movzx ebx, byte [rsp + 0xd0]
test bl, bl
jne 0x1400260f9
mov rax, qword [rsp + 0x4a8]
mov edx, dword [rax]
test edx, edx
je 0x140026618
cmp byte [rsp + 0x170], 0
mov rax, qword [rsp + 0x160]
je 0x14002612b
test rax, rax
je 0x140026745
lea rcx, [rsp + 0x150]
call qword [rsp + 0x168]
mov rax, qword [rsp + 0x160]
test rax, rax
je 0x140026144
lea rcx, [rsp + 0x150]
mov r8d, 3
mov rdx, rcx
call rax
nop
movaps xmm6, xmmword [rsp + 0x410]
movaps xmm7, xmmword [rsp + 0x420]
mov eax, ebx
movaps xmm8, xmmword [rsp + 0x430]
add rsp, 0x448
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, dword [rdi + 0x248]
cmp r8d, 0xffffffff
je 0x140025882
lea rax, [rsp + 0xc0]
pxor xmm0, xmm0
mov qword [rsp + 0x1d0], 0
mov r12, qword [rdi + 0x168]
movq xmm8, rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x1d8], 0
mov r14, qword [rdi + 0x158]
movq xmm1, rax
lea rax, [rsp + 0xd0]
mov r13, qword [rdi + 0x150]
mov rbx, qword [rdi + 0x148]
movq xmm7, rax
lea rax, [rsp + 0xd8]
mov rsi, qword [rdi + 0x140]
punpcklqdq xmm8, xmm1
movq xmm2, rax
lea rax, [rsp + 0x110]
lea r15, [rdi + 0x208]
movaps xmmword [rsp + 0x1c0], xmm0
movq xmm6, rax
lea rax, [rsp + 0x130]
punpcklqdq xmm7, xmm2
movq xmm3, rax
mov rax, qword [rdi + 0x160]
punpcklqdq xmm6, xmm3
mov qword [rsp + 0x48], rax
mov rax, qword [rdi + 0x1f0]
test rax, rax
je 0x140026732
lea rbp, [rsp + 0x1c0]
lea rdx, [rdi + 0x1e0]
mov r8d, 2
mov rcx, rbp
call rax
mov rax, qword [rdi + 0x1f8]
mov rdx, qword [rdi + 0x1f0]
mov r8d, dword [rdi + 0x248]
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x1d0], rdx
mov qword [rsp + 0xc8], rbx
pxor xmm0, xmm0
mov rbx, qword [rsp + 0x48]
lea rcx, [rsp + 0x160]
mov qword [rsp + 0x150], rcx
movzx r10d, byte [rdi + 0x1d8]
lea rcx, [rdi + 0x228]
mov qword [rsp + 0x110], rbx
mov rbx, qword [rsp + 0x4a8]
mov byte [rsp + 0x160], 0
mov r9d, dword [rdi + 0x1d4]
mov qword [rsp + 0x158], 0
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0x130], r12
mov qword [rsp + 0x180], r15
mov qword [rsp + 0x188], rbx
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], rax
movaps xmmword [rsp + 0x190], xmm8
movaps xmmword [rsp + 0x1a0], xmm7
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x200], xmm0
test rdx, rdx
je 0x140026372
movdqa xmm4, xmmword [rsp + 0x1c0]
mov qword [rsp + 0x210], rdx
pxor xmm0, xmm0
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x200], xmm4
lea rax, [rsp + 0x80]
lea rbx, [rsp + 0x200]
mov dword [rsp + 0x20], 0
movdqa xmm5, xmmword [rsp + 0x180]
mov qword [rsp + 0x38], rax
movzx eax, r10b
movdqa xmm1, xmmword [rsp + 0x190]
lea rsi, [rsp + 0x150]
movdqa xmm2, xmmword [rsp + 0x1a0]
mov dword [rsp + 0x28], eax
mov rdx, rsi
movdqa xmm3, xmmword [rsp + 0x1b0]
mov qword [rsp + 0x30], rbx
movaps xmmword [rsp + 0x80], xmm5
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0xb0], xmm3
call sym._ZN7httplib6detail13create_socketIZNS0_20create_client_socketERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_iibSt8f
mov rbp, rax
mov rax, qword [rsp + 0x210]
test rax, rax
je 0x14002640e
mov r8d, 3
mov rdx, rbx
mov rcx, rbx
call rax
mov rax, qword [rsp + 0x4a8]
cmp rbp, 0xffffffffffffffff
je 0x1400266d7
mov dword [rax], 0
mov rcx, rsi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rax, qword [rsp + 0x1d0]
test rax, rax
je 0x140025bea
lea rcx, [rsp + 0x1c0]
mov r8d, 3
mov rdx, rcx
call rax
jmp 0x140025bea
mov dword [rsp + 0x200], 1
mov r13, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea r14d, [rsi + 1]
lea rbx, [rsp + 0x200]
mov qword [rsp + 0x208], rsi
lea rbp, [rsp + 0x1c0]
mov qword [rsp + 0x1c0], 0
mov qword [rsp + 0x20], rbp
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call qword [sym.imp.WSOCK32.dll_select]
cdqe
test rax, rax
jns 0x140026716
call r13
cmp dword [rax], 4
je 0x140026491
call r13
cmp dword [rax], 9
je 0x1400264f8
mov r13, qword [sym.imp.WSOCK32.dll_recv]
mov rbp, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r9d, 2
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
call r13
cdqe
test rax, rax
jns 0x1400266a7
call rbp
cmp dword [rax], 4
je 0x1400264d1
mov rax, qword [rdi]
lea rdx, [method.httplib::ClientImpl.shutdown_ssl_httplib::ClientImpl::Socket__bool_]
mov rax, qword [rax + 0x20]
cmp rax, rdx
jne 0x140026721
mov rcx, qword [rdi + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x140025802
mov edx, 2
call qword [sym.imp.WSOCK32.dll_shutdown]
mov rcx, qword [rdi + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x140025802
call qword [sym.imp.WSOCK32.dll_closesocket]
mov qword [rdi + 0x50], 0xffffffffffffffff
jmp 0x140025802
lea rsi, [rsp + 0x150]
jmp 0x140025995
mov rax, qword [rsp + 0x48]
cmp rbp, rax
jne 0x140025cda
mov qword [rsp + 0x40], r15
mov r15, qword [r15 + 0x10]
jmp 0x140025cde
mov rbp, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
add r10, r13
cmp r12, r10
jne 0x140025d71
jmp 0x140025e17
mov r11, qword [r13 + 0x28]
lea rax, [r14 + rbp]
mov r10, qword [r13 + 0x20]
cmp rbp, r11
lea rcx, [r14 + r11]
cmovg rax, rcx
mov rbp, rax
cmp r14, rax
je 0x140026750
mov qword [rsp + 0x48], rsi
mov r15, r10
mov rsi, r14
mov r12, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x68], r11
jmp 0x1400265f4
jg 0x140026690
add rsi, 1
add r15, 1
cmp rbp, rsi
je 0x1400266b8
movzx ecx, byte [rsi]
call r12
movzx ecx, byte [r15]
mov r14d, eax
call r12
cmp r14d, eax
jge 0x1400265dd
mov byte [rsp + 0x40], 1
mov rsi, qword [rsp + 0x48]
jmp 0x140025dad
mov dword [rax], 1
jmp 0x1400260f9
mov r12, r10
jmp 0x14002658b
mov ecx, dword [rdx]
test ecx, ecx
jne 0x140026637
mov dword [rdx], 2
test rax, rax
jne 0x140025bc5
mov rcx, rsi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rcx, qword [rsp + 0x40]
xor ebx, ebx
call sym.pthread_mutex_unlock
jmp 0x140026144
lea rdx, [rdi + 0x50]
lea r8, [rsp + 0x110]
mov rcx, rdi
call rsi
mov ebx, eax
jmp 0x1400260b4
mov r8, qword [rsp + 0x4a8]
lea rdx, [rdi + 0x50]
mov rcx, rdi
call rax
test al, al
jne 0x140025bee
jmp 0x140026648
mov rsi, qword [rsp + 0x48]
jmp 0x140025dad
mov rcx, rsi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
jmp 0x140025bea
jne 0x140025bee
jmp 0x1400264f8
mov rsi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
add r10, r11
cmp r15, r10
setne byte [rsp + 0x40]
jmp 0x140025dad
mov r8d, dword [rax]
test r8d, r8d
jne 0x1400266e5
mov dword [rax], 2
mov rcx, rsi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rax, qword [rsp + 0x1d0]
test rax, rax
je 0x140026648
lea rcx, [rsp + 0x1c0]
mov r8d, 3
mov rdx, rcx
call rax
jmp 0x140026648
jne 0x1400264c3
jmp 0x140025bee
lea rdx, [rdi + 0x50]
xor r8d, r8d
mov rcx, rdi
call rax
jmp 0x14002650f
xor edx, edx
jmp 0x140026288
call sym.std::__throw_bad_function_call__
mov ecx, eax
call sym.std::__throw_system_error_int_
call sym.std::__throw_bad_function_call__
nop word [rax + rax]
mov r15, r10
jmp 0x1400266c7