Function at 0x140097b4e
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, 0x58
mov r13, r9
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov r15, qword [rsp + 0xc0]
lea r14, [rsp + 0x48]
mov rcx, r14
call fcn.140097358
mov rax, qword [r14]
test rax, rax
je 0x140097b98
cmp eax, 2
jne 0x140097bdb
mov qword [rsi], 2
jmp 0x140097e2c
cmp qword [rbx], 0
je 0x140097e3d
test r15, r15
je 0x140097bf0
mov rax, r15
shr rax, 0x20
jne 0x140097e3d
mov rcx, qword [rbx + 0x28]
call fcn.14003f450
mov r12, rax
mov ebp, edx
mov rax, qword [rax + 0x30]
cmp rax, 2
jae 0x140097bfb
movabs r14, 0xd00000003
jmp 0x140097cb4
mov rax, qword [rsp + 0x50]
mov qword [rsi], 1
mov qword [rsi + 8], rax
jmp 0x140097e2c
xor r13d, r13d
xor r14d, r14d
jmp 0x140097e25
lea rcx, [rbx + 0x28]
cmp eax, 2
jne 0x140097c9d
cmp bpl, 2
je 0x140097cc1
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x30], rcx
mov rax, qword [rcx]
mov ecx, r15d
mov r12d, 0x7fffffff
cmp rcx, r12
mov qword [rsp + 0x38], rcx
cmovb r12, rcx
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov r15d, 2
xor r14d, r14d
mov byte [rsp + 0x27], bpl
dec r15
je 0x140097d41
mov rcx, qword [rsp + 0x40]
mov rdx, r13
mov r8d, r12d
xor r9d, r9d
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
je 0x140097c6f
cdqe
jmp 0x140097c86
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x140097d52
xor eax, eax
mov bpl, byte [rsp + 0x27]
add r14, rax
cmp rax, qword [rsp + 0x38]
jae 0x140097c4a
mov r15, qword [rsp + 0x28]
xor r13d, r13d
jmp 0x140097e0f
mov rdx, r12
add rdx, 0x10
mov r14, qword [r12 + 0x38]
and qword [r12 + 0x30], 0
call fcn.14003f4a7
mov rcx, r12
mov edx, ebp
call fcn.14003f644
mov r12, r14
mov r13d, 1
mov r14, r12
mov rcx, r14
call fcn.14009788d
cmp al, 0xd
jne 0x140097e25
lock and qword [rbx + 0x48], 0xfffffffffffffffe
lea r15, [rsp + 0x48]
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call fcn.140097358
mov rax, qword [r15]
test rax, rax
je 0x140097d12
cmp eax, 1
jne 0x140097d1f
mov rax, qword [rsp + 0x50]
mov qword [rsi], 1
mov qword [rsi + 8], rax
jmp 0x140097d26
mov rax, qword [rdi]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx + 0x10]
mov qword [rsi], 2
mov rcx, r13
mov rdx, r14
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140085395
mov rcx, qword [rsp + 0x28]
mov edx, ebp
call fcn.14003f644
jmp 0x140097e22
mov ebp, eax
shl rbp, 0x20
or rbp, 2
test r14, r14
je 0x140097db8
mov rcx, rbp
call fcn.1400297b8
cmp al, 0xd
mov r15, qword [rsp + 0x28]
jne 0x140097dee
mov r12, qword [rsp + 0x28]
add r12, 0x10
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x38]
call fcn.14003f610
mov rax, qword [rsp + 0x28]
and qword [rax + 0x30], 0
mov rcx, qword [rsp + 0x30]
mov rdx, r12
mov r15, qword [rsp + 0x28]
call fcn.14003f4a7
mov rcx, rbp
call fcn.14001e441
jmp 0x140097e07
mov r15, qword [rsp + 0x28]
mov r14, r15
add r14, 0x10
mov rcx, qword [r15 + 0x30]
mov rdx, qword [r15 + 0x38]
call fcn.14003f610
and qword [r15 + 0x30], 0
mov rcx, qword [rsp + 0x30]
mov rdx, r14
call fcn.14003f4a7
mov r13d, 1
mov r14, rbp
jmp 0x140097e0a
mov rcx, qword [r15 + 0x30]
mov rdx, qword [r15 + 0x38]
call fcn.14003f610
mov qword [r15 + 0x30], 3
mov qword [r15 + 0x38], rbp
xor r13d, r13d
mov bpl, byte [rsp + 0x27]
mov rcx, r15
mov edx, ebp
call fcn.14003f644
test r13, r13
jne 0x140097cca
xor r13d, r13d
mov qword [rsi], r13
mov qword [rsi + 8], r14
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2