Function at 0x14000a100
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x458]
sub rsp, 0x558
mov rax, qword [0x1400a31a0]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov edi, edx
mov rbx, rcx
mov qword [rbp - 0x60], r8
mov qword [rsp + 0x70], rcx
call fcn.14002c574
test eax, eax
jne 0x14000a4c2
lea rsi, [rbp + 0x4c0]
call fcn.1400011e0
mov rcx, qword [rax]
or rcx, 2
mov qword [rsp + 0x28], rsi
xor r12d, r12d
mov qword [rsp + 0x20], r12
mov r9, qword [rbp + 0x4b8]
mov r8d, 0x400
lea rdx, [rbp + 0x40]
call fcn.140054ec0
lea rcx, [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, [0x14008dc28]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r8d, eax
lea rdx, str._08x
lea rcx, [rbp + 0x20]
call fcn.14000fc50
lea eax, [rdi - 1]
cmp eax, 5
ja case.default.0x14000a1dc
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xa4cc]
add rcx, rdx
jmp rcx
lea rax, str.0_e_:___1
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], recvfrom
mov qword [rsp + 0x48], r12
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rbp - 0x60], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rbp - 0x50], xmm1
lea rax, [rbp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
mov r8d, 4
lea rdx, [rbp - 0x60]
mov rcx, qword [rbx + 0x50]
call fcn.140017c00
jmp case.default.0x14000a1dc
lea rax, str.0_i_:___1
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], recvfrom
mov qword [rsp + 0x48], r12
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rbp - 0x60], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rbp - 0x50], xmm1
lea rax, [rbp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
mov r8d, 2
lea rdx, [rbp - 0x60]
mov rcx, qword [rbx + 0x50]
call fcn.140017c00
jmp case.default.0x14000a1dc
lea rax, str.0_w_:___1
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], recvfrom
mov qword [rsp + 0x48], r12
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rbp - 0x60], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rbp - 0x50], xmm1
lea rax, [rbp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
mov r8d, 3
lea rdx, [rbp - 0x60]
mov rcx, qword [rbx + 0x50]
call fcn.140017c00
jmp case.default.0x14000a1dc
lea rax, str.0_h_:___1__2
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], socket
mov qword [rsp + 0x48], r12
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rbp - 0x70], xmm1
lea rax, [rbp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
lea rdx, [rbp - 0x80]
mov rcx, qword [rbx + 0x50]
call fcn.140017ef0
jmp case.default.0x14000a1dc
mov rdi, qword [rbx + 0x50]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
mov eax, dword [rdi + 0x40]
cmp eax, 2
setle r15b
movzx r14d, byte [rdi + 0xd8]
jle 0x14000a3d0
test r14b, r14b
je case.default.0x14000a1dc
lea rax, [rbp + 0x40]
mov qword [rbp - 0x60], rax
lea rcx, [rbp + 0x40]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r12b
jne 0x14000a3e3
mov qword [rbp - 0x58], rax
lea rcx, [rdi + 8]
cmp qword [rdi + 0x20], 0x10
jb 0x14000a3ff
mov rcx, qword [rdi + 8]
mov qword [rsp + 0x60], rcx
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x68], rax
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rbp - 0x40], xmm0
mov dword [rbp - 0x30], 2
call fcn.14002c8bc
mov qword [rbp - 0x28], rax
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x18
mov eax, dword [rcx + rsi]
mov r13d, recvfrom
test al, 1
jne 0x14000a456
or eax, 1
mov dword [rcx + rsi], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov eax, eax
mov qword [rsi + r13], rax
mov rax, qword [rsi + r13]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], r12
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbp - 8], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rbp + 8], xmm1
movups xmm0, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x10], xmm0
movzx r9d, r14b
movzx r8d, r15b
lea rdx, [rbp - 0x40]
mov rcx, rdi
call fcn.1400059f0
nop
mov rcx, rbx
call fcn.14002c598
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.14002dc40
add rsp, 0x558
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, eax
call fcn.14002cca4
int3