Function at 0x1806f8de0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x6a8]
sub rsp, 0x780
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm12
mov rax, qword [0x1808fed40]
xor rax, rsp
mov qword [rbp + 0x620], rax
mov rsi, rcx
mov dword [rsp + 0x58], 0x420c0000
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x5c], 0x42c80000
call fcn.180601730
mov rax, qword [rsi + 8]
lea rdx, [rsp + 0x60]
movabs r13, 0x388b0715b2cd0085
lea rcx, [rbp + 0x330]
movabs r12, 0xac622a82b9d8fb2
xor r9d, r9d
xor r8d, r8d
movss xmm0, dword [rax + 0x70]
movss xmm1, dword [rax + 0x74]
movabs rax, 0x4afe7374d7ab23a6
subss xmm0, dword [0x18074ba5c]
subss xmm1, dword [0x18073ff04]
subss xmm0, dword [0x18074ba68]
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x60], xmm0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x330], rax
movabs rax, 0xaa24ec143fefcd7
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x338], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xe0], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x330]
mov qword [rbp + 0xe8], rax
xorps xmm0, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x330], xmm0
call fcn.1805efb20
mov rax, qword [rsi + 8]
lea rdx, [rbp + 0x148]
movss xmm9, dword [0x18073fe90]
mov ecx, 3
movss xmm10, dword [0x180742448]
mov qword [rbp - 0x48], rsi
movss xmm0, dword [rax + 0x70]
lea rax, [rsp + 0x50]
subss xmm0, dword [0x18074ba5c]
mov qword [rbp - 0x50], rax
lea rax, [rsp + 0x54]
mov qword [rbp + 0xf0], rax
lea rax, [rsp + 0x50]
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x100], rsi
subss xmm0, dword [0x18074ba68]
movss dword [rsp + 0x50], xmm0
mulss xmm0, xmm9
subss xmm0, xmm10
subss xmm0, dword [0x18073fefc]
movss dword [rsp + 0x54], xmm0
movaps xmm0, xmmword [0x18074ba00]
movups xmmword [rbp + 0x148], xmm0
call fcn.1805fdba0
movss xmm1, dword [0x18073fef0]
mov ecx, 7
call fcn.1805fdc90
movss xmm0, dword [rsp + 0x50]
movabs rax, 0x56e47774d7ba23a6
mov dword [rsp + 0x6c], 0x438e8000
mulss xmm0, xmm9
subss xmm0, xmm10
movss dword [rsp + 0x68], xmm0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x340], rax
movabs rax, 0xac622a82b9de7d1
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x348], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x30], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x68]
movdqa xmm0, xmmword [rbp + 0x340]
lea rcx, [rbp + 0x340]
mov qword [rbp - 0x28], rax
xor r9d, r9d
xorps xmm0, xmmword [rbp - 0x30]
xor r8d, r8d
movdqa xmmword [rbp + 0x340], xmm0
call fcn.1805efb20
mov rbx, qword [rsi + 8]
lea rdx, [rbp + 0x490]
movabs r14, 0x27de8112f64ec8bc
lea rcx, [rbp + 0x228]
movabs rdi, 0x67f8697cc2bd6ff5
movabs r15, 0x10bc727798e47c7
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x490], rax
movabs rax, 0x38b443c45efaeac0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x498], rax
movabs rax, 0x10bc727798e47f7
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x4a0], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x4a8], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x500], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x508], rax
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x510], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x490]
movdqa xmm1, xmmword [rbp + 0x4a0]
xorps xmm0, xmmword [rbp + 0x500]
mov qword [rbp + 0x518], rax
xorps xmm1, xmmword [rbp + 0x510]
movdqa xmmword [rbp + 0x4a0], xmm1
movdqa xmmword [rbp + 0x490], xmm0
call fcn.18063c540
mov rdx, rax
mov rcx, rbx
call fcn.1806b8b30
mov rcx, rax
call fcn.1805fd760
movss xmm12, dword [0x18073ff28]
lea rdx, [rbp + 0x350]
movabs rax, 0x42e26a7ac6be75c6
movss dword [rsp + 0x20], xmm12
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x48]
mov rax, qword [rsp + 0x40]
xor r9d, r9d
mov qword [rbp + 0x350], rax
xor r8d, r8d
movabs rax, 0xac622c644f4fbd3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x358], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x20], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x350]
mov qword [rbp - 0x18], rax
xorps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp + 0x350], xmm0
call fcn.1805f0c20
movss xmm1, dword [rsp + 0x50]
mulss xmm1, xmm9
subss xmm1, xmm10
movss xmm0, dword [rsp + 0x48]
lea rcx, [rsp + 0x70]
mulss xmm0, xmm9
mov dword [rsp + 0x74], 0x40f00000
mulss xmm1, xmm9
subss xmm1, xmm0
movss dword [rsp + 0x70], xmm1
call fcn.180601730
movabs rax, 0x388b697ac2ac65d2
lea rcx, [rbp + 0x360]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x360], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x368], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x10], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x360]
mov qword [rbp - 8], rax
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp + 0x360], xmm0
call fcn.180634fc0
call fcn.180634ae0
call fcn.1805fd2c0
mov rbx, qword [rsi + 8]
lea rdx, [rbp + 0x4b0]
mov qword [rsp + 0x40], rdi
lea rcx, [rbp + 0x248]
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x4b0], rax
movabs rax, 0x38b443c45efaeac0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x4b8], rax
movabs rax, 0x10bc72779bb69f5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x4c0], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x4c8], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x600], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x608], rax
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x610], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x4b0]
movdqa xmm1, xmmword [rbp + 0x4c0]
xorps xmm0, xmmword [rbp + 0x600]
mov qword [rbp + 0x618], rax
xorps xmm1, xmmword [rbp + 0x610]
movdqa xmmword [rbp + 0x4c0], xmm1
movdqa xmmword [rbp + 0x4b0], xmm0
call fcn.18063c540
mov rdx, rax
mov rcx, rbx
call fcn.1806b8b30
mov rcx, rax
call fcn.1805fd760
mov byte [rbp + 0x160], 0
call fcn.18063a260
movabs rdi, 0xac650cf46eaebd3
lea r9, [rax + 0x4a8]
movabs rax, 0x57e76267dda323a6
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x370], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x378], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
lea r8, [rbp + 0x370]
mov qword [rsp + 0x40], r12
lea rdx, [rbp + 0x380]
mov qword [rbp], rax
lea rcx, [rbp - 0x50]
mov rax, qword [rsp + 0x40]
movabs rbx, 0xac622a82b9d8fd6
movdqa xmm0, xmmword [rbp + 0x370]
mov qword [rbp + 8], rax
movabs rax, 0x59e46b70e0ed6fcb
xorps xmm0, xmmword [rbp]
movdqa xmmword [rbp + 0x370], xmm0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x380], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x388], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x10], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x380]
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0x158]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x380], xmm0
mov qword [rsp + 0x20], rax
call fcn.1806cf210
mov byte [rbp + 0x180], 0
call fcn.18063a260
lea r8, [rbp + 0x390]
lea rdx, [rbp + 0x320]
lea rcx, [rbp - 0x50]
lea r9, [rax + 0x4a9]
movabs rax, 0x57e86267dda323a6
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x390], rax
movabs rax, 0xac650cf46eae3db
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x398], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x390]
mov qword [rbp + 0x28], rax
movabs rax, 0x51e46470e0ed6fcb
xorps xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rbp + 0x390], xmm0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x320], rax
movabs rax, 0xac622a82b9d8fde
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x328], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x30], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x320]
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x178]
xorps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x320], xmm0
mov qword [rsp + 0x20], rax
call fcn.1806cf210
mov byte [rbp + 0x190], 0
call fcn.18063a260
lea r9, [rax + 0x4aa]
movabs rax, 0x5df97766dda323a6
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3a0], rax
mov qword [rsp + 0x40], rdi
lea r8, [rbp + 0x3a0]
mov rax, qword [rsp + 0x40]
lea rdx, [rbp + 0x2b0]
mov qword [rbp + 0x3a8], rax
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x40], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x3a0]
mov qword [rbp + 0x48], rax
movabs rax, 0x59ee7565e1ed6fcb
xorps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x3a0], xmm0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2b0], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2b8], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x50], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x2b0]
mov qword [rbp + 0x58], rax
lea rax, [rbp + 0x188]
xorps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x2b0], xmm0
mov qword [rsp + 0x20], rax
call fcn.1806cf210
mov byte [rbp + 0x1a0], 0
call fcn.18063a260
lea r9, [rax + 0x4ab]
movabs rax, 0x55e66673dca423a6
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2c0], rax
movabs rax, 0xac622da4cf0f8dd
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2c8], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x60], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x2c0]
mov qword [rbp + 0x68], rax
movabs rax, 0x5dff6e7bdbab6ecc
xorps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp + 0x2c0], xmm0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3b0], rax
movabs rax, 0x79b247c447e8cd92
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3b8], rax
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3c0], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3c8], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x520], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r15
mov qword [rbp + 0x528], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r14
mov qword [rbp + 0x530], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x3b0]
mov qword [rbp + 0x538], rax
movdqa xmm1, xmmword [rbp + 0x3c0]
lea rax, [rbp + 0x198]
xorps xmm1, xmmword [rbp + 0x530]
lea r8, [rbp + 0x2c0]
xorps xmm0, xmmword [rbp + 0x520]
lea rdx, [rbp + 0x3b0]
lea rcx, [rbp - 0x50]
movdqa xmmword [rbp + 0x3c0], xmm1
movdqa xmmword [rbp + 0x3b0], xmm0
mov qword [rsp + 0x20], rax
call fcn.1806cf210
movabs rax, 0x388b0715b2cd00fd
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2d0], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2d8], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x70], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x2d0]
mov qword [rbp + 0x78], rax
movabs rax, 0x388b0715d4ff2ea0
xorps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x2d0], xmm0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2e0], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2e8], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x80], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x2e0]
mov qword [rbp + 0x88], rax
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x2e0], xmm0
call fcn.18063a260
mov rbx, rax
movabs rax, 0x75ab6272d3a061c1
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3d0], rax
movabs rax, 0x6faf4ed842e9e3c7
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3d8], rax
movabs rax, 0x10bc727798e47b5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3e0], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3e8], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x540], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r15
mov qword [rbp + 0x548], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x550], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x3d0]
movdqa xmm1, xmmword [rbp + 0x3e0]
movss xmm6, dword [rsp + 0x50]
xorps xmm0, xmmword [rbp + 0x540]
mulss xmm6, xmm9
mov qword [rbp + 0x558], rax
xorps xmm1, xmmword [rbp + 0x550]
movdqa xmmword [rbp + 0x3d0], xmm0
subss xmm6, xmm10
movdqa xmmword [rbp + 0x3e0], xmm1
subss xmm6, dword [0x18073fefc]
call fcn.1805f4580
addss xmm0, dword [0x18073fee4]
movss xmm7, dword [0x18074088c]
lea rcx, [rsp + 0x78]
mov dword [rsp + 0x78], 0x41700000
movss dword [rsp + 0x7c], xmm0
call fcn.180601730
movaps xmm0, xmm6
call fcn.180601dd0
movss xmm3, dword [0x18073fef0]
lea rax, [rbp + 0x2d0]
movss xmm2, dword [0x18073feb8]
lea rdx, [rbx + 0x4e0]
xor edi, edi
lea rcx, [rbp + 0x3d0]
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2e0]
mov qword [rsp + 0x20], rax
call fcn.180634280
call fcn.180634ae0
movaps xmm0, xmm7
call fcn.180601790
movss xmm1, dword [0x18073fed4]
lea ecx, [rdi + 0xc]
call fcn.1805fdc90
movaps xmm0, xmmword [0x1807408c0]
lea rdx, [rbp + 0x1a8]
lea ecx, [rdi + 0x15]
movups xmmword [rbp + 0x1a8], xmm0
call fcn.1805fdba0
movaps xmm0, xmmword [0x1807408a0]
lea rdx, [rbp + 0x1b8]
lea ecx, [rdi + 0x16]
movups xmmword [rbp + 0x1b8], xmm0
call fcn.1805fdba0
movaps xmm0, xmmword [0x1807408a0]
lea rdx, [rbp + 0x1c8]
lea ecx, [rdi + 0x17]
movups xmmword [rbp + 0x1c8], xmm0
call fcn.1805fdba0
call fcn.180634ae0
movaps xmm0, xmmword [0x1807408c0]
lea rdx, [rbp + 0x108]
lea ecx, [rdi + 7]
movups xmmword [rbp + 0x108], xmm0
call fcn.1805fdba0
movaps xmm0, xmmword [0x18074b9f0]
lea rdx, [rbp + 0x118]
xor ecx, ecx
movups xmmword [rbp + 0x118], xmm0
call fcn.1805fdba0
call fcn.18063a260
add rax, 0x4b0
mov byte [rbp + 0x98], 1
mov qword [rbp + 0x90], rax
lea rbx, [0x1808fed20]
lea rax, [rbp + 0x90]
mov r8, rbx
mov qword [rsp + 0x28], rax
lea r9d, [rdi + 6]
lea rdx, str.ammosToFill
mov byte [rsp + 0x20], 1
lea rcx, [rbp + 0xf0]
call fcn.1806f8ae0
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], dil
jne 0x1806f9b20
test rax, rax
jne 0x1806f9ba4
call fcn.18063a260
mov dword [rax + 0x4b8], edi
movabs rax, 0x388b0715b2cd00b5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x4d0], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x4d8], rax
movdqa xmm0, xmmword [rbp + 0x4d0]
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xa0], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xa8], rax
xorps xmm0, xmmword [rbp + 0xa0]
movq rax, xmm0
mov word [0x1808fed20], ax
jmp 0x1806f9bb9
mov rcx, rbx
call fcn.180721414
mov ebx, eax
call fcn.18063a260
mov dword [rax + 0x4b8], ebx
movaps xmm0, xmm7
call fcn.180601790
movss xmm0, dword [rsp + 0x54]
lea rdx, [rbp - 0x80]
movss dword [rbp - 0x80], xmm0
lea rcx, [rbp + 0x2f0]
mov dword [rbp - 0x7c], 0x41c80000
movabs rax, 0x55e64635dea169c3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2f0], rax
movabs rax, 0xac622a82b9d8fdd
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2f8], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xb0], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x2f0]
mov qword [rbp + 0xb8], rax
xorps xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x2f0], xmm0
call fcn.180628bf0
test al, al
je 0x1806f9c62
call fcn.18063a260
mov byte [rax + 0x4ac], 1
mov ecx, 5
call fcn.1805fd3c0
mov ecx, 1
call fcn.1805fd420
call fcn.1805fd2c0
call fcn.1805f2850
movss xmm0, dword [rsp + 0x50]
lea rcx, [rbp - 0x78]
movaps xmm1, xmm0
mov dword [rbp - 0x74], edi
subss xmm1, dword [0x18074ba5c]
mulss xmm0, xmm9
subss xmm0, dword [0x18074bb58]
subss xmm1, xmm0
movss dword [rbp - 0x78], xmm1
call fcn.180601730
movss xmm0, dword [rsp + 0x50]
lea rdx, [rbp - 0x70]
mov dword [rbp - 0x6c], 0x43960000
lea rcx, [rbp + 0x300]
mulss xmm0, xmm9
movabs rax, 0x56e47774d7ba23a6
xor r9d, r9d
xor r8d, r8d
subss xmm0, xmm10
movss dword [rbp - 0x70], xmm0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x300], rax
movabs rax, 0xac64acb4ae9fbd3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x308], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xc0], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x300]
mov qword [rbp + 0xc8], rax
xorps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x300], xmm0
call fcn.1805efb20
mov rbx, qword [rsi + 8]
lea rdx, [rbp + 0x3f0]
movabs rax, 0x67f8697cc2bd6ff5
lea rcx, [rbp + 0x268]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3f0], rax
movabs rax, 0x38b443c45efaeac0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3f8], rax
movabs rax, 0x10bc727798e47f7
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x400], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x408], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x560], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x568], rax
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x570], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x3f0]
movdqa xmm1, xmmword [rbp + 0x400]
xorps xmm0, xmmword [rbp + 0x560]
mov qword [rbp + 0x578], rax
xorps xmm1, xmmword [rbp + 0x570]
movdqa xmmword [rbp + 0x400], xmm1
movdqa xmmword [rbp + 0x3f0], xmm0
call fcn.18063c540
mov rdx, rax
mov rcx, rbx
call fcn.1806b8b30
mov rcx, rax
call fcn.1805fd760
movabs rcx, 0x27de8112f64ec8bc
movss dword [rsp + 0x20], xmm12
movabs r15, 0x79ab697ac2ac65d2
lea rdx, [rbp + 0x410]
mov qword [rsp + 0x40], r15
movabs r14, 0x64a34fc048fcfbc6
mov rax, qword [rsp + 0x40]
movabs rbx, 0x10bc727798e34b3
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov qword [rsp + 0x40], r14
xor r8d, r8d
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x418], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x420], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x428], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x580], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x588], rax
movabs rax, 0x10bc727798e47c7
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp - 0x40]
mov qword [rbp + 0x590], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x410]
movdqa xmm1, xmmword [rbp + 0x420]
xorps xmm0, xmmword [rbp + 0x580]
mov qword [rbp + 0x598], rax
xorps xmm1, xmmword [rbp + 0x590]
movdqa xmmword [rbp + 0x420], xmm1
movdqa xmmword [rbp + 0x410], xmm0
call fcn.1805f0c20
movss xmm1, dword [rsp + 0x50]
lea rcx, [rbp - 0x68]
movss xmm0, dword [rbp - 0x40]
mulss xmm1, xmm9
mov dword [rbp - 0x64], 0x40f00000
mulss xmm0, xmm9
subss xmm1, xmm10
mulss xmm1, xmm9
subss xmm1, xmm0
movss dword [rbp - 0x68], xmm1
call fcn.180601730
mov qword [rsp + 0x40], r15
movabs r15, 0x10bc727798e47c7
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x430], rax
mov qword [rsp + 0x40], r14
movabs r14, 0x27de8112f64ec8bc
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x438], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x440], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x448], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x5a0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r15
mov qword [rbp + 0x5a8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r14
mov qword [rbp + 0x5b0], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x430]
lea rcx, [rbp + 0x430]
movdqa xmm1, xmmword [rbp + 0x440]
xorps xmm0, xmmword [rbp + 0x5a0]
mov qword [rbp + 0x5b8], rax
xorps xmm1, xmmword [rbp + 0x5b0]
movdqa xmmword [rbp + 0x430], xmm0
movdqa xmmword [rbp + 0x440], xmm1
call fcn.180634fc0
call fcn.180634ae0
call fcn.1805fd2c0
mov rbx, qword [rsi + 8]
lea rdx, [rbp + 0x450]
movabs rax, 0x67f8697cc2bd6ff5
lea rcx, [rbp + 0x208]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x450], rax
movabs rax, 0x38b443c45efaeac0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x458], rax
movabs rax, 0x10bc72779bb69f5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x460], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x468], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x5c0], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x5c8], rax
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x5d0], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x450]
movdqa xmm1, xmmword [rbp + 0x460]
xorps xmm0, xmmword [rbp + 0x5c0]
mov qword [rbp + 0x5d8], rax
xorps xmm1, xmmword [rbp + 0x5d0]
movdqa xmmword [rbp + 0x460], xmm1
movdqa xmmword [rbp + 0x450], xmm0
call fcn.18063c540
mov rdx, rax
mov rcx, rbx
call fcn.1806b8b30
mov rcx, rax
call fcn.1805fd760
call fcn.18063a260
cmp dword [rax + 0x4e4], 0xa2719263
je 0x1806fa5b6
call fcn.18063a260
cmp dword [rax + 0x4e4], edi
je 0x1806fa5b6
call fcn.18063a260
mov r8, rax
movabs r9, 0x100000001b3
movzx edx, byte [rax + 0x4e4]
movabs rax, 0xcbf29ce484222325
movzx ecx, byte [r8 + 0x4e5]
xor rdx, rax
movzx eax, byte [r8 + 0x4e6]
imul rdx, r9
xor rdx, rcx
imul rdx, r9
xor rdx, rax
movzx eax, byte [r8 + 0x4e7]
imul rdx, r9
xor rdx, rax
imul rdx, r9
mov r9, qword [0x180902fb8]
and rdx, qword [0x180902fd0]
add rdx, rdx
mov rax, qword [r9 + rdx*8 + 8]
cmp rax, qword [0x180902fa8]
je 0x1806fa231
mov ecx, dword [r8 + 0x4e4]
mov r9, qword [r9 + rdx*8]
cmp ecx, dword [rax + 0x10]
je 0x1806fa22e
nop dword [rax]
cmp rax, r9
je 0x1806fa231
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x1806fa220
mov rdi, rax
test rdi, rdi
je 0x1806fa5b6
movaps xmm0, xmm7
call fcn.180601790
movss xmm0, dword [rsp + 0x54]
call fcn.180601dd0
movaps xmm0, xmmword [0x1807408c0]
lea rdx, [rbp + 0x168]
mov ecx, 7
movups xmmword [rbp + 0x168], xmm0
call fcn.1805fdba0
call fcn.18063a260
lea rcx, [0x180902fa0]
lea rdx, [rax + 0x4e4]
call fcn.1806fa710
mov rbx, qword [rax + 8]
sub rbx, qword [rax]
sar rbx, 3
call fcn.18063a260
lea rcx, [0x180902fa0]
lea rdx, [rax + 0x4e4]
call fcn.1806fa710
mov r9d, ebx
mov dword [rsp + 0x20], 0xffffffff
lea rdx, [0x180903020]
lea rcx, [rbp + 0x470]
mov r8, qword [rax]
movabs rax, 0x56e47774d7ba23a6
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x470], rax
movabs rax, 0x6fab4acb4ae9fbd3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x478], rax
movabs rax, 0x10bb35410c233a9
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x480], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x488], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r12
mov qword [rbp + 0x5e0], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x5e8], rax
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x5f0], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x470]
movdqa xmm1, xmmword [rbp + 0x480]
xorps xmm0, xmmword [rbp + 0x5e0]
mov qword [rbp + 0x5f8], rax
xorps xmm1, xmmword [rbp + 0x5f0]
movdqa xmmword [rbp + 0x480], xmm1
movdqa xmmword [rbp + 0x470], xmm0
call fcn.180632030
mov ecx, 1
call fcn.1805fd3c0
movaps xmm0, xmmword [0x1807408c0]
lea rdx, [rbp + 0x138]
mov ecx, 0x15
movups xmmword [rbp + 0x138], xmm0
call fcn.1805fdba0
movaps xmm0, xmmword [0x1807408a0]
lea rdx, [rbp + 0x128]
mov ecx, 0x16
movups xmmword [rbp + 0x128], xmm0
call fcn.1805fdba0
movaps xmm0, xmmword [0x1807408a0]
lea rdx, [rbp + 0x1d8]
mov ecx, 0x17
movups xmmword [rbp + 0x1d8], xmm0
call fcn.1805fdba0
movaps xmm0, xmm7
call fcn.180601790
movss xmm0, dword [rsp + 0x54]
movss dword [rbp - 0x60], xmm0
mov dword [rbp - 0x5c], 0x41c80000
movabs rax, 0x388b0715b2a964c4
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x310]
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x310], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x318], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0xd0], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x310]
mov qword [rbp + 0xd8], rax
xorps xmm0, xmmword [rbp + 0xd0]
movdqa xmmword [rbp + 0x310], xmm0
call fcn.180628bf0
test al, al
je 0x1806fa4d5
call fcn.18063a260
lea rcx, [0x180902fa0]
lea rdx, [rax + 0x4e4]
call fcn.1806fa710
movsxd rdx, dword [0x180903020]
mov rcx, qword [rax]
mov rcx, qword [rcx + rdx*8]
call fcn.180695c00
mov ebx, eax
call fcn.18063a260
mov byte [rax + 0x4bc], 1
mov dword [rax + 0x4c0], ebx
movaps xmm0, xmm7
call fcn.180601790
movss xmm0, dword [rsp + 0x54]
lea rdx, [rbp - 0x58]
movss dword [rbp - 0x58], xmm0
lea rcx, [rbp + 0x4e0]
mov dword [rbp - 0x54], 0x41c80000
movabs rax, 0x388b6263dda065d7
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x4e0], rax
mov qword [rsp + 0x48], r12
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x4e8], rax
mov qword [rsp + 0x48], r13
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x290], rax
mov qword [rsp + 0x48], r12
mov rax, qword [rsp + 0x48]
movdqa xmm0, xmmword [rbp + 0x4e0]
mov qword [rbp + 0x298], rax
xorps xmm0, xmmword [rbp + 0x290]
movdqa xmmword [rbp + 0x4e0], xmm0
call fcn.180628bf0
test al, al
je 0x1806fa5a7
call fcn.18063a260
lea rcx, [0x180902fa0]
lea rdx, [rax + 0x4e4]
call fcn.1806fa710
movsxd rdx, dword [0x180903020]
mov rcx, qword [rax]
mov rcx, qword [rcx + rdx*8]
call fcn.180695c00
mov ebx, eax
call fcn.18063a260
mov byte [rax + 0x4c4], 1
mov dword [rax + 0x4c8], ebx
mov ecx, 3
call fcn.1805fd3c0
jmp 0x1806fa69e
movaps xmm0, xmm7
call fcn.180601790
movabs rax, 0x4cf8727892b86fdc
lea rcx, [rbp + 0x290]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x290], rax
movabs rax, 0x2aa702cc47f2e792
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x298], rax
movabs rax, 0x202ba94809ef22b0
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x2a0], rax
mov qword [rsp + 0x48], r14
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x2a8], rax
mov qword [rsp + 0x48], r13
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x4e0], rax
mov qword [rsp + 0x48], r12
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x4e8], rax
mov qword [rsp + 0x48], r15
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x4f0], rax
mov qword [rsp + 0x48], r14
mov rax, qword [rsp + 0x48]
movdqa xmm0, xmmword [rbp + 0x290]
movdqa xmm1, xmmword [rbp + 0x2a0]
xorps xmm0, xmmword [rbp + 0x4e0]
mov qword [rbp + 0x4f8], rax
xorps xmm1, xmmword [rbp + 0x4f0]
movdqa xmmword [rbp + 0x290], xmm0
movdqa xmmword [rbp + 0x2a0], xmm1
call fcn.180634fc0
call fcn.1805fd2c0
call fcn.1805f2850
mov ecx, 1
call fcn.1805fd3c0
mov ecx, 1
call fcn.1805fd420
call fcn.1805f2850
mov rcx, qword [rbp + 0x620]
xor rcx, rsp
call fcn.1807045e0
lea r11, [rsp + 0x780]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
movaps xmm10, xmmword [r11 - 0x40]
movaps xmm12, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret