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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
movaps xmmword [rsp + 0x160], xmm6
mov rax, qword [0x140430040]
xor rax, rsp
mov qword [rsp + 0x158], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x150], rax
movaps xmm6, xmmword [0x1403d4b30]
movaps xmmword [rsp + 0x140], xmm6
movaps xmmword [rsp + 0x130], xmm6
mov ebx, 1
test rcx, rcx
je 0x14015a4f9
mov rdi, rcx
cmp dword [rcx], 0xbab1e
jne 0x14015a4f9
mov ebx, 8
cmp byte [rdi + 0x18a], 0
je 0x14015a538
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
cmp rcx, qword [0x140430040]
je 0x14015a513
call fcn.140278ca0
int3
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 0xa
jmp 0x14015a4f9
mov ebp, r9d
test r9d, r9d
js 0x14015a531
mov r15d, r8d
mov r14, rdx
lea rbx, [rsp + 0x90]
mov r8d, 0xa0
mov rcx, rbx
mov dl, 0xaa
call fcn.1402b6a10
mov r12, qword [rdi + 8]
xor esi, esi
test r12, r12
je 0x14015a580
lea r13, [rsp + 0x130]
jmp 0x14015a973
mov ebx, 3
jmp 0x14015a4f9
cmp qword [rdi + 0xb0], 0
je 0x14015a601
lea r12, [rsp + 0x50]
movaps xmmword [r12], xmm6
mov rcx, r12
call fcn.14017b110
mov rdx, qword [rdi + 0xb0]
xorps xmm0, xmm0
lea rcx, [rsp + 0x40]
movaps xmmword [rcx], xmm0
call fcn.14019ac90
mov qword [rdi + 0xb0], rax
lea rdx, [rax + 0x20]
mov r8, qword [r12]
xor ecx, ecx
cmp qword [rax + 0x20], r8
jl 0x14015a606
jg 0x14015a5d5
mov eax, dword [rax + 0x28]
cmp eax, dword [rsp + 0x58]
jle 0x14015a606
movups xmm0, xmmword [rdx]
lea rcx, [rsp + 0x40]
movaps xmmword [rcx], xmm0
movaps xmm0, xmmword [rsp + 0x50]
lea rdx, [rsp + 0x30]
movaps xmmword [rdx], xmm0
call fcn.14017b1c0
cmp rax, 2
mov ecx, 1
cmovge rcx, rax
jmp 0x14015a606
mov ecx, 0xffffffff
cmp ecx, ebp
cmovb ebp, ecx
lea eax, [rsi + r15]
mov r12d, eax
cmp byte [rsp + 0x1f0], 0
je 0x14015a62e
xor r12d, r12d
cmp qword [rdi + 0x178], 0xffffffffffffffff
setne r12b
add r12d, eax
mov dword [rsp + 0x28], eax
cmp r12d, 0xb
jb 0x14015a658
mov rax, qword [fcn.140119a10]
mov ecx, r12d
shl rcx, 4
call qword [str._a_]
mov rbx, rax
test rax, rax
je 0x14015a576
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x24], ebp
xor r12d, r12d
test esi, esi
je 0x14015a681
mov r13, qword [rdi + 8]
test r13, r13
je 0x14015a681
xor r12d, r12d
lea rbp, [rsp + 0x130]
jmp 0x14015aa09
test r15d, r15d
je 0x14015a71a
mov eax, r15d
shl rax, 4
xor ecx, ecx
mov r8d, dword [rsp + 0x24]
mov r11b, byte [rsp + 0x1f0]
jmp 0x14015a6bb
movzx r9d, r10w
or r9d, 0x10
mov word [rdx + 8], r9w
inc r12d
add rcx, 0x10
cmp rax, rcx
je 0x14015a727
mov r10, qword [r14 + rcx]
mov r9d, r12d
shl r9, 4
lea rdx, [rbx + r9]
mov qword [rbx + r9], r10
mov word [rbx + r9 + 8], 0
movzx r10d, word [r14 + rcx + 8]
and r10d, 1
neg r10d
and r10d, 0x300
mov word [rbx + r9 + 8], r10w
movzx r9d, word [r14 + rcx + 8]
test r9b, 2
je 0x14015a712
movzx r10d, r10w
or r10d, 0x400
mov word [rdx + 8], r10w
movzx r9d, word [r14 + rcx + 8]
test r9b, 4
je 0x14015a6af
jmp 0x14015a6a2
mov r8d, dword [rsp + 0x24]
mov r11b, byte [rsp + 0x1f0]
test r11b, r11b
je 0x14015a74e
mov rax, qword [rdi + 0x178]
cmp rax, 0xffffffffffffffff
je 0x14015a74e
mov ecx, r12d
shl rcx, 4
mov qword [rbx + rcx], rax
mov word [rbx + rcx + 8], 0x300
inc r12d
xor r13d, r13d
test r12d, r12d
je 0x14015a820
mov rcx, rbx
mov edx, r12d
call fcn.140180510
test eax, eax
jle 0x14015a820
mov ebp, eax
test r15d, r15d
je 0x14015a7bd
mov eax, r15d
shl rax, 4
xor ecx, ecx
mov edx, esi
shl rdx, 4
movzx edx, word [rbx + rdx + 0xa]
xor r8d, r8d
test edx, 0x300
setne r8b
mov r9d, edx
shr r9d, 2
and r9d, 4
shr edx, 9
and edx, 2
or edx, r9d
or edx, r8d
mov word [r14 + rcx + 0xa], dx
add rcx, 0x10
inc esi
cmp rax, rcx
jne 0x14015a77d
cmp byte [rsp + 0x1f0], 0
je 0x14015a81d
cmp qword [rdi + 0x178], 0xffffffffffffffff
je 0x14015a81d
mov eax, dword [rsp + 0x28]
shl rax, 4
test byte [rbx + rax + 0xb], 3
mov r13d, ebp
je 0x14015a820
lea r14, [rsp + 0x50]
movaps xmmword [r14 + 0x30], xmm6
movaps xmmword [r14 + 0x20], xmm6
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
mov rsi, qword [sym.imp.WS2_32.dll_recv]
mov rcx, qword [rdi + 0x178]
mov rdx, r14
mov r8d, 0x40
xor r9d, r9d
call rsi
test eax, eax
jg 0x14015a802
dec ebp
mov r13d, ebp
mov rsi, qword [rsp + 0x1e0]
cmp dword [rsp + 0x2c], 0xb
jb 0x14015a83f
mov rax, qword [fcn.140119970]
mov rcx, rbx
call qword [str._a_]
mov al, byte [rsp + 0x1e8]
test rsi, rsi
mov ebp, dword [rsp + 0x24]
je 0x14015a852
mov dword [rsi], r13d
xor ebx, ebx
test al, al
je 0x14015a4f9
test r12d, r12d
jne 0x14015a4f9
cmp dword [rdi], 0xbab1e
jne 0x14015a4f9
cmp byte [rdi + 0x18a], 0
jne 0x14015a4f9
cmp qword [rdi + 0xb0], 0
je 0x14015a918
lea r14, [rsp + 0x50]
movaps xmmword [r14], xmm6
mov rcx, r14
call fcn.14017b110
mov rdx, qword [rdi + 0xb0]
xorps xmm0, xmm0
lea rcx, [rsp + 0x40]
movaps xmmword [rcx], xmm0
call fcn.14019ac90
mov qword [rdi + 0xb0], rax
lea rcx, [rax + 0x20]
mov rdx, qword [r14]
cmp qword [rax + 0x20], rdx
jl 0x14015a4f9
jg 0x14015a8db
mov eax, dword [rax + 0x28]
cmp eax, dword [rsp + 0x58]
jle 0x14015a4f9
movups xmm0, xmmword [rcx]
lea rcx, [rsp + 0x40]
movaps xmmword [rcx], xmm0
movaps xmm0, xmmword [rsp + 0x50]
lea rdx, [rsp + 0x30]
movaps xmmword [rdx], xmm0
call fcn.14017b1c0
cmp rax, 2
mov edx, 1
cmovge rdx, rax
test edx, edx
je 0x14015a4f9
cmp edx, ebp
mov ecx, ebp
cmovl ecx, edx
test edx, edx
jns 0x14015a91a
mov ecx, ebp
call fcn.140180070
jmp 0x14015a4f9
inc esi
mov rdx, qword [rsp + rcx*8 + 0x130]
mov r8d, eax
shr r8d, cl
bt r8d, 0x10
jae 0x14015a945
inc esi
mov rdx, qword [rsp + rcx*8 + 0x130]
cmp rdx, 0xffffffffffffffff
je 0x14015a966
lea rdx, [rcx + 1]
cmp rcx, 4
mov rcx, rdx
jae 0x14015a966
bt eax, ecx
jb 0x14015a924
mov rdx, 0xffffffffffffffff
jmp 0x14015a92e
mov r12, qword [r12]
test r12, r12
je 0x14015a580
mov rcx, r12
mov rdx, r13
call fcn.14015a330
xor ecx, ecx
jmp 0x14015a958
mov rdx, qword [rsp + rcx*8 + 0x130]
mov r8d, r12d
shl r8, 4
mov qword [rbx + r8], rdx
mov word [rbx + r8 + 8], 0x300
inc r12d
mov rdx, qword [rsp + rcx*8 + 0x130]
mov r8d, eax
shr r8d, cl
bt r8d, 0x10
jae 0x14015a9db
mov rdx, qword [rsp + rcx*8 + 0x130]
mov r8d, r12d
shl r8, 4
mov qword [rbx + r8], rdx
mov word [rbx + r8 + 8], reloc.WS2_32.dll_recv
inc r12d
mov rdx, qword [rsp + rcx*8 + 0x130]
cmp rdx, 0xffffffffffffffff
je 0x14015a9fc
lea rdx, [rcx + 1]
cmp rcx, 4
mov rcx, rdx
jae 0x14015a9fc
bt eax, ecx
jb 0x14015a982
mov rdx, 0xffffffffffffffff
jmp 0x14015a9a8
mov r13, qword [r13]
test r13, r13
je 0x14015a681
mov rcx, r13
mov rdx, rbp
call fcn.14015a330
xor ecx, ecx
jmp 0x14015a9ee