Function at 0x140089510
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
mov eax, 0x21a0
call fcn.1400b59a0
sub rsp, rax
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rsp + 0x2190], rax
xor r15d, r15d
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x28], 2
lea r8d, [r15 + 4]
lea rdx, [rsp + 0xa8]
lea rcx, [0x140105070]
call fcn.140071fb0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x140089580
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1400440b0
mov dword [rsp + 0x40], 1
lea r8, [0x140104dc8]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x140]
call fcn.140043d90
nop
mov esi, 1
and esi, 0xfffffffe
mov dword [rsp + 0x40], esi
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x10
jb 0x1400895fb
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400895f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089d29
call fcn.1400b4b80
movdqa xmm0, xmmword [0x1400eb4d0]
movdqu xmmword [rsp + 0x78], xmm0
mov byte [rsp + 0x68], 0
mov rdx, qword [rsp + 0xc0]
cmp rdx, 0x10
jb 0x140089651
inc rdx
mov rcx, qword [rsp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008964c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089d2f
call fcn.1400b4b80
movdqa xmm0, xmmword [0x1400eb4d0]
movdqu xmmword [rsp + 0xb8], xmm0
mov byte [rsp + 0xa8], 0
lea rcx, [rsp + 0x140]
cmp qword [rsp + 0x158], 0x10
cmovae rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x150]
call fcn.140085840
xorps xmm0, xmm0
movups xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], r15
mov qword [rsp + 0x128], r15
mov qword [rsp + 0x120], r15
mov edi, send
mov qword [rsp + 0x128], rdi
mov byte [rsp + 0x110], 0
xor edx, edx
mov r8d, 0x2000
lea rcx, [rsp + 0x190]
call fcn.1400b7530
movzx ebx, byte [rsp + 0x44]
xor r9d, r9d
mov r8d, 0x2000
lea rdx, [rsp + 0x190]
mov rcx, qword [0x140104ec0]
call qword [sym.imp.WS2_32.dll_recv]
movsxd r13, eax
test eax, eax
jle 0x1400897de
mov rcx, rdi
sub rcx, r15
cmp r13, rcx
ja 0x140089756
lea rcx, [r15 + r13]
mov qword [rsp + 0x120], rcx
lea rax, [rsp + 0x110]
cmp rdi, 0x10
cmovae rax, qword [rsp + 0x110]
lea rdi, [rax + r15]
mov r8, r13
lea rdx, [rsp + 0x190]
mov rcx, rdi
call fcn.1400b6e80
mov byte [rdi + r13], 0
jmp 0x140089777
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x190]
movzx r8d, bl
mov rdx, r13
lea rcx, [rsp + 0x110]
call fcn.140047860
lea eax, [r13 - 1]
movsxd rcx, eax
cmp byte [rsp + rcx + 0x190], 0xa
je 0x14008979d
mov rdi, qword [rsp + 0x128]
mov r15, qword [rsp + 0x120]
jmp 0x1400896e3
mov rcx, qword [rsp + 0x120]
dec rcx
lea rax, [rsp + 0x110]
cmp qword [rsp + 0x128], 0x10
cmovae rax, qword [rsp + 0x110]
mov qword [rsp + 0x120], rcx
mov byte [rax + rcx], 0
mov rdi, qword [rsp + 0x128]
mov r15, qword [rsp + 0x120]
lea rbx, [rsp + 0x110]
mov r12, qword [rsp + 0x110]
cmp rdi, 0x10
cmovae rbx, r12
add rbx, r15
lea r14, [rsp + 0x110]
cmp rdi, 0x10
cmovae r14, r12
cmp r14, rbx
je 0x140089b3b
movzx r15d, byte [r14]
mov ecx, r15d
call fcn.14009f180
test eax, eax
jne 0x140089b2f
test r15b, r15b
je 0x140089b2f
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x170]
call fcn.1400450b0
nop
lea rax, [rsp + 0xd0]
mov qword [rsp + 0xc8], rax
xor ebx, ebx
mov qword [rsp + 0x108], rbx
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x160]
call fcn.140064ee0
nop
mov byte [rsp + 0x130], bl
xor edx, edx
lea rcx, [rsp + 0x138]
call fcn.140042620
nop
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x130]
call fcn.1400858d0
nop
jmp 0x1400898b2
lea rdi, [0x140104dc8]
mov dword [rsp + 0x28], 2
mov r8d, 4
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x130]
call fcn.140071fb0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400898eb
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.1400440b0
or esi, 8
mov dword [rsp + 0x40], esi
cmp qword [0x140104de0], 0x10
cmovae rdi, qword [0x140104dc8]
mov r8, qword [0x140104dd8]
mov rdx, rdi
lea rcx, [rsp + 0x88]
call fcn.140042c10
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], send
mov byte [rax], 0
or esi, 0x10
mov dword [rsp + 0x40], esi
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
call fcn.140085840
and esi, 0xffffffef
mov dword [rsp + 0x40], esi
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400899c0
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400899bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089d35
call fcn.1400b4b80
movdqa xmm0, xmmword [0x1400eb4d0]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
and esi, 0xfffffff7
mov dword [rsp + 0x40], esi
mov rdx, qword [rsp + 0xa0]
cmp rdx, 0x10
jb 0x140089a1d
inc rdx
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089a18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089d3b
call fcn.1400b4b80
movdqa xmm0, xmmword [0x1400eb4d0]
movdqu xmmword [rsp + 0x98], xmm0
mov byte [rsp + 0x88], 0
mov rdx, qword [rsp + 0xe8]
cmp rdx, 0x10
jb 0x140089a79
inc rdx
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089a74
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089d41
call fcn.1400b4b80
movdqa xmm0, xmmword [0x1400eb4d0]
movdqu xmmword [rsp + 0xe0], xmm0
mov byte [rsp + 0xd0], 0
movzx edx, byte [rsp + 0x130]
lea rcx, [rsp + 0x138]
call fcn.140042e00
nop
movzx edx, byte [rsp + 0x160]
lea rcx, [rsp + 0x168]
call fcn.140042e00
nop
mov rdx, qword [rsp + 0x188]
cmp rdx, 0x10
jb 0x140089b01
inc rdx
mov rcx, qword [rsp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089afc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089d47
call fcn.1400b4b80
movdqa xmm0, xmmword [0x1400eb4d0]
movdqu xmmword [rsp + 0x180], xmm0
mov byte [rsp + 0x170], 0
mov rdi, qword [rsp + 0x128]
mov r12, qword [rsp + 0x110]
jmp 0x140089c0f
inc r14
cmp r14, rbx
jne 0x140089812
mov rcx, qword [0x140104dd8]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 1
jb 0x140089d4d
cmp qword [0x140104de0], 0x10
lea rax, [0x140104dc8]
cmovae rax, qword [0x140104dc8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [0x1400ead64]
lea rcx, [rsp + 0x48]
call fcn.140048e20
or esi, 4
mov dword [rsp + 0x40], esi
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
call fcn.140085840
and esi, 0xfffffffb
mov dword [rsp + 0x40], esi
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140089bfa
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089bf5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089d53
call fcn.1400b4b80
movdqa xmm0, xmmword [0x1400eb4d0]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
xor ebx, ebx
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rsp + 0x190]
mov rcx, qword [0x140104ec0]
call qword [sym.imp.WS2_32.dll_recv]
mov rcx, qword [0x140104ec0]
test rcx, rcx
je 0x140089c3d
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
cmp rdi, 0x10
jb 0x140089c7c
lea rdx, [rdi + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x140089c74
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089d59
mov rcx, r12
call fcn.1400b4b80
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x128], send
mov byte [rsp + 0x110], 0
mov rdx, qword [rsp + 0x158]
cmp rdx, 0x10
jb 0x140089cdb
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089cd6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089d5f
call fcn.1400b4b80
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], send
mov byte [rsp + 0x140], 0
mov rcx, qword [rsp + 0x2190]
xor rcx, rsp
call fcn.1400b4b60
lea r11, [rsp + 0x21a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
call fcn.140098678
nop
call fcn.140098678
nop
call fcn.140098678
nop
call fcn.140098678
nop
call fcn.140098678
nop
call fcn.140098678
nop
call fcn.14002d450
nop
call fcn.140098678
nop
call fcn.140098678
nop
call fcn.140098678
int3