Function at 0x140046710
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x4f]
sub rsp, 0xf8
mov rax, qword [0x140060040]
xor rax, rsp
mov qword [rbp - 0x49], rax
mov rcx, qword [0x1400618b0]
mov edx, 0x43
mov rsi, qword [0x1400617d0]
call fcn.140001c50
test al, al
je 0x140046c78
mov qword [rsp + 0x110], rbx
mov qword [rsp + 0x118], rdi
mov edi, 1
mov qword [rsp + 0x120], r14
mov r14d, 0x2c
mov qword [rsp + 0xf0], r15
xor r15d, r15d
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm7
movaps xmmword [rsp + 0xc0], xmm8
movss xmm8, dword [0x140055694]
movaps xmmword [rsp + 0xb0], xmm9
movss xmm9, dword [0x1400556f4]
movaps xmmword [rsp + 0xa0], xmm10
movss xmm10, dword [0x140055738]
movaps xmmword [rsp + 0x90], xmm11
movsd xmm11, qword [0x140055730]
movaps xmmword [rsp + 0x80], xmm12
movss xmm12, dword [0x140055ba0]
movaps xmmword [rsp + 0x70], xmm13
movsd xmm13, qword [0x140055728]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi]
lea r9, [rbp - 0x59]
mov edx, dword [0x140060150]
mov rcx, qword [0x1400618c8]
mov qword [rsp + 0x30], rdi
mov rbx, qword [rax]
mov qword [rsp + 0x28], r15
mov dword [rbp - 0x59], r15d
mov dword [rsp + 0x20], 4
lea r8, [rbx + 0x2088]
call qword [sym.imp.VMM.dll_VMMDLL_MemReadEx]
test eax, eax
jne 0x140046851
lea rdx, [rbx + 0x2088]
lea rcx, str.____Failed_to_read_Memory_at_0x_p_n
call fcn.140001e80
mov rax, qword [rsi]
lea r9, [rbp - 0x61]
mov edx, dword [0x140060150]
mov rcx, qword [0x1400618c8]
mov qword [rsp + 0x30], rdi
mov rbx, qword [rax]
mov qword [rsp + 0x28], r15
mov dword [rbp - 0x61], r15d
mov dword [rsp + 0x20], 4
lea r8, [rbx + 0x2b70]
call qword [sym.imp.VMM.dll_VMMDLL_MemReadEx]
test eax, eax
jne 0x1400468a2
lea rdx, [rbx + 0x2b70]
lea rcx, str.____Failed_to_read_Memory_at_0x_p_n
call fcn.140001e80
mov rax, qword [rsi]
lea r9, [rbp - 0x69]
mov edx, dword [0x140060150]
mov rcx, qword [0x1400618c8]
mov qword [rsp + 0x30], rdi
mov rbx, qword [rax]
mov qword [rsp + 0x28], r15
mov dword [rbp - 0x69], r15d
mov dword [rsp + 0x20], 4
lea r8, [rbx + 0x2b6c]
call qword [sym.imp.VMM.dll_VMMDLL_MemReadEx]
test eax, eax
jne 0x1400468f3
lea rdx, [rbx + 0x2b6c]
lea rcx, str.____Failed_to_read_Memory_at_0x_p_n
call fcn.140001e80
movss xmm6, dword [rbp - 0x61]
xorps xmm0, xmm0
movss xmm7, dword [rbp - 0x59]
subss xmm6, xmm7
xorps xmm6, xmm12
cvtss2sd xmm0, xmm6
comisd xmm0, xmm13
jbe 0x140046922
comisd xmm11, xmm0
jbe 0x140046922
mov ecx, r14d
call fcn.140041050
cmp byte [0x1400618a0], r15b
jne 0x14004696f
movss xmm0, dword [rbp - 0x69]
comiss xmm0, xmm9
jbe 0x140046942
comiss xmm6, xmm8
jbe 0x140046942
comiss xmm10, xmm6
ja 0x140046960
mov rcx, qword [0x1400618b0]
mov edx, 0x43
call fcn.140001c50
test al, al
jne 0x140046800
jmp 0x140046c15
movss dword [0x1400618a4], xmm7
mov byte [0x1400618a0], dil
mov ecx, r14d
call fcn.140040df0
lea rcx, [rbp - 0x59]
call fcn.1400026f0
mov rax, qword [rsi]
lea r9, [rbp - 0x69]
mov edx, dword [0x140060150]
mov rcx, qword [0x1400618c8]
mov qword [rsp + 0x30], rdi
mov rbx, qword [rax]
mov qword [rsp + 0x28], r15
mov dword [rbp - 0x69], r15d
mov dword [rsp + 0x20], 4
lea r8, [rbx + 0x2088]
call qword [sym.imp.VMM.dll_VMMDLL_MemReadEx]
test eax, eax
jne 0x1400469d1
lea rdx, [rbx + 0x2088]
lea rcx, str.____Failed_to_read_Memory_at_0x_p_n
call fcn.140001e80
movss xmm0, dword [rbp - 0x69]
subss xmm0, dword [0x1400618a4]
movsd xmm1, qword [0x140055710]
cvtps2pd xmm2, xmm0
comisd xmm1, xmm2
jbe 0x140046b3e
lea rcx, [rbp - 0x69]
call fcn.1400026f0
movsxd rbx, dword [rsi + 8]
movabs rax, 0x431bde82d7b634db
mov rcx, qword [rbp - 0x69]
movabs rsi, 0x7fffffffffffffff
sub rcx, qword [rbp - 0x59]
mov r15d, 0xff
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, rbx
jge 0x140046aa8
lea rcx, [rbp - 0x69]
sub rbx, rdx
call fcn.1400026f0
mov rcx, qword [rbp - 0x69]
mov qword [rbp - 0x69], rcx
test rbx, rbx
je 0x140046a7d
js 0x140046a7d
imul r8, rbx, 0xf4240
mov rax, rsi
sub rax, r8
cmp rcx, rax
je 0x140046a79
mov edx, edi
cmovl edx, r15d
test dl, dl
jns 0x140046a79
lea rax, [r8 + rcx]
mov qword [rbp - 0x69], rax
jmp 0x140046a7d
mov qword [rbp - 0x69], rsi
lea rcx, [rbp - 0x69]
call fcn.140008b50
lea rcx, [rbp - 0x69]
call fcn.1400026f0
mov ecx, 0xe0
call fcn.140040df0
lea rcx, [rbp - 0x69]
call fcn.1400026f0
mov rax, qword [rbp - 0x69]
jmp 0x140046ac3
mov ecx, 0xe0
call fcn.140040df0
lea rcx, [rbp - 0x69]
call fcn.1400026f0
mov rax, qword [rbp - 0x69]
mov qword [rbp - 0x69], rax
movabs rdx, 0x7ffffffffff0bdbf
cmp rax, rdx
je 0x140046ae8
mov ecx, edi
cmovl ecx, r15d
test cl, cl
jns 0x140046ae8
add rax, 0xf4240
mov qword [rbp - 0x69], rax
jmp 0x140046aec
mov qword [rbp - 0x69], rsi
lea rcx, [rbp - 0x69]
lea rbx, [rbp - 0x59]
call fcn.140008b50
mov ecx, r14d
call fcn.140041050
mov rcx, rbx
call fcn.1400026f0
mov rax, qword [rbp - 0x59]
movabs rcx, 0x7fffffffdc3cb9ff
cmp rax, rcx
je 0x140046b31
cmovl edi, r15d
test dil, dil
jns 0x140046b31
add rax, 0x23c34600
mov qword [rbp - 0x69], rax
jmp 0x140046b35
mov qword [rbp - 0x69], rsi
lea rcx, [rbp - 0x69]
call fcn.140008b50
and byte [0x140061310], 0xfe
cmp qword [0x140060ef8], 0
jbe 0x140046c0e
inc dword [0x140060f08]
mov dword [0x140060f0c], 0x123c2c2f
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsd xmm0, qword [0x140061311]
lea rdx, [0x140060f00]
mov rcx, qword [0x140060ef8]
xor r9d, r9d
mov dword [0x140060f04], eax
mov r8d, 0x1c
movzx eax, byte [0x140061310]
mov byte [0x140060f10], al
movzx eax, word [0x140061319]
mov word [0x140060f19], ax
movzx eax, byte [0x14006131b]
mov byte [0x140060f1b], al
lea rax, [0x140061740]
mov dword [rsp + 0x28], recvfrom
mov qword [rsp + 0x20], rax
movsd qword [0x140060f11], xmm0
call qword [sym.imp.WS2_32.dll_sendto]
mov rcx, qword [0x140060ef8]
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
lea rdx, [0x140061320]
lea rax, [rbp - 0x59]
mov dword [rbp - 0x69], recvfrom
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8d, 0x400
call qword [sym.imp.WS2_32.dll_recvfrom]
mov byte [0x1400618a0], 0
movaps xmm12, xmmword [rsp + 0x80]
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
mov r15, qword [rsp + 0xf0]
mov r14, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x110]
movaps xmm13, xmmword [rsp + 0x70]
mov rcx, qword [rbp - 0x49]
xor rcx, rsp
call fcn.14004a5e0
add rsp, 0xf8
pop rsi
pop rbp
ret