Function at 0x14001cab0
Capabilities:
Print debug messages
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rax, qword [0x140081048]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov r15, rdx
mov r14, rcx
xor r12d, r12d
mov rbx, qword [rcx + 0x30]
cmp rbx, 0xffffffffffffffff
jne 0x14001cbc4
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
lea r8d, [r12 + 0x38]
lea rdx, str._Error__UdpSocket::Server::Start____Socket_is_not_valid.
lea rcx, [rsp + 0x30]
call fcn.140001990
nop
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
call fcn.140010c40
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140010910
movzx edx, ax
mov rcx, rbx
call fcn.140010760
mov rcx, rbx
call fcn.140010600
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x14001d261
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d25c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d291
jmp 0x14001d25c
mov dword [rbp], sendto
xor edx, edx
mov r8d, 0x190
lea rcx, [rbp + 0x20]
call fcn.140027e60
lea rax, [rbp]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x190
lea rdx, [rbp + 0x20]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_recvfrom]
movabs r13, 0x1000000000000000
cmp eax, 0xffffffff
mov ebx, eax
je 0x14001d172
movabs r9, 0x4000000000000004
lea r8, str._Error__UdpSocket::Server::Start____Bytes_recv____differs_from_message_header___
lea rdx, str._Error__UdpSocket::Server::Start____Bytes_recv____is_less_than_a_message_header
movabs rcx, 0x2000000000000004
lea rax, str._Error__UdpSocket::Server::Start____Bytes_recv____exceeds_max___
cmp ebx, 0x190
jbe 0x14001cd4c
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0x44
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x44], 0x190
mov qword [rsp + 0x38], rcx
mov qword [rbp - 0x40], 2
lea rax, [rsp + 0x30]
mov qword [rbp - 0x38], rax
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rsp + 0x70], xmm0
movaps xmm1, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x80], xmm1
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x50]
call fcn.140002ad0
nop
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
call fcn.140010c40
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140010910
movzx edx, ax
mov rcx, rbx
call fcn.140010760
mov rcx, rbx
call fcn.140010600
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14001d133
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d12e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d297
jmp 0x14001d12e
movsxd rdi, ebx
cmp rdi, 4
jae 0x14001ce47
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x68], 0x51
mov dword [rbp - 0x18], ebx
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x10], 1
lea rax, [rbp - 0x20]
mov qword [rbp - 8], rax
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm1, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x50]
call fcn.140002ad0
nop
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
call fcn.140010c40
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140010910
movzx edx, ax
mov rcx, rbx
call fcn.140010760
mov rcx, rbx
call fcn.140010600
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14001d133
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d12e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d29d
jmp 0x14001d12e
movzx eax, word [rbp + 0x22]
add rax, 4
cmp rdi, rax
je 0x14001cf53
mov qword [rbp - 0x50], r8
mov qword [rbp - 0x48], 0x54
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x44], rax
mov qword [rsp + 0x38], r9
mov qword [rbp - 0x60], 2
lea rax, [rsp + 0x30]
mov qword [rbp - 0x58], rax
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm1, xmmword [rbp - 0x50]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x50]
call fcn.140002ad0
nop
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
call fcn.140010c40
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140010910
movzx edx, ax
mov rcx, rbx
call fcn.140010760
mov rcx, rbx
call fcn.140010600
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14001d133
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d12e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d2a3
jmp 0x14001d12e
mov ecx, sendto
call fcn.14002585c
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov rcx, rdi
call fcn.14002c5d8
mov qword [rsi], rax
test rax, rax
jne 0x14001d046
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
lea r8d, [rax + 0x51]
lea rdx, str._Error__UdpSocket::Server::Start____Failed_to_allocate_memory_for_context_buffer.
lea rcx, [rsp + 0x30]
call fcn.140001990
nop
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
call fcn.140010c40
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140010910
movzx edx, ax
mov rcx, rbx
call fcn.140010760
mov rcx, rbx
call fcn.140010600
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x14001d133
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d12e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d2a9
jmp 0x14001d12e
mov r8, rdi
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.1400277a0
mov dword [rsi + 8], ebx
xor r8d, r8d
mov rdx, rsi
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TrySubmitThreadpoolCallback]
test eax, eax
jne 0x14001d133
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
lea r8d, [rax + 0x47]
lea rdx, str._Error__UdpSocket::Server::Start____Failed_sending_message_to_callback.
lea rcx, [rsp + 0x30]
call fcn.140001990
nop
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
call fcn.140010c40
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140010910
movzx edx, ax
mov rcx, rbx
call fcn.140010760
mov rcx, rbx
call fcn.140010600
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x14001d133
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d12e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d2af
call fcn.140025820
xor edx, edx
mov r8d, 0x190
lea rcx, [rbp + 0x20]
call fcn.140027e60
lea rax, [rbp]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x190
lea rdx, [rbp + 0x20]
mov rcx, qword [r14 + 0x30]
call qword [sym.imp.WS2_32.dll_recvfrom]
jmp 0x14001cc0e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rcx, str._Error__UdpSocket::Server::Start_____recvfrom_____
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], 0x34
mov dword [rbp - 0x48], eax
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x60], 1
lea rax, [rbp - 0x50]
mov qword [rbp - 0x58], rax
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm1, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x50]
call fcn.140002ad0
nop
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
call fcn.140010c40
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140010910
movzx edx, ax
mov rcx, rbx
call fcn.140010760
mov rcx, rbx
call fcn.140010600
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14001d261
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d25c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d28b
call fcn.140025820
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.140025800
mov rbx, qword [rsp + 0x310]
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14002c134
int3
call fcn.14002c134
int3
call fcn.14002c134
int3
call fcn.14002c134
int3
call fcn.14002c134
int3
call fcn.14002c134
int3
call fcn.14002c134
int3