Function at 0x140086b50
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
mov r15, qword [rcx + 8]
test r15, r15
jne 0x140086b76
mov rax, qword [rsi]
mov r15, qword [rax + 0x90]
movzx eax, byte [rsi + 0x308]
mov ebx, 4
cmp eax, 0xfe
je 0x140086be5
cmp eax, 3
jne 0x140086b9f
cmp byte [rsi + 0x309], 2
jbe 0x140086b9f
movzx ebx, word [r15 + 2]
add ebx, 6
xor eax, eax
test byte [rsi + 0x4d8], 0x30
jne 0x140086c6b
test byte [rsi + 0x4d6], 8
movzx eax, byte [rsi + 0x4c8]
jne 0x140086bf0
lea ebp, [rbx + 9]
test al, al
je 0x140086c49
lea eax, [rbx + 0x6f]
cmp byte [rsi + 0x139], 0
lea r13, [rsi + 0x4c8]
cmovne ebp, eax
mov r12d, 9
jmp 0x140086c04
cmp byte [rsi + 0x309], 0xfd
jbe 0x140086b97
jmp 0x140086b9f
lea ebp, [rbx + 0x19]
lea r13, [rsi + 0x4c8]
mov r12d, 0x19
test al, al
je 0x140086c56
cmp byte [rsi + 0x139], 0
je 0x140086c56
cmp byte [rsi + 0x315], 2
jne 0x140086c2c
movzx ecx, word [rsi + 0x312]
lea eax, [rcx + 8]
cmp byte [rsi + 0x314], 9
cmove eax, ecx
jmp 0x140086c45
movzx eax, word [rsi + 0x30e]
movzx ecx, word [rsi + 0x310]
add ecx, eax
movzx eax, byte [rsi + 0x319]
add eax, ecx
add ebp, eax
jmp 0x140086c56
lea r13, [rsi + 0x4c8]
mov r12d, 9
or byte [rsi + 0x4db], 8
mov rcx, rsi
mov edx, ebp
call fcn.14007c5b0
test eax, eax
je 0x140086c7c
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edi, dword [rsi + 0x198]
mov eax, dword [rsi + 0x19c]
add rax, qword [rsi + 0x190]
add rdi, rax
mov rcx, rdi
mov edx, ebx
mov r8b, 0xd
mov r9, rsi
call fcn.1400869d0
mov r14d, r12d
mov byte [r14 + rdi], 1
movzx eax, byte [rsi + 0x4dd]
cmp eax, 0xcc
je 0x140086cbf
cmp eax, 0xc0
jne 0x140086cca
mov al, 0x40
cmp byte [rsi + 0x318], 3
je 0x140086ccc
mov al, 1
mov byte [rdi + r14 + 1], al
or r14, 2
movzx eax, byte [rsi + 0x308]
cmp eax, 0xfe
je 0x140086de4
cmp eax, 3
jne 0x140086d2a
cmp byte [rsi + 0x309], 2
jbe 0x140086d2a
movzx eax, word [r15 + 2]
rol ax, 8
mov word [rdi + r14], ax
mov ecx, r12d
or ecx, 4
add rcx, rdi
lea rdx, [r15 + 0x130]
movzx r8d, word [r15 + 2]
call fcn.1400d0c80
movzx eax, word [r15 + 2]
lea r14d, [r12 + rax]
add r14d, 4
mov eax, r14d
mov word [rdi + rax], 0
lea ebx, [r14 + 2]
movzx r12d, word [rsi + 0x4d6]
cmp byte [rsi + 0x4c8], 0
je 0x140086dbd
cmp byte [rsi + 0x139], 0
je 0x140086dbd
and r12d, 8
or r12d, 5
mov eax, 0xffffff7c
sub ebx, r12d
je 0x140086c6b
mov r15d, ebx
mov rcx, r15
call fcn.1400455f0
test rax, rax
je 0x140086e4e
mov r14, rax
mov edx, r12d
add rdx, rdi
mov rcx, rax
mov r8, r15
call fcn.1400d0c80
test byte [rsi + 0x4d6], 8
je 0x140086fb8
cmp dword [rsi + 0x5e0], 0x15
jb 0x140086f07
mov esi, 0xfffffe61
mov ecx, 0xfffffe61
call fcn.14005a330
jmp 0x140086f99
test r12b, 8
je 0x140086e70
cmp dword [rsi + 0x5e0], 0x15
jb 0x140086df6
mov ecx, 0xfffffe61
call fcn.14005a330
mov eax, 0xfffffe61
jmp 0x140086c6b
cmp byte [rsi + 0x309], 0xfd
jbe 0x140086cf5
jmp 0x140086d2a
mov ecx, ebx
mov dl, 1
call fcn.14007b6e0
test rax, rax
je 0x140086e4e
mov r15, rax
mov r12, qword [rsi + 0x5e8]
mov rcx, qword [rax + 8]
mov r8d, ebx
mov rdx, rdi
call fcn.1400d0c80
movzx eax, word [rsi + 0x4ac]
mov word [r15 + 0x24], ax
movzx eax, word [rsi + 0x4bc]
mov dword [r15 + 0x28], eax
mov byte [r15 + 0x30], recvfrom
test r12, r12
je 0x140086e58
nop
mov rax, r12
mov r12, qword [r12]
test r12, r12
jne 0x140086e40
jmp 0x140086e5f
mov eax, 0xffffff83
jmp 0x140086c6b
lea rax, [rsi + 0x5e8]
mov qword [rax], r15
inc dword [rsi + 0x5e0]
movzx r12d, word [rsi + 0x4d6]
test r12b, 8
jne 0x140086e8a
cmp qword [rsi + 0x78], 0
je 0x140086ee2
lea rdx, [rdi + 5]
add r14d, 0xfffffffd
jmp 0x140086f7f
inc dword [rsi + 0x4b0]
jne 0x140086e99
inc word [rsi + 0x4ae]
cmp qword [rsi + 0x78], 0
je 0x140086ee2
movzx ecx, word [rsi + 0x308]
movzx eax, cl
cmp eax, 0xfe
sete dl
cmp ecx, 0xfd00
setb r8b
cmp ax, 3
sete al
cmp ecx, 0x400
setae cl
test r8b, dl
jne 0x140086eec
and cl, al
jne 0x140086eec
lea rdx, [rdi + 0xd]
add r14d, 0xfffffff5
jmp 0x140086f7f
mov eax, 0xffffff53
jmp 0x140086c6b
lea r15, [rdi + 5]
add r14d, 0xfffffffd
cmp byte [r13], 0
je 0x140086f66
cmp byte [rsi + 0x139], 0
setne dl
jmp 0x140086f68
mov ecx, ebx
mov dl, 1
call fcn.14007b6e0
test rax, rax
je 0x140086f94
mov r12, qword [rsi + 0x5e8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
mov rdx, r14
mov r8, r15
call fcn.1400d0c80
mov rcx, qword [rsp + 0x50]
movzx eax, word [rsi + 0x4ac]
mov word [rcx + 0x24], ax
movzx eax, word [rsi + 0x4bc]
mov dword [rcx + 0x28], eax
mov byte [rcx + 0x30], recv
test r12, r12
je 0x140086fa8
mov rax, r12
mov r12, qword [r12]
test r12, r12
jne 0x140086f58
jmp 0x140086faf
xor edx, edx
mov rcx, rsi
call fcn.1400998d0
add eax, 0xfffffffb
movzx eax, ax
mov rdx, r15
add rdx, rax
sub r14d, eax
mov rcx, rsi
mov r8d, r14d
call fcn.14007d080
test eax, eax
jne 0x140086c6b
jmp 0x140087009
mov esi, 0xffffff83
mov rcx, r14
call fcn.140045610
mov eax, esi
jmp 0x140086c6b
lea rax, [rsi + 0x5e8]
mov qword [rax], rcx
inc dword [rsi + 0x5e0]
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0x16
mov rcx, rsi
mov rdx, rdi
mov r8d, ebp
mov r9, r14
call fcn.14007c700
mov ebx, eax
mov rcx, r14
call fcn.140045610
mov eax, ebx
test ebx, ebx
js 0x140086c6b
cmp byte [rsi + 0xa89], 0
je 0x140087087
test ebx, ebx
jle 0x140087087
mov rax, qword [rsi + 0xa78]
test rax, rax
je 0x140087087
cmp byte [r13], 1
je 0x140087087
movzx ecx, byte [rsi + 0x309]
mov r8d, ecx
shl r8d, 4
or r8d, ecx
and r8d, 0xf0f
movzx edx, byte [rsi + 0x308]
mov ecx, edx
and ecx, 0xf
shl ecx, 8
add ecx, r8d
shl edx, 0xc
and edx, 0xf0000
or edx, ecx
mov rcx, qword [rsi + 0xa80]
mov r8d, ebx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r8
mov ecx, 1
mov r8d, 0x16
mov r9, rdi
call rax
add dword [rsi + 0x198], ebx
xor eax, eax
test byte [rsi + 0x4d9], 2
jne 0x1400870a0
mov rcx, rsi
call fcn.14007cf00
and byte [rsi + 0x4db], 0xf7
jmp 0x140086c6b