Function at 0x18019c1c0
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 [0x180269dc0]
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.1800adce0
mov rax, qword [rsi + 8]
lea rdx, [rsp + 0x60]
movabs r13, 0x1ca07b62ba8c942b
lea rcx, [rbp + 0x330]
movabs r12, 0xd9a6684febeded80
xor r9d, r9d
xor r8d, r8d
movss xmm0, dword [rax + 0x70]
movss xmm1, dword [rax + 0x74]
movabs rax, 0x6ed50f03dfeab708
subss xmm0, dword [0x1801eb56c]
subss xmm1, dword [0x1801e0f0c]
subss xmm0, dword [0x1801f3524]
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, 0xd9c20426838e9ee5
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.18009c0d0
mov rax, qword [rsi + 8]
lea rdx, [rbp + 0x148]
movss xmm9, dword [0x1801e0e98]
mov ecx, 3
movss xmm10, dword [0x1801e3428]
mov qword [rbp - 0x48], rsi
movss xmm0, dword [rax + 0x70]
lea rax, [rsp + 0x50]
subss xmm0, dword [0x1801eb56c]
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 [0x1801f3524]
movss dword [rsp + 0x50], xmm0
mulss xmm0, xmm9
subss xmm0, xmm10
subss xmm0, dword [0x1801e0f04]
movss dword [rsp + 0x54], xmm0
movaps xmm0, xmmword [0x1801f34c0]
movups xmmword [rbp + 0x148], xmm0
call fcn.1800aa150
movss xmm1, dword [0x1801e0ef8]
mov ecx, 7
call fcn.1800aa240
movss xmm0, dword [rsp + 0x50]
movabs rax, 0x72cf0b03dffbb708
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, 0xd9a6684febed85e3
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.18009c0d0
mov rbx, qword [rsi + 8]
lea rdx, [rbp + 0x490]
movabs r14, 0xe385e6bdad4a69aa
lea rcx, [rbp + 0x228]
movabs rdi, 0x43d3150bcafcfb5b
movabs r15, 0xaadedba8936fcb5d
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x490], rax
movabs rax, 0xebd409239e8a88f2
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x498], rax
movabs rax, 0xaadedba8936fcb6d
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.1800e8ca0
mov rdx, rax
mov rcx, rbx
call fcn.18015c2c0
mov rcx, rax
call fcn.1800a9d10
movss xmm12, dword [0x1801e0f30]
lea rdx, [rbp + 0x350]
movabs rax, 0x66c9160dceffe168
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, 0xd9a66821848499e1
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.18009d1d0
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.1800adce0
movabs rax, 0x1ca0150dcaedf17c
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.1800e1570
call fcn.1800e1090
call fcn.1800a9870
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, 0xebd409239e8a88f2
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x4b8], rax
movabs rax, 0xaadedba8935ae56f
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.1800e8ca0
mov rdx, rax
mov rcx, rbx
call fcn.18015c2c0
mov rcx, rax
call fcn.1800a9d10
mov byte [rbp + 0x160], 0
call fcn.1800e6800
movabs rdi, 0xd9a61a28869a89e1
lea r9, [rax + 0x4f0]
movabs rax, 0x73cc1e10d5e2b708
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, 0xd9a6684febedede4
movdqa xmm0, xmmword [rbp + 0x370]
mov qword [rbp + 8], rax
movabs rax, 0x7dcf1707e8acfb65
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.180172920
mov byte [rbp + 0x180], 0
call fcn.1800e6800
lea r8, [rbp + 0x390]
lea rdx, [rbp + 0x320]
lea rcx, [rbp - 0x50]
lea r9, [rax + 0x4f1]
movabs rax, 0x73c31e10d5e2b708
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x390], rax
movabs rax, 0xd9a61a28869a81e9
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, 0x75cf1807e8acfb65
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, 0xd9a6684febededec
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.180172920
mov byte [rbp + 0x190], 0
call fcn.1800e6800
lea r9, [rax + 0x4f2]
movabs rax, 0x79d20b11d5e2b708
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, 0x7dc50912e9acfb65
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.180172920
mov byte [rbp + 0x1a0], 0
call fcn.1800e6800
lea r9, [rax + 0x4f3]
movabs rax, 0x71cd1a04d4e5b708
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2c0], rax
movabs rax, 0xd9a6683d8c809aef
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, 0x79d4120cd3eafa62
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, 0xaad20d238798afa0
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.180172920
movabs rax, 0x1ca07b62ba8c9453
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, 0x1ca07b62dcbeba0e
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.1800e6800
mov rbx, rax
movabs rax, 0x51801e05dbe1f56f
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3d0], rax
movabs rax, 0xbccf043f829981f5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3d8], rax
movabs rax, 0xaadedba8936fcb2f
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 [0x1801e0f04]
call fcn.1800a0b30
addss xmm0, dword [0x1801e0eec]
movss xmm7, dword [0x1801e188c]
lea rcx, [rsp + 0x78]
mov dword [rsp + 0x78], 0x41700000
movss dword [rsp + 0x7c], xmm0
call fcn.1800adce0
movaps xmm0, xmm6
call fcn.1800ae380
movss xmm3, dword [0x1801e0ef8]
lea rax, [rbp + 0x2d0]
movss xmm2, dword [0x1801e0ec0]
lea rdx, [rbx + 0x528]
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.1800e0830
call fcn.1800e1090
movaps xmm0, xmm7
call fcn.1800add40
movss xmm1, dword [0x1801e0edc]
lea ecx, [rdi + 0xc]
call fcn.1800aa240
movaps xmm0, xmmword [0x1801e18c0]
lea rdx, [rbp + 0x1a8]
lea ecx, [rdi + 0x15]
movups xmmword [rbp + 0x1a8], xmm0
call fcn.1800aa150
movaps xmm0, xmmword [0x1801e18a0]
lea rdx, [rbp + 0x1b8]
lea ecx, [rdi + 0x16]
movups xmmword [rbp + 0x1b8], xmm0
call fcn.1800aa150
movaps xmm0, xmmword [0x1801e18a0]
lea rdx, [rbp + 0x1c8]
lea ecx, [rdi + 0x17]
movups xmmword [rbp + 0x1c8], xmm0
call fcn.1800aa150
call fcn.1800e1090
movaps xmm0, xmmword [0x1801e18c0]
lea rdx, [rbp + 0x108]
lea ecx, [rdi + 7]
movups xmmword [rbp + 0x108], xmm0
call fcn.1800aa150
movaps xmm0, xmmword [0x1801f34b0]
lea rdx, [rbp + 0x118]
xor ecx, ecx
movups xmmword [rbp + 0x118], xmm0
call fcn.1800aa150
call fcn.1800e6800
add rax, 0x4f8
mov byte [rbp + 0x98], 1
mov qword [rbp + 0x90], rax
lea rbx, [0x180269da0]
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.18019bec0
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], dil
jne 0x18019cf00
test rax, rax
jne 0x18019cf84
call fcn.1800e6800
mov dword [rax + 0x500], edi
movabs rax, 0x1ca07b62ba8c941b
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 [0x180269da0], ax
jmp 0x18019cf99
mov rcx, rbx
call fcn.1801c37c4
mov ebx, eax
call fcn.1800e6800
mov dword [rax + 0x500], ebx
movaps xmm0, xmm7
call fcn.1800add40
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, 0x71cd3a42d6e0fd6d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x2f0], rax
movabs rax, 0xd9a6684febededef
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.1800d51a0
test al, al
je 0x18019d042
call fcn.1800e6800
mov byte [rax + 0x4f4], 1
mov ecx, 5
call fcn.1800a9970
mov ecx, 1
call fcn.1800a99d0
call fcn.1800a9870
call fcn.18009ee00
movss xmm0, dword [rsp + 0x50]
lea rcx, [rbp - 0x78]
movaps xmm1, xmm0
mov dword [rbp - 0x74], edi
subss xmm1, dword [0x1801eb56c]
mulss xmm0, xmm9
subss xmm0, dword [0x1801f3608]
subss xmm1, xmm0
movss dword [rbp - 0x78], xmm1
call fcn.1800adce0
movss xmm0, dword [rsp + 0x50]
lea rdx, [rbp - 0x70]
mov dword [rbp - 0x6c], 0x43960000
lea rcx, [rbp + 0x300]
mulss xmm0, xmm9
movabs rax, 0x72cf0b03dffbb708
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, 0xd9a6002c8a9999e1
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.18009c0d0
mov rbx, qword [rsi + 8]
lea rdx, [rbp + 0x3f0]
movabs rax, 0x43d3150bcafcfb5b
lea rcx, [rbp + 0x268]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3f0], rax
movabs rax, 0xebd409239e8a88f2
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3f8], rax
movabs rax, 0xaadedba8936fcb6d
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.1800e8ca0
mov rdx, rax
mov rcx, rbx
call fcn.18015c2c0
mov rcx, rax
call fcn.1800a9d10
movabs rcx, 0xe385e6bdad4a69aa
movss dword [rsp + 0x20], xmm12
movabs r15, 0x5d80150dcaedf17c
lea rdx, [rbp + 0x410]
mov qword [rsp + 0x40], r15
movabs r14, 0xb7c30527888c99f4
mov rax, qword [rsp + 0x40]
movabs rbx, 0xaadedba8936fb829
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, 0xaadedba8936fcb5d
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.18009d1d0
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.1800adce0
mov qword [rsp + 0x40], r15
movabs r15, 0xaadedba8936fcb5d
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x430], rax
mov qword [rsp + 0x40], r14
movabs r14, 0xe385e6bdad4a69aa
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.1800e1570
call fcn.1800e1090
call fcn.1800a9870
mov rbx, qword [rsi + 8]
lea rdx, [rbp + 0x450]
movabs rax, 0x43d3150bcafcfb5b
lea rcx, [rbp + 0x208]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x450], rax
movabs rax, 0xebd409239e8a88f2
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x458], rax
movabs rax, 0xaadedba8935ae56f
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.1800e8ca0
mov rdx, rax
mov rcx, rbx
call fcn.18015c2c0
mov rcx, rax
call fcn.1800a9d10
call fcn.1800e6800
cmp dword [rax + 0x52c], 0xa2719263
je 0x18019d996
call fcn.1800e6800
cmp dword [rax + 0x52c], edi
je 0x18019d996
call fcn.1800e6800
mov r8, rax
movabs r9, 0x100000001b3
movzx edx, byte [rax + 0x52c]
movabs rax, 0xcbf29ce484222325
movzx ecx, byte [r8 + 0x52d]
xor rdx, rax
movzx eax, byte [r8 + 0x52e]
imul rdx, r9
xor rdx, rcx
imul rdx, r9
xor rdx, rax
movzx eax, byte [r8 + 0x52f]
imul rdx, r9
xor rdx, rax
imul rdx, r9
mov r9, qword [0x18026e098]
and rdx, qword [0x18026e0b0]
add rdx, rdx
mov rax, qword [r9 + rdx*8 + 8]
cmp rax, qword [0x18026e088]
je 0x18019d611
mov ecx, dword [r8 + 0x52c]
mov r9, qword [r9 + rdx*8]
cmp ecx, dword [rax + 0x10]
je 0x18019d60e
nop dword [rax]
cmp rax, r9
je 0x18019d611
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x18019d600
mov rdi, rax
test rdi, rdi
je 0x18019d996
movaps xmm0, xmm7
call fcn.1800add40
movss xmm0, dword [rsp + 0x54]
call fcn.1800ae380
movaps xmm0, xmmword [0x1801e18c0]
lea rdx, [rbp + 0x168]
mov ecx, 7
movups xmmword [rbp + 0x168], xmm0
call fcn.1800aa150
call fcn.1800e6800
lea rcx, [0x18026e080]
lea rdx, [rax + 0x52c]
call fcn.18019daf0
mov rbx, qword [rax + 8]
sub rbx, qword [rax]
sar rbx, 3
call fcn.1800e6800
lea rcx, [0x18026e080]
lea rdx, [rax + 0x52c]
call fcn.18019daf0
mov r9d, ebx
mov dword [rsp + 0x20], 0xffffffff
lea rdx, [0x18026e100]
lea rcx, [rbp + 0x470]
mov r8, qword [rax]
movabs rax, 0x72cf0b03dffbb708
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x470], rax
movabs rax, 0xbccb002c8a9999e1
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x478], rax
movabs rax, 0xaadeafdbfa23bf33
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.1800de5e0
mov ecx, 1
call fcn.1800a9970
movaps xmm0, xmmword [0x1801e18c0]
lea rdx, [rbp + 0x138]
mov ecx, 0x15
movups xmmword [rbp + 0x138], xmm0
call fcn.1800aa150
movaps xmm0, xmmword [0x1801e18a0]
lea rdx, [rbp + 0x128]
mov ecx, 0x16
movups xmmword [rbp + 0x128], xmm0
call fcn.1800aa150
movaps xmm0, xmmword [0x1801e18a0]
lea rdx, [rbp + 0x1d8]
mov ecx, 0x17
movups xmmword [rbp + 0x1d8], xmm0
call fcn.1800aa150
movaps xmm0, xmm7
call fcn.1800add40
movss xmm0, dword [rsp + 0x54]
movss dword [rbp - 0x60], xmm0
mov dword [rbp - 0x5c], 0x41c80000
movabs rax, 0x1ca07b62bae8f06a
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.1800d51a0
test al, al
je 0x18019d8b5
call fcn.1800e6800
lea rcx, [0x18026e080]
lea rdx, [rax + 0x52c]
call fcn.18019daf0
movsxd rdx, dword [0x18026e100]
mov rcx, qword [rax]
mov rcx, qword [rcx + rdx*8]
call fcn.180139c50
mov ebx, eax
call fcn.1800e6800
mov byte [rax + 0x504], 1
mov dword [rax + 0x508], ebx
movaps xmm0, xmm7
call fcn.1800add40
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, 0x1ca01e14d5e1f179
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.1800d51a0
test al, al
je 0x18019d987
call fcn.1800e6800
lea rcx, [0x18026e080]
lea rdx, [rax + 0x52c]
call fcn.18019daf0
movsxd rdx, dword [0x18026e100]
mov rcx, qword [rax]
mov rcx, qword [rcx + rdx*8]
call fcn.180139c50
mov ebx, eax
call fcn.1800e6800
mov byte [rax + 0x50c], 1
mov dword [rax + 0x510], ebx
mov ecx, 3
call fcn.1800a9970
jmp 0x18019da7e
movaps xmm0, xmm7
call fcn.1800add40
movabs rax, 0x68d30e0f9af9fb72
lea rcx, [rbp + 0x290]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x290], rax
movabs rax, 0xf9c7482b878285a0
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x298], rax
movabs rax, 0x8bfeb5c7e30eae2a
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.1800e1570
call fcn.1800a9870
call fcn.18009ee00
mov ecx, 1
call fcn.1800a9970
mov ecx, 1
call fcn.1800a99d0
call fcn.18009ee00
mov rcx, qword [rbp + 0x620]
xor rcx, rsp
call fcn.1801a76e0
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