Function at 0x140090f90
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 0x140090fb7
mov rax, qword [rcx]
mov r13, qword [rax + 0x90]
movzx eax, byte [rcx + 0x308]
mov r15d, 4
cmp al, 3
jne 0x140090fd2
cmp byte [rcx + 0x309], al
jb 0x140090fe8
jmp 0x140090fdf
cmp al, 0xfe
jne 0x140090fe8
cmp byte [rcx + 0x309], 0xfd
ja 0x140090fe8
movzx r15d, word [r13 + 2]
add r15d, 6
mov r9, qword [rcx + 0x1928]
test r9, r9
jne 0x140091000
mov rax, qword [rcx]
mov r9, qword [rax + 0x40]
test r9, r9
je 0x14009106b
mov r8, qword [r9 + 8]
test r8, r8
je 0x14009105f
mov r8d, dword [r8 + 0x59c]
cmp r8d, 0x80
jae 0x140091020
mov eax, 1
jmp 0x140091057
mov edx, 3
mov ecx, reloc.WS2_32.dll_recv
nop word [rax + rax]
mov eax, r8d
shr eax, cl
test eax, eax
jne 0x140091041
add ecx, 0xfffffff8
add edx, 0xffffffff
jne 0x140091030
mov eax, 1
test dl, dl
je 0x140091057
nop word [rax + rax]
inc eax
add dl, 0xff
jne 0x140091050
add eax, r8d
add ebp, 3
add ebp, eax
mov r9, qword [r9 + 0x20]
test r9, r9
jne 0x140091000
xor r8d, r8d
add r15d, ebp
mov eax, 0x300
test word [rbx + 0x4d8], ax
jne 0x1400915c0
test byte [rbx + 0x4d6], 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 0x1400910cd
cmp byte [rbx + 0x4c8], 0
je 0x1400910bf
cmp byte [rbx + 0x139], 0
je 0x1400910bf
add edx, 0x66
mov dword [rsp + 0x50], edx
mov esi, 0xa
lea edi, [rsi + 1]
lea r14d, [rsi - 1]
jmp 0x1400910e0
mov esi, 0x1a
add edx, 0x10
mov dword [rsp + 0x50], edx
lea edi, [rsi + 1]
lea r14d, [rsi - 1]
cmp byte [rbx + 0x4c8], 0
je 0x140091138
cmp byte [rbx + 0x139], 0
je 0x140091138
cmp byte [rbx + 0x315], 2
jne 0x140091111
movzx eax, word [rbx + 0x312]
cmp byte [rbx + 0x314], 9
lea ecx, [rax + 8]
cmove ecx, eax
jmp 0x14009112a
movzx eax, word [rbx + 0x310]
movzx ecx, byte [rbx + 0x319]
add ecx, eax
movzx eax, word [rbx + 0x30e]
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 + 0x4da], ax
call fcn.140085710
test eax, eax
jne 0x1400913b8
mov eax, dword [rbx + 0x198]
mov r9, rbx
mov qword [rsp + 0xa8], r12
mov r8b, ntohl
mov r12d, dword [rbx + 0x19c]
mov edx, r15d
add r12, rax
add r12, qword [rbx + 0x190]
mov rcx, r12
call fcn.140084aa0
mov byte [r14 + r12], 1
movzx eax, byte [rbx + 0x4df]
cmp al, 0xc0
je 0x140091198
cmp al, 0xcc
jne 0x1400911a3
cmp byte [rbx + 0x318], 3
mov al, 0x40
je 0x1400911a5
mov al, 1
mov byte [rsi + r12], al
movzx eax, byte [rbx + 0x308]
cmp al, 3
jne 0x1400911be
cmp byte [rbx + 0x309], al
jb 0x140091202
jmp 0x1400911cb
cmp al, 0xfe
jne 0x140091202
cmp byte [rbx + 0x309], 0xfd
ja 0x140091202
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 fcn.14014bb50
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 + 0x1928]
test rbp, rbp
jne 0x140091233
mov rax, qword [rbx]
mov rbp, qword [rax + 0x40]
test rbp, rbp
je 0x140091375
xor r15d, r15d
nop word [rax + rax]
mov rsi, qword [rbp + 8]
test rsi, rsi
je 0x140091366
mov r8d, dword [rsi + 0x59c]
cmp r8d, 0x80
jae 0x140091265
mov r8d, 1
jmp 0x140091298
mov edx, 3
mov ecx, reloc.WS2_32.dll_recv
nop
mov eax, r8d
shr eax, cl
test eax, eax
jne 0x140091281
add ecx, 0xfffffff8
add edx, 0xffffffff
jne 0x140091270
mov r8d, 1
test dl, dl
je 0x140091298
nop dword [rax + rax]
inc r8d
add dl, 0xff
jne 0x140091290
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 0x1400912d0
mov byte [r9], 0x30
inc r9
jmp 0x1400912d3
mov r9, r15
cmp r10d, 0x80
jae 0x1400912ec
test r9, r9
je 0x1400912e4
mov byte [r9], r10b
mov r8d, 1
jmp 0x140091342
mov eax, 3
mov ecx, reloc.WS2_32.dll_recv
mov edx, r10d
shr edx, cl
test edx, edx
jne 0x140091307
add ecx, 0xfffffff8
add eax, 0xffffffff
jne 0x1400912f6
test r9, r9
je 0x140091315
movzx ecx, al
or cl, 0x80
mov byte [r9], cl
mov r8d, 1
test al, al
je 0x140091342
nop
test r9, r9
je 0x14009133b
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 0x140091320
inc r8d
lea rdx, [rsi + 0x450]
add edi, r8d
movsxd r8, dword [rsi + 0x59c]
mov ecx, edi
add rcx, r12
call fcn.14014bb50
add edi, dword [rsi + 0x59c]
mov rbp, qword [rbp + 0x20]
test rbp, rbp
jne 0x140091240
jmp 0x140091378
xor r15d, r15d
cmp byte [rbx + 0x4c8], 0
je 0x1400914ad
cmp byte [rbx + 0x139], 0
je 0x1400914ad
movzx ebp, word [rbx + 0x4d6]
and ebp, 0x80
or ebp, 0x50
shr ebp, 4
sub edi, ebp
test edi, edi
jg 0x1400913d8
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 [0x1401a22f0]
movsxd r14, edi
mov rcx, r14
test rax, rax
je 0x1400913ee
call rax
jmp 0x1400913f3
call fcn.1401325bc
mov rsi, rax
test rax, rax
jne 0x140091400
lea eax, [rsi - 0x7d]
jmp 0x1400913b0
mov edx, ebp
mov r8, r14
add rdx, r12
mov rcx, rsi
call fcn.14014bb50
test byte [rbx + 0x4d6], 0x80
je 0x140091457
mov r9d, ntohl
mov r8d, edi
mov rdx, rsi
mov rcx, rbx
call fcn.1400842e0
mov ebp, eax
test eax, eax
je 0x140091457
mov rax, qword [0x1401a22e0]
mov rcx, rsi
test rax, rax
je 0x14009144b
call rax
mov eax, ebp
jmp 0x1400913b0
call fcn.14012e000
mov eax, ebp
jmp 0x1400913b0
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.14008fa20
mov edi, eax
mov rcx, rsi
mov rax, qword [0x1401a22e0]
test rax, rax
je 0x14009149d
call rax
jmp 0x1400914a2
call fcn.14012e000
test edi, edi
jns 0x14009150e
mov eax, edi
jmp 0x1400913b0
test byte [rbx + 0x4d6], 0x80
je 0x1400914f5
mov r9d, ntohl
mov r8d, edi
mov rdx, r12
mov rcx, rbx
call fcn.1400842e0
test eax, eax
jne 0x1400913b0
test byte [rbx + 0x4d6], 0x80
je 0x1400914f5
mov ecx, dword [rbx + 0x4b0]
lea eax, [rcx + 1]
mov dword [rbx + 0x4b0], eax
cmp ecx, eax
jbe 0x1400914f5
inc word [rbx + 0x4ae]
xor r9d, r9d
mov r8d, edi
mov rdx, r12
mov rcx, rbx
call fcn.1400848f0
test eax, eax
jne 0x1400913b0
cmp byte [rbx + 0xa89], 0
je 0x14009158d
mov rsi, qword [rbx + 0xa78]
test rsi, rsi
je 0x14009158d
test edi, edi
jle 0x14009158d
cmp byte [rbx + 0x4c8], 1
je 0x14009158d
movzx eax, byte [rbx + 0x308]
mov ecx, 1
movzx r10d, byte [rbx + 0x309]
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 + 0xa80]
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 + 0x198], edi
mov eax, 0x2000
test word [rbx + 0x4d8], ax
jne 0x1400915ac
mov rcx, rbx
call fcn.1400853d0
mov r15d, eax
mov eax, 0x7fff
and word [rbx + 0x4da], ax
mov eax, r15d
jmp 0x1400913b0
xor eax, eax
add rsp, 0x68
pop r15
pop r13
pop rbp
pop rbx
ret