Function at 0x140019110
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x320
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1400ad040]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov r14, rdx
mov qword [rbp - 0x80], rdx
mov r15, rcx
mov qword [rsp + 0x58], rcx
mov qword [rbp + 0xf0], rdx
movss xmm0, dword [0x1400af338]
movss dword [rbp + 0x160], xmm0
movss xmm1, dword [0x1400af33c]
movss dword [rbp + 0x164], xmm1
movss xmm0, dword [0x1400af340]
movss dword [rbp + 0x168], xmm0
mov dword [rbp + 0x16c], 0x3f800000
movss xmm0, dword [0x1400af358]
movss dword [rbp + 0x110], xmm0
movss xmm1, dword [0x1400af35c]
movss dword [rbp + 0x114], xmm1
movss xmm0, dword [0x1400af360]
movss dword [rbp + 0x118], xmm0
mov dword [rbp + 0x11c], 0x3f800000
xorps xmm0, xmm0
lea rax, [rdx + 0xd8]
lea rcx, [rdx + 0xe4]
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rcx
add rdx, 0xf0
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rdx
lea rax, [r14 + 0xfc]
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x48], rax
lea r8, [r14 + 0x150]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], r8
lea rax, [r14 + 0x108]
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], rax
lea rcx, [r14 + 0x120]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rcx
lea rax, [r14 + 0x138]
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rax
lea rax, [r14 + 0x114]
mov qword [rbp], rdx
mov qword [rbp + 8], rax
lea rcx, [r14 + 0x12c]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rcx
lea rax, [r14 + 0x144]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rax
lea rax, [r14 + 0x168]
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], rax
lea rcx, [r14 + 0x174]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rcx
lea rax, [r14 + 0x18c]
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x58], rax
lea rax, [r14 + 0x15c]
mov qword [rbp + 0x60], r8
mov qword [rbp + 0x68], rax
lea rcx, [r14 + 0x180]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rcx
lea rax, [r14 + 0x198]
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rax
lea rdi, [rbp - 0x70]
movdqu xmmword [rbp + 0xf8], xmm0
xor esi, esi
mov qword [rbp + 0x108], rsi
mov ecx, 0x100
call fcn.14006ecb0
mov rbx, rax
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x100], rax
lea rcx, [rax + 0x100]
mov qword [rbp + 0x108], rcx
mov r8d, 0x100
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + 0x100]
mov qword [rbp + 0x100], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
mov dword [rbp + 0x120], esi
mov qword [rbp + 0x128], rsi
mov qword [rbp + 0x130], rsi
mov ecx, 0x18
call fcn.14006ecb0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x138], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], 7
mov qword [rbp + 0x158], 8
mov dword [rbp + 0x120], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp + 0x138]
call fcn.140019fb0
nop
mov rax, qword [rbp + 0x100]
mov rdi, qword [rbp + 0xf8]
cmp rdi, rax
je 0x140019b36
add rdi, 0xa
movss xmm10, dword [0x14009dbdc]
mov r14, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm14, eax
cvtdq2ps xmm14, xmm14
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm15, eax
cvtdq2ps xmm15, xmm15
movaps xmm5, xmmword [r15]
movaps xmm6, xmmword [r15 + 0x10]
movaps xmm7, xmmword [r15 + 0x30]
mov rbx, qword [rdi - 0xa]
mov rsi, rbx
shr rsi, 0x38
mov r12, rbx
shr r12, 0x30
mov r13, rbx
shr r13, 0x28
mov rax, rbx
shr rax, 0x20
mov qword [rsp + 0x78], rax
mov rax, rbx
shr rax, 0x18
mov qword [rsp + 0x70], rax
mov rax, rbx
shr rax, 0x10
mov qword [rsp + 0x68], rax
mov rax, rbx
shr rax, 8
mov qword [rsp + 0x60], rax
movss xmm3, dword [rbx + 4]
movss xmm8, dword [rbx]
movss xmm4, dword [rbx + 8]
movaps xmm9, xmm8
mulss xmm9, xmm5
movaps xmm1, xmm3
movaps xmm0, xmm5
shufps xmm0, xmm5, 0x55
mulss xmm1, xmm0
addss xmm9, xmm1
movaps xmm2, xmm4
movaps xmm0, xmm5
shufps xmm0, xmm5, 0xaa
mulss xmm2, xmm0
addss xmm9, xmm2
shufps xmm5, xmm5, 0xff
addss xmm9, xmm5
movaps xmm5, xmm8
mulss xmm5, xmm6
movaps xmm1, xmm3
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
mulss xmm1, xmm0
addss xmm5, xmm1
movaps xmm2, xmm4
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xaa
mulss xmm2, xmm0
addss xmm5, xmm2
shufps xmm6, xmm6, 0xff
addss xmm5, xmm6
mulss xmm8, xmm7
movaps xmm0, xmm7
shufps xmm0, xmm7, 0x55
mulss xmm3, xmm0
addss xmm8, xmm3
movaps xmm0, xmm7
shufps xmm0, xmm7, 0xaa
mulss xmm4, xmm0
addss xmm8, xmm4
shufps xmm7, xmm7, 0xff
addss xmm8, xmm7
movaps xmm12, xmm14
mulss xmm12, xmm10
movaps xmm11, xmm15
mulss xmm11, xmm10
movss xmm0, dword [0x14009db88]
comiss xmm0, xmm8
ja 0x140019b1f
movss xmm1, dword [0x14009dc10]
divss xmm1, xmm8
mulss xmm9, xmm1
mulss xmm9, xmm10
mulss xmm9, xmm14
addss xmm9, xmm10
addss xmm9, xmm12
mulss xmm1, xmm5
mulss xmm1, xmm10
mulss xmm1, xmm15
addss xmm1, xmm10
movaps xmm6, xmm11
subss xmm6, xmm1
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movaps xmm9, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movaps xmm8, xmm0
movaps xmm3, xmmword [r15]
movaps xmm4, xmmword [r15 + 0x10]
movaps xmm7, xmmword [r15 + 0x30]
mov rax, qword [rdi - 2]
movss xmm5, dword [rax + 4]
movss xmm13, dword [rax]
movss xmm6, dword [rax + 8]
movaps xmm2, xmm13
mulss xmm2, xmm3
movaps xmm1, xmm5
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
mulss xmm1, xmm0
addss xmm2, xmm1
movss dword [rsp + 0x30], xmm2
movaps xmm2, xmm6
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xaa
mulss xmm2, xmm0
movss xmm0, dword [rsp + 0x30]
addss xmm0, xmm2
shufps xmm3, xmm3, 0xff
addss xmm0, xmm3
movss dword [rsp + 0x30], xmm0
movaps xmm3, xmm13
mulss xmm3, xmm4
movaps xmm1, xmm5
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
mulss xmm1, xmm0
addss xmm3, xmm1
movaps xmm2, xmm6
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xaa
mulss xmm2, xmm0
addss xmm3, xmm2
shufps xmm4, xmm4, 0xff
addss xmm3, xmm4
mulss xmm13, xmm7
movaps xmm0, xmm7
shufps xmm0, xmm7, 0x55
mulss xmm5, xmm0
addss xmm13, xmm5
movaps xmm0, xmm7
shufps xmm0, xmm7, 0xaa
mulss xmm6, xmm0
addss xmm13, xmm6
shufps xmm7, xmm7, 0xff
addss xmm13, xmm7
movss xmm0, dword [0x14009db88]
comiss xmm0, xmm13
ja 0x140019b1a
movss xmm1, dword [0x14009dc10]
divss xmm1, xmm13
movaps xmm0, xmm1
mulss xmm0, dword [rsp + 0x30]
mulss xmm0, xmm10
mulss xmm0, xmm14
addss xmm0, xmm10
addss xmm0, xmm12
mulss xmm1, xmm3
mulss xmm1, xmm10
mulss xmm1, xmm15
addss xmm1, xmm10
subss xmm11, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movaps xmm6, xmm0
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movaps xmm7, xmm0
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r10, 0x100000001b3
imul rcx, r10
movzx eax, byte [rsp + 0x60]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rsp + 0x68]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rsp + 0x70]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rsp + 0x78]
xor rcx, rax
imul rcx, r10
movzx eax, r13b
xor rcx, rax
imul rcx, r10
movzx eax, r12b
xor rcx, rax
imul rcx, r10
xor rcx, rsi
imul rcx, r10
mov rdx, qword [rbp + 0x150]
mov rax, rdx
and rax, rcx
add rax, rax
mov r9, qword [rbp + 0x138]
mov rcx, qword [r9 + rax*8 + 8]
mov r8, qword [rbp + 0x128]
cmp rcx, r8
je 0x1400197a8
mov rax, qword [r9 + rax*8]
cmp rbx, qword [rcx + 0x10]
je 0x1400197aa
cmp rcx, rax
je 0x1400197a8
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x140019797
jmp 0x1400197aa
xor ecx, ecx
mov rax, r8
test rcx, rcx
cmovne rax, rcx
cmp rax, r8
jne 0x1400198f5
cmp byte [0x1400af354], 0
je 0x1400198f5
mov rax, qword [0x1400ae6b8]
mov rax, qword [rax + 0x4b18]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14002e440
mov rbx, rax
lea rcx, [rbp + 0x110]
call fcn.14002ae30
mov esi, eax
movd xmm0, dword [0x1400af5f4]
cvtdq2ps xmm0, xmm0
mov ecx, 1
movss xmm13, dword [0x14009dc54]
comiss xmm0, xmm13
mov r12d, 3
cmova ecx, r12d
movss xmm12, dword [0x14009dc7c]
comiss xmm0, xmm12
mov r13d, 4
cmova ecx, r13d
movss xmm11, dword [0x14009dc10]
comiss xmm11, xmm0
mov eax, 2
cmova ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss xmm14, dword [0x14009dc6c]
movaps xmm2, xmm14
subss xmm2, xmm0
movss dword [rsp + 0x40], xmm9
movss dword [rsp + 0x44], xmm8
test esi, 0xff000000
je 0x1400198bd
comiss xmm10, xmm2
ja 0x1400198bd
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.14004c770
mov r8d, dword [rbx + 0x78]
dec r8d
mov dword [rbx + 0x78], r8d
mov r9d, esi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.14004c1e0
mov dword [rbx + 0x78], 0
lea r8, [rdi - 0xa]
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x120]
call fcn.14001b750
mov rdx, qword [rbp + 0x150]
mov r9, qword [rbp + 0x138]
mov r8, qword [rbp + 0x128]
movabs r10, 0x100000001b3
jmp 0x140019925
mov r13d, 4
mov r12d, 3
movss xmm14, dword [0x14009dc6c]
movss xmm12, dword [0x14009dc7c]
movss xmm13, dword [0x14009dc54]
movss xmm11, dword [0x14009dc10]
movzx ecx, byte [rdi - 2]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, r10
movzx eax, byte [rdi - 1]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rdi]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rdi + 1]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rdi + 2]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rdi + 3]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rdi + 4]
xor rcx, rax
imul rcx, r10
movzx eax, byte [rdi + 5]
xor rcx, rax
imul rcx, r10
and rdx, rcx
add rdx, rdx
mov rcx, qword [r9 + rdx*8 + 8]
cmp rcx, r8
je 0x1400199b5
mov r9, qword [r9 + rdx*8]
mov rax, qword [rdi - 2]
cmp rax, qword [rcx + 0x10]
je 0x1400199b7
cmp rcx, r9
je 0x1400199b5
mov rcx, qword [rcx + 8]
cmp rax, qword [rcx + 0x10]
jne 0x1400199a4
jmp 0x1400199b7
xor ecx, ecx
mov rax, r8
test rcx, rcx
cmovne rax, rcx
cmp rax, r8
jne 0x140019aaf
cmp byte [0x1400af354], 0
je 0x140019aaf
mov rax, qword [0x1400ae6b8]
mov rax, qword [rax + 0x4b18]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14002e440
mov rbx, rax
lea rcx, [rbp + 0x110]
call fcn.14002ae30
mov esi, eax
movd xmm0, dword [0x1400af5f4]
cvtdq2ps xmm0, xmm0
mov ecx, 1
comiss xmm0, xmm13
cmova ecx, r12d
comiss xmm0, xmm12
cmova ecx, r13d
comiss xmm11, xmm0
mov eax, 2
cmova ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movaps xmm2, xmm14
subss xmm2, xmm0
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm7
test esi, 0xff000000
je 0x140019a98
comiss xmm10, xmm2
ja 0x140019a98
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.14004c770
mov r8d, dword [rbx + 0x78]
dec r8d
mov dword [rbx + 0x78], r8d
mov r9d, esi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.14004c1e0
mov dword [rbx + 0x78], 0
lea r8, [rdi - 2]
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x120]
call fcn.14001b750
mov rax, qword [0x1400ae6b8]
mov rax, qword [rax + 0x4b18]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14002e440
mov r10, rax
lea rcx, [rbp + 0x160]
call fcn.14002ae30
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm7
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x3c], xmm8
movss xmm0, dword [0x14009dc1c]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x38]
mov rcx, r10
call fcn.14004d4a0
mov r15, qword [rsp + 0x58]
add rdi, 0x10
lea rax, [rdi - 0xa]
cmp rax, r14
jne 0x140019426
mov r14, qword [rbp - 0x80]
xor esi, esi
lea rcx, [rbp + 0x120]
call fcn.140019c20
nop
mov rcx, qword [rbp + 0xf8]
test rcx, rcx
je 0x140019b9c
mov rdx, qword [rbp + 0x108]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019b85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140019b85
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006ef34
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf8], xmm0
mov qword [rbp + 0x108], rsi
mov rcx, r14
call fcn.14000c8d0
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.14006ec90
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret