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

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa8
mov qword [rbp - 0x19], 0xfffffffffffffffe
mov r12, rcx
xor edi, edi
mov r13d, edi
mov dword [rbp + 0x77], edi
mov ebx, edi
mov dword [rbp - 0x69], ebx
lea r14d, [rdi + 1]
mov dword [rcx + 0x1007c], edi
test edx, edx
jle 0x140039b65
nop dword [rax + rax]
test r14d, r14d
jle 0x140039b65
xor r9d, r9d
mov r8d, 0x800
mov rdx, qword [r12 + 0x58]
mov rcx, qword [r12 + 0x60]
call qword [sym.imp.WS2_32.dll_recv]
mov r14d, eax
cmp byte [r12 + 0x50], 0
jne 0x140039b57
test r14d, r14d
jle 0x14003982d
lea rbx, [r12 + 0x74]
mov ecx, dword [rbx + 0x10000]
lea eax, [rcx + r14]
cmp eax, 0x10000
jae 0x14003981b
mov r8d, r14d
add rcx, rbx
mov rdx, qword [r12 + 0x58]
call sub.VCRUNTIME140.dll_memcpy
add dword [rbx + 0x10000], r14d
mov edx, dword [rbx + 0x10000]
cmp edx, dword [rbx + 0x10004]
jbe 0x14003982d
lea rcx, str.TCPQueue_now:__d
call fcn.14003c5f0
mov eax, dword [rbx + 0x10000]
mov dword [rbx + 0x10004], eax
jmp 0x14003982d
mov r8d, ecx
mov edx, r14d
lea rcx, str.ERROR:_TCPBuffer_out_of_memory_PACKET_SIZE:_u__CURSOR:_u_n
call fcn.14003c660
lea r15, [r12 + 0x74]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x61], xmm0
mov qword [rbp - 0x51], rdi
mov ecx, dword [r15 + 0x10000]
cmp ecx, 2
jbe 0x1400398e3
movzx ebx, word [r15]
lea eax, [rbx + 2]
movzx eax, ax
cmp ecx, eax
jb 0x1400398e3
movzx edi, bx
lea r8, [rbp - 0x61]
mov edx, edi
lea rcx, [rbp - 0x61]
call fcn.140008ab0
lea rdx, [r15 + 2]
mov r8d, edi
mov rcx, qword [rbp - 0x61]
call sub.VCRUNTIME140.dll_memcpy
movzx eax, bx
mov ebx, dword [r15 + 0x10000]
sub ebx, eax
sub ebx, 2
je 0x1400398ae
mov r8d, ebx
lea rdx, [r15 + 2]
add rdx, rdi
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov dword [r15 + 0x10000], ebx
jmp 0x1400398b9
mov dword [r15 + 0x10000], 0
mov rdi, qword [rbp - 0x61]
mov qword [rbp - 0x49], rdi
mov rbx, qword [rbp - 0x59]
mov qword [rbp - 0x41], rbx
mov rsi, qword [rbp - 0x51]
mov qword [rbp - 0x39], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x61], xmm0
mov qword [rbp - 0x51], 0
jmp 0x1400398ff
movdqu xmmword [rbp - 0x49], xmm0
mov rsi, rdi
mov qword [rbp - 0x39], rdi
movdqu xmmword [rbp - 0x61], xmm0
mov qword [rbp - 0x51], rdi
mov rbx, rdi
mov rdi, qword [rbp - 0x49]
or r13d, 1
xor edx, edx
mov dword [rbp + 0x77], edx
cmp rdi, rbx
je 0x140039aed
sub rbx, rdi
add dword [0x1400bded0], ebx
inc dword [0x1400bded4]
movsxd rdx, dword [r12 + 0x10080]
cmp rbx, rdx
jbe 0x140039944
mov r8d, ebx
lea rcx, str.New_TCP_incoming_pakSizeMax___d____d
call fcn.14003c5f0
mov dword [r12 + 0x10080], ebx
mov byte [rbp + 0xb], 0
mov qword [rbp - 0x11], rdi
mov dword [rbp - 9], ebx
mov rbx, qword [r12 + 0x28]
mov r14, qword [r12 + 0x30]
cmp rbx, r14
je 0x140039980
nop
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x140039b7b
mov rax, qword [rcx]
lea rdx, [rbp - 0x11]
call qword [rax + reloc.WS2_32.dll_recv]
add rbx, 0x40
cmp rbx, r14
jne 0x140039960
mov dword [rbp + 0x7f], 1
inc dword [rbp + 0x77]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x31], xmm0
xor r12d, r12d
mov qword [rbp - 0x21], r12
mov ecx, dword [r15 + 0x10000]
cmp ecx, 2
jbe 0x140039a24
movzx ebx, word [r15]
lea eax, [rbx + 2]
movzx eax, ax
cmp ecx, eax
jb 0x140039a24
movzx r14d, bx
lea r8, [rbp - 0x31]
mov edx, r14d
lea rcx, [rbp - 0x31]
call fcn.140008ab0
lea rdx, [r15 + 2]
mov r8d, r14d
mov rcx, qword [rbp - 0x31]
call sub.VCRUNTIME140.dll_memcpy
movzx eax, bx
mov ebx, dword [r15 + 0x10000]
sub ebx, eax
sub ebx, 2
je 0x140039a0f
mov r8d, ebx
lea rdx, [r14 + 2]
add rdx, r15
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov dword [r15 + 0x10000], ebx
mov r14, qword [rbp - 0x31]
mov rbx, qword [rbp - 0x29]
mov r12, qword [rbp - 0x21]
jmp 0x140039a2a
mov dword [r15 + 0x10000], r12d
mov r14, qword [rbp - 0x31]
mov rbx, qword [rbp - 0x29]
mov r12, qword [rbp - 0x21]
jmp 0x140039a2a
mov r14, r12
mov rbx, r12
or r13d, 2
test rdi, rdi
je 0x140039a66
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x140039a5b
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039b45
mov rdx, rsi
mov rcx, rdi
call fcn.14003c884
mov rdi, r14
mov qword [rbp - 0x49], r14
mov qword [rbp - 0x41], rbx
mov rsi, r12
mov qword [rbp - 0x39], r12
cmp r14, rbx
mov r12, qword [rbp + 0x67]
jne 0x140039911
mov edx, dword [rbp + 0x77]
cmp edx, 1
jle 0x140039a99
lea rcx, str.HELLO__got__d_TCP_packets_here__cool
call fcn.14003c5f0
mov r12, qword [rbp + 0x67]
mov r14d, dword [rbp + 0x7f]
mov ebx, dword [rbp - 0x69]
inc ebx
mov dword [rbp - 0x69], ebx
test rdi, rdi
je 0x140039ae1
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x140039ad6
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039b5e
mov rdx, rsi
mov rcx, rdi
call fcn.14003c884
cmp ebx, dword [rbp + 0x6f]
jge 0x140039b65
xor edi, edi
jmp 0x140039790
cmp r14d, 0xffffffff
jne 0x140039aa1
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x140039aa1
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, str.TCP_socket_error_detected__d__n
call fcn.14003c660
nop
test rdi, rdi
je 0x140039b57
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x140039b4c
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140039b4c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rdx, rsi
mov rcx, rdi
call fcn.14003c884
mov eax, 0xffffffff
jmp 0x140039b67
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov eax, ebx
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop
int3