Function at 0x14012bc80
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x450
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x14022c9f8]
xor rax, rsp
mov qword [rsp + 0x420], rax
mov r12d, r8d
mov r15d, edx
mov rdx, qword [0x14024cad8]
add rdx, 0x5f18
lea rcx, [rsp + 0xb0]
call fcn.140038820
nop
mov rdx, qword [0x14024cad8]
add rdx, 0x5fa1
lea rcx, [rsp + 0x220]
call fcn.140008370
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x1d0], xmm0
movups xmmword [rsp + 0x210], xmm0
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x1d0], eax
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0x1d4], eax
xor r13d, r13d
mov qword [rsp + 0x1d8], r13
movdqa xmmword [rsp + 0x1e0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x1f0], xmm1
movdqa xmmword [rsp + 0x200], xmm0
mov edx, r13d
mov qword [rsp + 0x210], rdx
mov qword [rsp + 0x218], r13
mov esi, r13d
movabs r11, 0xcbf29ce484222325
movabs r14, 0x100000001b3
nop word [rax + rax]
cmp esi, dword [rsp + 0xd8]
jge 0x14012bf4e
mov ebx, r13d
cmp ebx, dword [rsp + 0xdc]
jge 0x14012bf47
mov r8, qword [0x14024cad8]
mov r9d, dword [r8 + 0x5f40]
mov ecx, r9d
imul ecx, ebx
add ecx, esi
cmp ecx, 0xffffffff
jle 0x14012bdf3
mov rdi, qword [r8 + 0x5f4c]
mov rax, qword [r8 + 0x5f54]
sub rax, rdi
sar rax, 3
movsxd r10, ecx
cmp r10, rax
jae 0x14012bdf3
cmp esi, 0xffffffff
jle 0x14012bdf3
cmp esi, r9d
jge 0x14012bdf3
cmp ebx, 0xffffffff
jle 0x14012bdf3
cmp ebx, dword [r8 + 0x5f44]
jge 0x14012bdf3
mov rdi, qword [rdi + r10*8]
jmp 0x14012bdf6
mov rdi, r13
movzx r8d, word [rdi]
movzx r9d, r8b
xor r9, r11
imul r9, r14
mov eax, r8d
shr rax, 8
xor r9, rax
imul r9, r14
mov eax, r8d
shr rax, 0x10
xor r9, rax
imul r9, r14
mov eax, r8d
shr rax, 0x18
xor r9, rax
imul r9, r14
and r9, qword [0x140234af0]
add r9, r9
mov rax, qword [0x140234ad8]
mov rcx, qword [rax + r9*8 + 8]
cmp rcx, qword [0x140234ac8]
je 0x14012be61
mov rax, qword [rax + r9*8]
cmp r8d, dword [rcx + 0x10]
je 0x14012be64
cmp rcx, rax
jne 0x14012bf3e
mov rcx, r13
mov rax, qword [0x140234ac8]
test rcx, rcx
cmovne rax, rcx
movzx ecx, byte [rax + 0x78]
cmp cl, 3
jne 0x14012bef4
mov dword [rsp + 0x70], esi
mov dword [rsp + 0x74], ebx
mov rcx, qword [rsp + 0x70]
call fcn.140123250
test al, al
jne 0x14012bf25
mov rdx, qword [rsp + 0x210]
cmp byte [rdi + 6], al
jl 0x14012bf2d
mov eax, r13d
cmp word [rdi], r13w
setne al
cmp eax, 1
jne 0x14012bf2d
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x7c], ebx
cmp rdx, qword [rsp + 0x218]
je 0x14012bf13
mov rax, qword [rsp + 0x78]
mov qword [rdx], rax
mov rdx, qword [rsp + 0x210]
add rdx, 8
mov qword [rsp + 0x210], rdx
inc ebx
movabs r11, 0xcbf29ce484222325
jmp 0x14012bd90
test cl, cl
je 0x14012bf2d
cmp cl, 1
je 0x14012beb5
cmp cl, 2
je 0x14012bf2d
cmp cl, 4
jne 0x14012bea6
mov eax, r13d
cmp byte [rdi + 0xb], r13b
sete al
jmp 0x14012beb0
lea r8, [rsp + 0x78]
lea rcx, [rsp + 0x208]
call fcn.14001bac0
mov rdx, qword [rsp + 0x210]
inc ebx
movabs r11, 0xcbf29ce484222325
jmp 0x14012bd90
mov rcx, qword [rcx + 8]
jmp 0x14012be52
inc esi
jmp 0x14012bd80
lea rax, [rsp + 0x88]
mov qword [rsp + 0x70], rax
movdqa xmm0, xmmword [0x1401d3380]
movdqu xmmword [rsp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x88], xmm1
mov qword [rsp + 0x98], r13
mov edx, 4
lea rcx, [rsp + 0x88]
call fcn.140052170
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rax
lea rbx, [rax + 0x10]
mov qword [rsp + 0x98], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0xa0]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x90], rbx
movdqa xmm0, xmmword [0x1401d3360]
movdqu xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
mov qword [rsp + 0x40], r13
mov edx, 4
lea rcx, [rsp + 0x30]
call fcn.140052170
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
lea rbx, [rax + 0x10]
mov qword [rsp + 0x40], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x78]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x38], rbx
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x1d0]
call fcn.14012d750
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x1b0], xmm0
mov qword [rsp + 0x1c0], rax
mov rax, qword [0x14024cad8]
movss xmm0, dword [rax + 0x5ff5]
mulss xmm0, dword [0x1401d2590]
cvttss2si r9d, xmm0
movss xmm0, dword [rax + 0x5ff1]
mulss xmm0, dword [0x1401d2590]
cvttss2si r8d, xmm0
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r15d
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x1d0]
call fcn.14011a520
nop
mov byte [0x1402351bf], 1
mov rax, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
sub rax, rcx
sar rax, 3
test rax, rax
je 0x14012c475
mov r14d, dword [0x1402281b8]
mov byte [0x14024cab1], 1
mov dword [0x1402281b8], r13d
mov byte [0x1402351f7], 1
movzx r9d, byte [0x140234fb2]
xor r8d, r8d
mov rcx, qword [0x14024cad8]
mov edx, dword [rcx + 0x5fe1]
call fcn.14012d2e0
mov rbx, r13
mov r9, qword [rsp + 0x1b8]
mov rax, r9
mov r8, qword [rsp + 0x1b0]
sub rax, r8
sar rax, 3
test rax, rax
je 0x14012c25e
nop dword [rax + rax]
mov qword [rsp + 0x31], r13
mov word [rsp + 0x39], r13w
mov byte [rsp + 0x3b], 0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x50], r13
mov dword [rsp + 0x58], r13d
mov qword [rsp + 0x64], r13
mov byte [rsp + 0x30], 0
mov edx, dword [r8 + rbx*8]
mov eax, edx
shl eax, 5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm0
mov ecx, dword [r8 + rbx*8 + 4]
mov eax, ecx
shl eax, 5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x4c], xmm0
mov dword [rsp + 0x5c], edx
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x3c], reloc.WLDAP32.dll_Ordinal_32
mov rax, qword [0x14024cad8]
mov rsi, qword [rax + 0x10]
mov rdi, qword [rax + 8]
test rsi, rsi
je 0x14012c241
test rdi, rdi
je 0x14012c241
mov edx, 0x41
xor ecx, ecx
lea r8d, [rdx - 0x40]
call fcn.140012810
mov r8, qword [rax + 0x10]
mov dword [r8], 4
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [r8 + 4], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [r8 + 0x14], xmm1
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [r8 + 0x24], xmm0
movsd xmm1, qword [rsp + 0x60]
movsd qword [r8 + 0x34], xmm1
mov edx, dword [rsp + 0x68]
mov dword [r8 + 0x3c], edx
xor ecx, ecx
mov byte [r8 + 0x40], cl
mov r8, rax
xor edx, edx
mov rcx, rsi
call fcn.140013940
test eax, eax
je 0x14012c229
mov edx, eax
lea rcx, str._SERVER_:_Error_Sending_Packet__Code:__d_n
call fcn.14000c6b0
mov rcx, rdi
call fcn.140013de0
mov r9, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x1b0]
movsxd rax, dword [reloc.WS2_32.dll_htonl]
add rbx, rax
mov rax, r9
sub rax, r8
sar rax, 3
cmp rbx, rax
jb 0x14012c130
mov qword [rsp + 0x31], r13
mov word [rsp + 0x39], r13w
mov byte [rsp + 0x3b], 0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x50], r13
mov dword [rsp + 0x58], r13d
mov qword [rsp + 0x64], r13
mov byte [rsp + 0x30], 0
mov eax, r15d
shl eax, 5
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rsp + 0x48], xmm6
mov eax, r12d
shl eax, 5
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rsp + 0x4c], xmm7
mov dword [rsp + 0x5c], r15d
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x3c], reloc.WLDAP32.dll_Ordinal_32
mov rax, qword [0x14024cad8]
mov rdi, qword [rax + 0x10]
mov rbx, qword [rax + 8]
test rdi, rdi
je 0x14012c352
test rbx, rbx
je 0x14012c352
mov edx, 0x41
xor ecx, ecx
lea r8d, [rdx - 0x40]
call fcn.140012810
mov r8, qword [rax + 0x10]
mov dword [r8], 4
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [r8 + 4], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [r8 + 0x14], xmm1
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [r8 + 0x24], xmm0
movsd xmm1, qword [rsp + 0x60]
movsd qword [r8 + 0x34], xmm1
mov edx, dword [rsp + 0x68]
mov dword [r8 + 0x3c], edx
xor ecx, ecx
mov byte [r8 + 0x40], cl
mov r8, rax
xor edx, edx
mov rcx, rdi
call fcn.140013940
test eax, eax
je 0x14012c34a
mov edx, eax
lea rcx, str._SERVER_:_Error_Sending_Packet__Code:__d_n
call fcn.14000c6b0
mov rcx, rbx
call fcn.140013de0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 8
mov qword [rsp + 0x48], reloc.WS2_32.dll_ntohs
movabs rax, 0x736f507465536e4f
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x38], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x260]
call fcn.1400086a0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14012c3d3
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012c3ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14012c3ce
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401946c0
mov dword [rsp + 0x2a0], 3
movss dword [rsp + 0x2b0], xmm6
movss dword [rsp + 0x2b4], xmm7
mov dword [rsp + 0x20], 0xffffffff
mov rcx, qword [0x14024cad8]
mov r9d, dword [rcx + 0x5fe1]
lea r8, [rsp + 0x260]
mov dl, 1
call fcn.14012cca0
mov byte [0x1402351bf], 0
mov byte [0x14024cab1], 0
mov dword [0x1402281b8], r14d
mov byte [0x1402351f7], 0
movzx r9d, byte [0x140234fb2]
xor r8d, r8d
mov rcx, qword [0x14024cad8]
mov edx, dword [rcx + 0x5fe1]
call fcn.14012d2e0
nop
lea r9, [fcn.140008f60]
mov edx, 0x40
lea r8d, [rdx - 0x39]
lea rcx, [rsp + 0x260]
call fcn.1401945b4
nop
mov rcx, qword [rsp + 0x1b0]
test rcx, rcx
je 0x14012c4d2
mov rax, qword [rsp + 0x1c0]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012c4b9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14012c4b9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401946c0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x1b0], xmm0
mov qword [rsp + 0x1c0], r13
lea rcx, [rsp + 0x1d0]
call fcn.140119ec0
nop
mov rdx, qword [rsp + 0x238]
cmp rdx, 0x10
jb 0x14012c527
inc rdx
mov rcx, qword [rsp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012c521
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14012c521
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401946c0
nop
lea rcx, [rsp + 0xb0]
call fcn.14003c8d0
mov rcx, qword [rsp + 0x420]
xor rcx, rsp
call fcn.140194a30
lea r11, [rsp + 0x450]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret