Function at 0x140046760
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 0x140046cc8
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 [0x140055654]
movaps xmmword [rsp + 0xb0], xmm9
movss xmm9, dword [0x1400556b4]
movaps xmmword [rsp + 0xa0], xmm10
movss xmm10, dword [0x1400556f8]
movaps xmmword [rsp + 0x90], xmm11
movsd xmm11, qword [0x1400556f0]
movaps xmmword [rsp + 0x80], xmm12
movss xmm12, dword [0x140055b60]
movaps xmmword [rsp + 0x70], xmm13
movsd xmm13, qword [0x1400556e8]
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 0x1400468a1
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 0x1400468f2
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 0x140046943
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 0x140046972
comisd xmm11, xmm0
jbe 0x140046972
mov ecx, r14d
call fcn.140041050
cmp byte [0x1400618a0], r15b
jne 0x1400469bf
movss xmm0, dword [rbp - 0x69]
comiss xmm0, xmm9
jbe 0x140046992
comiss xmm6, xmm8
jbe 0x140046992
comiss xmm10, xmm6
ja 0x1400469b0
mov rcx, qword [0x1400618b0]
mov edx, 0x43
call fcn.140001c50
test al, al
jne 0x140046850
jmp 0x140046c65
movss dword [0x1400618a4], xmm7
mov byte [0x1400618a0], dil
mov ecx, r14d
call fcn.140040dd0
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 0x140046a21
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 [0x1400556d0]
cvtps2pd xmm2, xmm0
comisd xmm1, xmm2
jbe 0x140046b8e
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 0x140046af8
lea rcx, [rbp - 0x69]
sub rbx, rdx
call fcn.1400026f0
mov rcx, qword [rbp - 0x69]
mov qword [rbp - 0x69], rcx
test rbx, rbx
je 0x140046acd
js 0x140046acd
imul r8, rbx, 0xf4240
mov rax, rsi
sub rax, r8
cmp rcx, rax
je 0x140046ac9
mov edx, edi
cmovl edx, r15d
test dl, dl
jns 0x140046ac9
lea rax, [r8 + rcx]
mov qword [rbp - 0x69], rax
jmp 0x140046acd
mov qword [rbp - 0x69], rsi
lea rcx, [rbp - 0x69]
call fcn.140008b20
lea rcx, [rbp - 0x69]
call fcn.1400026f0
mov ecx, 0xe0
call fcn.140040dd0
lea rcx, [rbp - 0x69]
call fcn.1400026f0
mov rax, qword [rbp - 0x69]
jmp 0x140046b13
mov ecx, 0xe0
call fcn.140040dd0
lea rcx, [rbp - 0x69]
call fcn.1400026f0
mov rax, qword [rbp - 0x69]
mov qword [rbp - 0x69], rax
movabs rdx, 0x7ffffffffff0bdbf
cmp rax, rdx
je 0x140046b38
mov ecx, edi
cmovl ecx, r15d
test cl, cl
jns 0x140046b38
add rax, 0xf4240
mov qword [rbp - 0x69], rax
jmp 0x140046b3c
mov qword [rbp - 0x69], rsi
lea rcx, [rbp - 0x69]
lea rbx, [rbp - 0x59]
call fcn.140008b20
mov ecx, r14d
call fcn.140041050
mov rcx, rbx
call fcn.1400026f0
mov rax, qword [rbp - 0x59]
movabs rcx, 0x7fffffffdc3cb9ff
cmp rax, rcx
je 0x140046b81
cmovl edi, r15d
test dil, dil
jns 0x140046b81
add rax, 0x23c34600
mov qword [rbp - 0x69], rax
jmp 0x140046b85
mov qword [rbp - 0x69], rsi
lea rcx, [rbp - 0x69]
call fcn.140008b20
and byte [0x140061310], 0xfe
cmp qword [0x140060ef8], 0
jbe 0x140046c5e
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.14004a5c0
add rsp, 0xf8
pop rsi
pop rbp
ret