Function at 0x180078e30
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov r14, qword [0x180160698]
mov ebp, 0x40
mov r15d, dword [0x18015fb14]
movabs r13, 0x100000001b3
mov r12, qword gs:[0x58]
movabs rdi, 0xb878ee062c46d24a
movaps xmmword [rax - 0x78], xmm9
xorps xmm9, xmm9
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov ebx, 4
mov rax, qword [0x18015fe98]
mov edx, ebp
mov rcx, qword [rax + 0x58]
call fcn.180052690
mov rsi, rax
test rax, rax
je 0x180079144
mov qword [rsp + 0x100], 0
lea rdx, [rsp + 0x100]
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x130]
mov r9, qword [rsp + 0x100]
test r9, r9
je 0x180079144
mov r9, qword [r9 + 8]
movabs r8, 0xcbf29ce484222325
mov rcx, r9
cmp byte [r9], 0
je 0x180078f0f
inc rcx
cmp byte [rcx], 0
jne 0x180078f07
mov edx, 0
sub rcx, r9
je 0x180078f34
nop dword [rax]
movsx rax, byte [r9 + rdx]
inc rdx
xor r8, rax
imul r8, r13
cmp rdx, rcx
jb 0x180078f20
mov rdx, qword [0x18015f4b8]
mov rax, qword [0x1801609a0]
shl rax, 5
lea rcx, [rdx + 0x18]
add rcx, rax
cmp qword [rax + rdx + 0x10], 8
jbe 0x180078f58
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x18007918b
movabs rax, 0x8c1587586c04d85
cmp r8, rax
jne 0x180079144
mov rax, qword [0x1801609a8]
lea rcx, [rdx + 0x18]
shl rax, 5
add rcx, rax
cmp qword [rax + rdx + 0x10], 8
jbe 0x180078f91
mov rcx, qword [rcx]
mov ecx, dword [rcx]
mov rdi, qword [r12 + r15*8]
movzx eax, cl
movd xmm6, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shr ecx, 0x10
cvtdq2ps xmm6, xmm6
movd xmm7, eax
movzx eax, cl
cvtdq2ps xmm7, xmm7
movd xmm8, eax
mov eax, dword [rbx + rdi]
cmp dword [0x180160744], eax
cvtdq2ps xmm8, xmm8
jle 0x180079000
lea rcx, [0x180160744]
call fcn.1800e1570
cmp dword [0x180160744], 0xffffffff
jne 0x180079000
movabs rcx, 0x4402466ab5a30b6c
call fcn.180071fb0
lea rcx, [0x180160744]
mov dword [0x18016075c], eax
call fcn.1800e1504
mov eax, dword [0x18016075c]
movss dword [rax + rsi], xmm6
movss dword [rax + rsi + 4], xmm7
movss dword [rax + rsi + 8], xmm8
mov eax, dword [rbx + rdi]
cmp dword [0x180160764], eax
jle 0x180079059
lea rcx, [0x180160764]
call fcn.1800e1570
cmp dword [0x180160764], 0xffffffff
jne 0x180079059
movabs rcx, 0x37490094442e4a9e
call fcn.180071fb0
lea rcx, [0x180160764]
mov dword [0x180160740], eax
call fcn.1800e1504
mov eax, dword [rbx + rdi]
cmp dword [0x180160758], eax
jle 0x18007909a
lea rcx, [0x180160758]
call fcn.1800e1570
cmp dword [0x180160758], 0xffffffff
jne 0x18007909a
movabs rcx, 0x78550cf56df3b44e
call fcn.180071fb0
lea rcx, [0x180160758]
mov dword [0x18016074c], eax
call fcn.1800e1504
mov eax, dword [0x18016074c]
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x110], 0
movsd xmm0, qword [rax + rsi]
mov eax, dword [rax + rsi + 8]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
call fcn.18007c790
test al, al
je 0x180079135
mov rax, qword [r14 + 0x38]
lea rcx, [0x18014d1c5]
movups xmm0, xmmword [r14 + 0x88]
mov byte [rsp + 0x48], 0
lea r9, [rsp + 0x110]
movss dword [rsp + 0x40], xmm9
mov rdx, r14
movss xmm2, dword [rax + 0x10]
mov qword [rsp + 0x38], rcx
lea rcx, str.smoke
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x20], 0xff00ff00
call fcn.180028e80
movabs rdi, 0xb878ee062c46d24a
mov ebx, 4
inc ebp
cmp ebp, 0x400
jl 0x180078ea0
movaps xmm8, xmmword [rsp + 0x90]
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x58]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [0x1801609c8]
lea rcx, [rdx + 0x18]
shl rax, 5
add rcx, rax
cmp qword [rax + rdx + 0x10], 8
jbe 0x1800791a8
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x180079144
cmp r8, rdi
jne 0x180079144
mov rax, qword [r12 + r15*8]
mov ecx, dword [rbx + rax]
cmp dword [0x180160748], ecx
jle 0x1800791f7
lea rcx, [0x180160748]
call fcn.1800e1570
cmp dword [0x180160748], 0xffffffff
jne 0x1800791f7
movabs rcx, 0x320411efe3be475a
call fcn.180071fb0
lea rcx, [0x180160748]
mov dword [0x180160760], eax
call fcn.1800e1504
mov eax, dword [0x180160760]
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x108], 0
movsd xmm0, qword [rax + rsi]
mov eax, dword [rax + rsi + 8]
movsd qword [rsp + 0x60], xmm0
mov dword [rsp + 0x68], eax
call fcn.18007c790
test al, al
je 0x180079144
mov rax, qword [r14 + 0x38]
lea rcx, [0x18014d1d4]
movups xmm0, xmmword [r14 + 0x88]
mov byte [rsp + 0x48], 0
lea r9, [rsp + 0x108]
movss dword [rsp + 0x40], xmm9
mov rdx, r14
movss xmm2, dword [rax + 0x10]
mov qword [rsp + 0x38], rcx
lea rcx, str.bomb
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x20], 0xff00ff00
call fcn.180028e80
jmp 0x180079144