Function at 0x140097eb0
Capabilities:
Check for software breakpoints

Disassembly:
push rbx
push rbp
push r13
push r15
sub rsp, 0x68
mov r13, qword [rcx + 8]
xor r8d, r8d
mov rbx, rcx
mov ebp, r8d
test r13, r13
jne 0x140097ed7
mov rax, qword [rcx]
mov r13, qword [rax + 0x90]
movzx eax, byte [rcx + 0x316]
mov r15d, 4
cmp al, 3
jne 0x140097ef2
cmp byte [rcx + 0x317], al
jb 0x140097f08
jmp 0x140097eff
cmp al, 0xfe
jne 0x140097f08
cmp byte [rcx + 0x317], 0xfd
ja 0x140097f08
movzx r15d, word [r13 + 2]
add r15d, 6
mov r9, qword [rcx + 0x1938]
test r9, r9
jne 0x140097f20
mov rax, qword [rcx]
mov r9, qword [rax + 0x40]
test r9, r9
je 0x140097f8b
mov r8, qword [r9 + 8]
test r8, r8
je 0x140097f7f
mov r8d, dword [r8 + 0x59c]
cmp r8d, 0x80
jae 0x140097f40
mov eax, 1
jmp 0x140097f77
mov edx, 4
mov ecx, 0x18
nop word [rax + rax]
mov eax, r8d
shr eax, cl
test eax, eax
jne 0x140097f61
add ecx, 0xfffffff8
add edx, 0xffffffff
jne 0x140097f50
mov eax, 1
test dl, dl
je 0x140097f77
nop word [rax + rax]
inc eax
add dl, 0xff
jne 0x140097f70
add eax, r8d
add ebp, 3
add ebp, eax
mov r9, qword [r9 + 0x20]
test r9, r9
jne 0x140097f20
xor r8d, r8d
add r15d, ebp
mov eax, 0x300
test word [rbx + 0x4e8], ax
jne 0x1400984e3
test byte [rbx + 0x4e6], 0x80
lea edx, [r15 + 9]
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x50], edx
jne 0x140097fed
cmp byte [rbx + 0x4d8], 0
je 0x140097fdf
cmp byte [rbx + 0x141], 0
je 0x140097fdf
add edx, 0x66
mov dword [rsp + 0x50], edx
mov esi, 0xa
lea edi, [rsi + 1]
lea r14d, [rsi - 1]
jmp 0x140098000
mov esi, 0x1a
add edx, 0x10
mov dword [rsp + 0x50], edx
lea edi, [rsi + 1]
lea r14d, [rsi - 1]
cmp byte [rbx + 0x4d8], 0
je 0x140098058
cmp byte [rbx + 0x141], 0
je 0x140098058
cmp byte [rbx + 0x323], 2
jne 0x140098031
movzx eax, word [rbx + 0x320]
cmp byte [rbx + 0x322], 9
lea ecx, [rax + 8]
cmove ecx, eax
jmp 0x14009804a
movzx eax, word [rbx + 0x31e]
movzx ecx, byte [rbx + 0x327]
add ecx, eax
movzx eax, word [rbx + 0x31c]
add ecx, eax
test ecx, ecx
mov eax, r8d
cmovne eax, ecx
add edx, eax
mov dword [rsp + 0x50], edx
mov eax, 0x8000
mov rcx, rbx
or word [rbx + 0x4ea], ax
call fcn.14008bfa0
test eax, eax
jne 0x1400982d8
mov eax, dword [rbx + 0x1a0]
mov r9, rbx
mov qword [rsp + 0xa8], r12
mov r8b, ntohl
mov r12d, dword [rbx + 0x1a4]
mov edx, r15d
add r12, rax
add r12, qword [rbx + 0x198]
mov rcx, r12
call fcn.14008b330
mov byte [r14 + r12], 1
movzx eax, byte [rbx + 0x4ef]
cmp al, 0xc0
je 0x1400980b8
cmp al, 0xcc
jne 0x1400980c3
cmp byte [rbx + 0x326], 3
mov al, 0x40
je 0x1400980c5
mov al, 1
mov byte [rsi + r12], al
movzx eax, byte [rbx + 0x316]
cmp al, 3
jne 0x1400980de
cmp byte [rbx + 0x317], al
jb 0x140098122
jmp 0x1400980eb
cmp al, 0xfe
jne 0x140098122
cmp byte [rbx + 0x317], 0xfd
ja 0x140098122
movzx ecx, word [r13 + 2]
mov edx, edi
movzx eax, cx
shr ax, 8
add edi, 2
mov byte [rdx + r12 + 1], cl
mov byte [rdx + r12], al
lea rdx, [r13 + 0x130]
movzx r8d, word [r13 + 2]
mov ecx, edi
add rcx, r12
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [r13 + 2]
add edi, eax
mov ecx, edi
movzx eax, bp
shr ax, 8
add edi, 2
mov byte [rcx + r12], al
mov byte [rcx + r12 + 1], bpl
mov rbp, qword [rbx + 0x1938]
test rbp, rbp
jne 0x140098153
mov rax, qword [rbx]
mov rbp, qword [rax + 0x40]
test rbp, rbp
je 0x140098295
xor r15d, r15d
nop word [rax + rax]
mov rsi, qword [rbp + 8]
test rsi, rsi
je 0x140098286
mov r8d, dword [rsi + 0x59c]
cmp r8d, 0x80
jae 0x140098185
mov r8d, 1
jmp 0x1400981b8
mov edx, 4
mov ecx, 0x18
nop
mov eax, r8d
shr eax, cl
test eax, eax
jne 0x1400981a1
add ecx, 0xfffffff8
add edx, 0xffffffff
jne 0x140098190
mov r8d, 1
test dl, dl
je 0x1400981b8
nop dword [rax + rax]
inc r8d
add dl, 0xff
jne 0x1400981b0
inc r8w
add r8w, word [rsi + 0x59c]
mov byte [rdi + r12 + 1], r8b
movzx eax, r8w
shr ax, 8
mov byte [rdi + r12], al
add edi, 2
mov r10d, dword [rsi + 0x59c]
mov r9d, edi
add r9, r12
je 0x1400981f0
mov byte [r9], 0x30
inc r9
jmp 0x1400981f3
mov r9, r15
cmp r10d, 0x80
jae 0x14009820c
test r9, r9
je 0x140098204
mov byte [r9], r10b
mov r8d, 1
jmp 0x140098262
mov eax, 4
mov ecx, 0x18
mov edx, r10d
shr edx, cl
test edx, edx
jne 0x140098227
add ecx, 0xfffffff8
add eax, 0xffffffff
jne 0x140098216
test r9, r9
je 0x140098235
movzx ecx, al
or cl, 0x80
mov byte [r9], cl
mov r8d, 1
test al, al
je 0x140098262
nop
test r9, r9
je 0x14009825b
movzx ecx, al
mov edx, r10d
lea ecx, [rcx*8 - 8]
shr edx, cl
mov ecx, r8d
mov byte [rcx + r9], dl
inc r8d
add al, 0xff
jne 0x140098240
inc r8d
lea rdx, [rsi + 0x450]
add edi, r8d
movsxd r8, dword [rsi + 0x59c]
mov ecx, edi
add rcx, r12
call sub.VCRUNTIME140.dll_memcpy
add edi, dword [rsi + 0x59c]
mov rbp, qword [rbp + 0x20]
test rbp, rbp
jne 0x140098160
jmp 0x140098298
xor r15d, r15d
cmp byte [rbx + 0x4d8], 0
je 0x1400983d0
cmp byte [rbx + 0x141], 0
je 0x1400983d0
movzx ebp, word [rbx + 0x4e6]
and ebp, 0x80
or ebp, 0x50
shr ebp, 4
sub edi, ebp
test edi, edi
jg 0x1400982f8
mov eax, 0xffffff7c
mov r12, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x98]
mov r14, qword [rsp + 0x60]
add rsp, 0x68
pop r15
pop r13
pop rbp
pop rbx
ret
mov rax, qword [0x140706608]
movsxd r14, edi
mov rcx, r14
test rax, rax
je 0x14009830e
call rax
jmp 0x140098314
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
jne 0x140098321
lea eax, [rsi - 0x7d]
jmp 0x1400982d0
mov edx, ebp
mov r8, r14
add rdx, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
test byte [rbx + 0x4e6], 0x80
je 0x140098379
mov r9d, recv
mov r8d, edi
mov rdx, rsi
mov rcx, rbx
call fcn.14008ab60
mov ebp, eax
test eax, eax
je 0x140098379
mov rax, qword [0x1407065f8]
mov rcx, rsi
test rax, rax
je 0x14009836c
call rax
mov eax, ebp
jmp 0x1400982d0
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, ebp
jmp 0x1400982d0
mov r8d, dword [rsp + 0x50]
mov r9, rsi
mov dword [rsp + 0x48], r15d
mov rdx, r12
mov dword [rsp + 0x38], r15d
mov rcx, rbx
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], socket
mov dword [rsp + 0x20], edi
call fcn.140096b20
mov edi, eax
mov rcx, rsi
mov rax, qword [0x1407065f8]
test rax, rax
je 0x1400983bf
call rax
jmp 0x1400983c5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test edi, edi
jns 0x140098431
mov eax, edi
jmp 0x1400982d0
test byte [rbx + 0x4e6], 0x80
je 0x140098418
mov r9d, recv
mov r8d, edi
mov rdx, r12
mov rcx, rbx
call fcn.14008ab60
test eax, eax
jne 0x1400982d0
test byte [rbx + 0x4e6], 0x80
je 0x140098418
mov ecx, dword [rbx + 0x4c0]
lea eax, [rcx + 1]
mov dword [rbx + 0x4c0], eax
cmp ecx, eax
jbe 0x140098418
inc word [rbx + 0x4be]
xor r9d, r9d
mov r8d, edi
mov rdx, r12
mov rcx, rbx
call fcn.14008b180
test eax, eax
jne 0x1400982d0
cmp byte [rbx + 0xa99], 0
je 0x1400984b0
mov rsi, qword [rbx + 0xa88]
test rsi, rsi
je 0x1400984b0
test edi, edi
jle 0x1400984b0
cmp byte [rbx + 0x4d8], 1
je 0x1400984b0
movzx eax, byte [rbx + 0x316]
mov ecx, 1
movzx r10d, byte [rbx + 0x317]
mov edx, eax
and edx, 0xf0
movsxd r11, edi
shl edx, 4
and eax, 0xf
add edx, eax
lea r8d, [rcx + 0x15]
mov eax, r10d
shl edx, 4
and eax, 0xf0
and r10d, 0xf
add edx, eax
mov r9, r12
mov rax, qword [rbx + 0xa90]
mov qword [rsp + 0x30], rax
shl edx, 4
add edx, r10d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r11
call rsi
add dword [rbx + 0x1a0], edi
mov eax, 0x2000
test word [rbx + 0x4e8], ax
jne 0x1400984cf
mov rcx, rbx
call fcn.14008bc60
mov r15d, eax
mov eax, 0x7fff
and word [rbx + 0x4ea], ax
mov eax, r15d
jmp 0x1400982d0
xor eax, eax
add rsp, 0x68
pop r15
pop r13
pop rbp
pop rbx
ret