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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0xf0]
mov rbx, rcx
mov rsi, rdx
mov r12, r8
mov r13d, r9d
test rcx, rcx
je 0x14007f150
call fcn.140073e30
mov rdx, rax
mov rax, qword [rbx]
test rax, rax
je 0x14007eed5
cmp qword [rax], rdx
je 0x14007eee5
mov rcx, rbx
call fcn.1400b1670
test eax, eax
je 0x14007f150
call fcn.1400d4a80
mov rcx, qword [rbx + 0x18]
mov rdx, qword [rbp + 0x98]
mov qword [rbp - 0xa0], rax
call fcn.1402cb260
test eax, eax
je 0x14007f096
mov rax, qword [rbx + 0x18]
cmp byte [rax + 0x28], 0
js 0x14007f1b0
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x90]
call fcn.140042df0
mov edx, eax
test eax, eax
jne 0x14007f096
cmp r13d, 0xffffffff
je 0x14007f0e0
test r13d, r13d
jne 0x14007f180
sub rsp, 0x10
lea rax, [rbp - 0x8d]
mov dword [rbp - 0x98], 1
mov qword [rsp + 0x58], rax
lea rdi, [rsp + 0x50]
mov dword [rdi], 1
xor eax, eax
cmp qword [rbp + 0x80], 0
je 0x14007ef81
mov rax, qword [rbp + 0x80]
mov eax, dword [rax]
lea r13, [rbp - 0x88]
lea r12, [rbp - 0x8c]
mov dword [rbp - 0x8c], eax
mov rax, r13
mov r13, r12
mov r12, rdi
mov rdi, rbx
mov rbx, rax
lea r15, [rbp - 0x84]
mov dword [rbp - 0x84], pe_nt_image_headers64
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rax + 0xc]
test rsi, rsi
je 0x14007f0b0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], r15
mov r9, rbx
mov rdx, r12
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
mov r8d, dword [rbp - 0x98]
call qword [sym.imp.WS2_32.dll_WSARecvFrom]
test eax, eax
je 0x14007f2bb
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r14d, eax
cmp eax, 0x2714
je 0x14007efab
mov rax, qword [rdi + 0x18]
lea rcx, [rax + 0x58]
call fcn.140341618
mov rdx, qword [rdi + 0x18]
and dword [rdx + 0x40], 0xfffffffe
mov rdx, qword [rdi + 0x18]
and dword [rdx + 0x44], 0xfffffffe
mov rax, qword [rdi + 0x18]
lea rcx, [rax + 0x58]
call fcn.140341260
cmp r14d, 0x2733
jne 0x14007f230
cmp qword [rbp + 0x88], 0
je 0x14007f230
mov rax, qword [rbp + 0x98]
mov edx, 1
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x90]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0xa0]
mov r8, qword [rbp + 0x88]
call fcn.1400764b0
test eax, eax
jne 0x14007efa4
mov rax, 0xffffffffffffffff
lea rsp, [rbp + 8]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rsp + 0x30], 0
mov r9, rbx
mov rdx, r12
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r13
mov r8d, dword [rbp - 0x98]
call qword [sym.imp.WS2_32.dll_WSARecv]
jmp 0x14007effe
cmp qword [r12], 0
je 0x14007ef47
lea rax, [r12 + 0x10]
xor r13d, r13d
nop dword [rax + rax]
add rax, 0x10
add r13d, 1
cmp qword [rax - 0x10], 0
jne 0x14007f0f8
movsxd rax, r13d
shl rax, 4
call fcn.1403423d0
mov dword [rbp - 0x98], r13d
sub rsp, rax
lea rdi, [rsp + 0x50]
xor eax, eax
nop dword [rax]
mov rcx, qword [r12 + rax]
add edx, 1
mov qword [rdi + rax + 8], rcx
mov rcx, qword [r12 + rax + 8]
mov dword [rdi + rax], ecx
add rax, 0x10
cmp edx, r13d
jl 0x14007f128
jmp 0x14007ef6c
lea rax, [0x14037c4d8]
lea r9, str.g_socket_receive_message_with_timeout
mov edx, 8
mov qword [rsp + 0x20], rax
lea r8, [0x14037bda0]
lea rcx, [0x14037bea6]
call fcn.1400d2190
jmp 0x14007f096
movsxd rax, r13d
shl rax, 4
call fcn.1403423d0
sub rsp, rax
mov dword [rbp - 0x98], r13d
lea rdi, [rsp + 0x50]
test r13d, r13d
jle 0x14007ef6c
jmp 0x14007f122
and byte [rax + 0x28], 0x7f
mov rcx, qword [0x14048def0]
mov rax, qword [rcx]
test rax, rax
je 0x14007f490
lea rdx, str.Socket_I_O_timed_out
lea rcx, [0x14037be29]
call fcn.1400c7f40
mov rsi, qword [0x14048eee0]
mov rbx, rax
mov eax, dword [rsi]
test eax, eax
jne 0x14007f1f8
lea rcx, [0x14037c0b8]
call fcn.1400daa90
mov dword [rsi], eax
mov rsi, qword [rbp + 0x98]
cmp qword [rsi], 0
je 0x14007f4a7
mov r9, rbx
lea r8, [0x14037c4f0]
mov edx, 0x10
lea rcx, [0x14037c3ca]
call fcn.1400d2190
jmp 0x14007f096
mov ecx, r14d
call fcn.1400264c0
mov ecx, r14d
mov ebx, eax
call fcn.140075150
mov rsi, rax
cmp ebx, 0x1b
je 0x14007f4c5
mov rcx, qword [0x14048def0]
mov rax, qword [rcx]
test rax, rax
je 0x14007f472
lea rdx, str.Error_receiving_message:__s
lea rcx, [0x14037be29]
call fcn.1400c7f40
mov rdi, qword [0x14048eee0]
mov r9, rax
mov edx, dword [rdi]
test edx, edx
jne 0x14007f2a2
lea rcx, [0x14037c0b8]
mov qword [rbp - 0x98], rax
call fcn.1400daa90
mov r9, qword [rbp - 0x98]
mov dword [rdi], eax
mov edx, eax
mov qword [rsp + 0x20], rsi
mov rcx, qword [rbp + 0x98]
mov r8d, ebx
call fcn.1400cab90
jmp 0x14007f096
mov dword [rbp - 0x98], eax
mov rax, qword [rdi + 0x18]
mov rbx, rdi
lea rcx, [rax + 0x58]
call fcn.140341618
mov rax, qword [rdi + 0x18]
and dword [rax + 0x40], 0xfffffffe
mov rax, qword [rdi + 0x18]
and dword [rax + 0x44], 0xfffffffe
mov rax, qword [rdi + 0x18]
lea rcx, [rax + 0x58]
call fcn.140341260
test rsi, rsi
je 0x14007f42b
movsxd r15, dword [rbp - 0x84]
test r15, r15
je 0x14007f50f
mov rax, qword [rdi + 0x18]
mov qword [rbp + 0x58], rsi
xor r14d, r14d
lea r12, [rbp - 0x80]
mov qword [rbp + 0x50], rbx
mov rbx, r15
mov r15d, dword [rbp - 0x98]
mov r13, 0xffffffffffffffff
lea rdi, [rax + 0x70]
nop
mov rsi, qword [rdi]
mov rcx, qword [rdi + 8]
cmp qword [rdi + 0x10], rbx
jne 0x14007f364
test rsi, rsi
je 0x14007f364
mov r8, rbx
mov rdx, r12
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x14007f516
mov rax, qword [rdi + 0x18]
cmp rax, r13
jae 0x14007f364
mov r15d, r14d
mov r13, rax
add r14d, 1
add rdi, 0x20
cmp r14d, 8
jne 0x14007f330
mov dword [rbp - 0x98], r15d
mov r15, rbx
mov rcx, r12
mov rbx, qword [rbp + 0x50]
mov rdx, r15
mov rsi, qword [rbp + 0x58]
call fcn.14007c920
movsxd r13, dword [rbp - 0x98]
mov r14, qword [rbx + 0x18]
mov rdi, rax
mov rax, r13
shl rax, 5
mov rcx, qword [r14 + rax + 0x70]
mov qword [rbp - 0x98], rax
test rcx, rcx
je 0x14007f3d2
call fcn.1400a9ff0
mov rax, qword [rbp - 0x98]
add rax, qword [rbx + 0x18]
mov rcx, qword [rax + 0x78]
call fcn.14034efb0
mov r14, qword [rbx + 0x18]
mov rcx, r12
mov rdx, r15
lea r12, [r13 + 4]
call fcn.1400e4b10
mov rdx, r13
shl r12, 5
mov rcx, rdi
shl rdx, 5
mov qword [r14 + rdx + 0x78], rax
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x98], rdx
add rax, r12
mov qword [rax], r15
mov r13, qword [rbx + 0x18]
call fcn.1400a9ca0
mov rdx, qword [rbp - 0x98]
mov qword [r13 + rdx + 0x70], rax
call fcn.1400d4a80
add r12, qword [rbx + 0x18]
mov qword [r12 + 8], rax
mov qword [rsi], rdi
cmp qword [rbp + 0x80], 0
je 0x14007f444
mov eax, dword [rbp - 0x8c]
mov rsi, qword [rbp + 0x80]
mov dword [rsi], eax
cmp qword [rbp + 0x70], 0
je 0x14007f456
mov rax, qword [rbp + 0x70]
mov qword [rax], 0
cmp qword [rbp + 0x78], 0
je 0x14007f467
mov rax, qword [rbp + 0x78]
mov dword [rax], 0
mov eax, dword [rbp - 0x88]
jmp 0x14007f09d
call fcn.1400e7370
test eax, eax
je 0x14007f261
call fcn.1400cb3d0
jmp 0x14007f261
call fcn.1400e7370
test eax, eax
je 0x14007f1c7
call fcn.1400cb3d0
jmp 0x14007f1c7
mov r8, rbx
mov edx, 0x18
mov ecx, eax
call fcn.1400cac00
mov rsi, qword [rbp + 0x98]
mov qword [rsi], rax
jmp 0x14007f096
mov rbx, qword [0x14048eee0]
mov ecx, dword [rbx]
test ecx, ecx
jne 0x14007f4e2
lea rcx, [0x14037c0b8]
call fcn.1400daa90
mov dword [rbx], eax
mov ecx, eax
mov rax, qword [rbp + 0x98]
cmp qword [rax], 0
je 0x14007f54c
mov r9, rsi
lea r8, [0x14037c4f0]
mov edx, 0x10
lea rcx, [0x14037c3ca]
call fcn.1400d2190
jmp 0x14007f096
xor edi, edi
jmp 0x14007f428
mov r13, rsi
mov rbx, qword [rbp + 0x50]
mov rsi, qword [rbp + 0x58]
mov rcx, r13
call fcn.1400a9ca0
mov rdi, rax
call fcn.1400d4a80
mov rdx, rax
movsxd rax, r14d
add rax, 4
shl rax, 5
add rax, qword [rbx + 0x18]
mov qword [rax + 8], rdx
jmp 0x14007f428
mov r8, rsi
mov edx, 0x1b
call fcn.1400cac00
mov rsi, qword [rbp + 0x98]
mov qword [rsi], rax
jmp 0x14007f096