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

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r14
sub rsp, 0x178
mov rax, qword [0x1401ab100]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x1d0]
lea rsi, [rsp + 0x70]
xor r14d, r14d
mov r13d, r8d
mov qword [rsp + 0x30], rdx
mov ebx, r14d
mov byte [rsp + 0x20], bl
mov r12d, r9d
mov qword [rsp + 0x38], rcx
mov rbp, rcx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x24], r14d
test rcx, rcx
je 0x140026098
cmp dword [rcx], 0xbab1e
jne 0x140026098
cmp byte [rcx + 0x18a], bl
je 0x140025ced
lea eax, [r14 + 8]
jmp 0x140025de5
test r12d, r12d
jns 0x140025cfc
mov eax, 0xa
jmp 0x140025de5
mov qword [rsp + 0x170], rdi
mov rdi, qword [rcx + 8]
mov qword [rsp + 0x168], r15
test rdi, rdi
je 0x140025d7d
nop word [rax + rax]
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.140026eb0
mov r10d, eax
lea r8, [rsp + 0x48]
mov eax, 1
mov r9d, r14d
nop dword [rax]
mov rdx, 0xffffffffffffffff
test r10d, eax
je 0x140025d51
mov rdx, qword [r8]
inc ebx
mov ecx, eax
rol ecx, 0x10
test r10d, ecx
je 0x140025d60
mov rdx, qword [r8]
inc ebx
cmp rdx, 0xffffffffffffffff
je 0x140025d75
inc r9d
rol eax, 1
add r8, 8
cmp r9d, 5
jb 0x140025d40
mov rdi, qword [rdi]
test rdi, rdi
jne 0x140025d20
lea rdx, [rsp + 0x28]
mov rcx, rbp
call fcn.140028230
mov eax, dword [rsp + 0x28]
test eax, eax
js 0x140025d99
cmp eax, r12d
cmovl r12d, eax
movzx r15d, byte [rsp + 0x1e0]
mov r14d, ebx
add ebx, r13d
test r15b, r15b
je 0x140025db9
cmp qword [rbp + 0x178], 0xffffffffffffffff
je 0x140025db9
inc ebx
cmp ebx, 0xa
jbe 0x140025e0b
mov ecx, ebx
shl rcx, 4
call qword [section..data]
mov rsi, rax
test rax, rax
jne 0x140025e06
lea eax, [rsi + 3]
mov rdi, qword [rsp + 0x170]
mov r15, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.140074b80
add rsp, 0x178
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret
mov byte [rsp + 0x20], 1
xor r11d, r11d
mov r10d, 0x300
mov ebx, r11d
test r14d, r14d
je 0x140025ec5
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x140025ec5
xor ebp, ebp
nop
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.140026eb0
mov r10d, eax
lea r8, [rsp + 0x48]
mov r9d, ebp
mov edx, 1
nop dword [rax]
mov rcx, 0xffffffffffffffff
test r10d, edx
je 0x140025e74
mov rax, qword [r8]
mov ecx, ebx
add rcx, rcx
inc ebx
mov qword [rsi + rcx*8], rax
mov word [rsi + rcx*8 + 8], 0x300
mov rcx, qword [r8]
mov eax, edx
rol eax, 0x10
test r10d, eax
je 0x140025e96
mov rax, qword [r8]
mov ecx, ebx
add rcx, rcx
inc ebx
mov qword [rsi + rcx*8], rax
mov word [rsi + rcx*8 + 8], reloc.WS2_32.dll_recv
mov rcx, qword [r8]
cmp rcx, 0xffffffffffffffff
je 0x140025eab
inc r9d
rol edx, 1
add r8, 8
cmp r9d, 5
jb 0x140025e50
mov rdi, qword [rdi]
test rdi, rdi
jne 0x140025e30
mov rbp, qword [rsp + 0x38]
mov r10d, 0x300
xor r11d, r11d
mov r9d, 0x400
test r13d, r13d
je 0x140025f2c
mov rcx, qword [rsp + 0x30]
mov r8, r13
add rcx, 8
nop dword [rax]
mov rax, qword [rcx - 8]
mov edx, ebx
shl rdx, 4
add rdx, rsi
mov qword [rdx], rax
movzx eax, r11w
mov word [rdx + 8], r11w
test byte [rcx], 1
je 0x140025f06
mov word [rdx + 8], r10w
mov eax, r10d
test byte [rcx], 2
je 0x140025f13
or ax, r9w
mov word [rdx + 8], ax
test byte [rcx], 4
je 0x140025f20
or ax, 0x10
mov word [rdx + 8], ax
inc ebx
add rcx, 0x10
sub r8, 1
jne 0x140025ee0
test r15b, r15b
je 0x140025f4f
mov rcx, qword [rbp + 0x178]
cmp rcx, 0xffffffffffffffff
je 0x140025f4f
mov eax, ebx
add rax, rax
inc ebx
mov qword [rsi + rax*8], rcx
mov word [rsi + rax*8 + 8], r10w
test ebx, ebx
je 0x140026024
mov r8d, r12d
mov edx, ebx
mov rcx, rsi
call fcn.1400450b0
mov edi, eax
test eax, eax
jle 0x140026024
xor r9d, r9d
mov r11d, 0x300
test r13d, r13d
je 0x140025fd8
mov r10, qword [rsp + 0x30]
add r10, 0xa
nop word [rax + rax]
mov ecx, 0
lea edx, [r14 + r9]
add rdx, rdx
lea r10, [r10 + 0x10]
movsx r8d, word [rsi + rdx*8 + 0xa]
test r11d, r8d
setne cl
movzx edx, cx
or dx, 4
test r8b, 0x10
cmove dx, cx
movzx eax, dx
or ax, 2
bt r8d, 0xa
cmovae ax, dx
inc r9d
mov word [r10 - 0x10], ax
cmp r9d, r13d
jb 0x140025f90
test r15b, r15b
je 0x140026028
cmp qword [rbp + 0x178], 0xffffffffffffffff
je 0x140026028
lea ecx, [r14 + r13]
add rcx, rcx
test word [rsi + rcx*8 + 0xa], r11w
je 0x140026028
nop word [rax + rax]
mov rcx, qword [rbp + 0x178]
lea rdx, [rsp + 0x110]
xor r9d, r9d
lea r8d, [r9 + 0x40]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x140026000
dec edi
jmp 0x140026028
mov edi, dword [rsp + 0x24]
cmp byte [rsp + 0x20], 0
je 0x140026038
mov rcx, rsi
call qword [fcn.14008641c]
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140026044
mov dword [rax], edi
cmp byte [rsp + 0x1d8], 0
je 0x140026091
test ebx, ebx
jne 0x140026091
cmp dword [rbp], 0xbab1e
mov dword [rsp + 0x24], ebx
jne 0x140026091
cmp byte [rbp + 0x18a], bl
jne 0x140026091
lea rdx, [rsp + 0x24]
mov rcx, rbp
call fcn.140028230
test eax, eax
jne 0x140026091
mov ecx, dword [rsp + 0x24]
test ecx, ecx
je 0x140026091
cmp ecx, r12d
jg 0x140026089
test ecx, ecx
jns 0x14002608c
mov ecx, r12d
call fcn.1400457b0
xor eax, eax
jmp 0x140025dd5
mov eax, 1
jmp 0x140025de5