Function at 0x1800789d0
Capabilities:
Encode data using xor
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 - 0x5f]
sub rsp, 0xc0
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
mov rax, qword [0x18016f040]
xor rax, rsp
mov qword [rbp - 0x29], rax
mov rbx, rcx
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x320], 0
je 0x180079bd3
mov rax, qword [0x18021d0e8]
mov rcx, qword [rax]
mov rax, rcx
test rcx, rcx
je 0x180078a44
mov rax, qword [rcx]
mov rax, qword [rax + 0xe8]
call rax
mov r14, rax
mov qword [rbp - 0x49], rax
test rax, rax
je 0x180079bd3
mov rcx, qword [0x18021d0e8]
mov rcx, qword [rcx]
mov rax, rcx
test rcx, rcx
je 0x180078a72
mov rax, qword [rcx]
mov rax, qword [rax + 0x218]
call rax
nop
test rax, rax
je 0x180079bd3
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x180079bd3
mov r15, qword [rcx + 0x178]
mov qword [rbp - 0x41], r15
test r15, r15
je 0x180079bd3
mov rdi, qword [rax + 0x1ce0]
test rdi, rdi
je 0x180079bd3
mov rax, qword [0x18021d0e8]
mov rcx, qword [rax]
mov rax, rcx
test rcx, rcx
je 0x180078acb
mov rax, qword [rcx]
mov rax, qword [rax + 0x108]
call rax
nop
mov rdx, rax
test rax, rax
je 0x180078ae0
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
mov rcx, rax
call rdx
nop
test rax, rax
je 0x180079bd3
mov rcx, qword [rax + 0x34e8]
test rcx, rcx
jne 0x180078b1b
xor r9d, r9d
lea r8, [0x18014f7c8]
lea rdx, [0x18014f7c8]
call qword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x180079bd3
mov rax, qword [rcx]
mov rdx, qword [rax + 0x98]
call rdx
nop
test rax, rax
jne 0x180078b4b
xor r9d, r9d
lea r8, [0x18014f7c4]
lea rdx, [0x18014f7c4]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x180079bd3
mov eax, dword [rdi + 0xe0]
mov dword [rbx + 0x10], eax
movzx eax, byte [rdi + 0x178]
mov byte [rbx + 0x14], al
mov rax, qword [0x180218ec0]
movss xmm6, dword [rax + 0x14]
mulss xmm6, dword [0x180151f70]
movss xmm7, dword [rax + 0x10]
mulss xmm7, dword [0x180151f70]
mov dword [rbx], 0x42340000
mov dword [rbx + 0xc], 0x7f800000
mov dword [rbx + 8], 0x7f800000
mov dword [rbx + 4], 0x7f800000
mov rax, qword [0x18021d0e8]
mov rdi, qword [rax + 8]
add rdi, 0x40070
lea r12, [rdi + 0x7fff0]
cmp rdi, r12
je 0x180079ae6
movabs rsi, 0x628fbee4747bbc31
movabs r13, 0x100000001b3
xorps xmm8, xmm8
movss xmm9, dword [0x180151f3c]
movss xmm10, dword [0x180151fa8]
movabs r15, 0x8029edd59b8369b8
movabs r14, 0x97bc5002f04ed7ad
nop word [rax + rax]
mov rcx, qword [rdi]
test rcx, rcx
je 0x180079ad1
mov rax, qword [rcx]
mov rdx, qword [rax + 0x1d0]
call rdx
nop
test al, al
jne 0x180079ad1
mov qword [rbp - 0x39], 0
mov dword [rbp - 0x31], 0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180078c3e
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
mov rdx, rax
mov rax, qword [0x18021d0e8]
mov rcx, qword [rax + 0x10]
mov rax, rcx
test rcx, rcx
je 0x180078c60
mov rax, qword [rcx]
mov rax, qword [rax + 0x238]
lea r8, [rbp - 0x31]
mov qword [rsp + 0x30], r8
lea r8, [rbp - 0x35]
mov qword [rsp + 0x28], r8
lea r8, [rbp - 0x39]
mov qword [rsp + 0x20], r8
movss xmm3, dword [rdx + 8]
movss xmm2, dword [rdx + 4]
movss xmm1, dword [rdx]
call rax
nop
mov rax, qword [0x180218ec0]
movss xmm1, dword [rax + 0x10]
mulss xmm1, xmm9
movss xmm0, dword [rbp - 0x39]
mulss xmm0, xmm1
movss dword [rbp - 0x39], xmm0
movss xmm1, dword [rax + 0x14]
mulss xmm1, xmm9
movss xmm0, dword [rbp - 0x35]
mulss xmm0, xmm1
movss dword [rbp - 0x35], xmm0
comiss xmm10, dword [rbp - 0x31]
jbe 0x180079ad1
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180078ce3
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call rax
nop
test rax, rax
je 0x180079ad1
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x10]
mov rcx, rax
call rdx
nop
movabs rdx, 0xcbf29ce484222325
movzx ecx, byte [rax]
test cl, cl
je 0x180079ad1
nop word [rax + rax]
movsx rcx, cl
lea rax, [rax + 1]
xor rdx, rcx
imul rdx, r13
movzx ecx, byte [rax]
test cl, cl
jne 0x180078d20
cmp rdx, rsi
ja 0x1800793ba
je 0x1800792ae
movabs rax, 0xc66e98090d396fe
cmp rdx, rax
je 0x1800791ac
movabs rax, 0x189954c545c37e78
cmp rdx, rax
je 0x1800790b3
movabs rax, 0x189d56bea4e0728e
cmp rdx, rax
je 0x180078fa7
movabs rax, 0x41c4789985585d79
cmp rdx, rax
je 0x180078ea5
movabs rax, 0x45d9bfe902e3eb03
cmp rdx, rax
jne 0x180079ad1
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x326], cl
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180078dcf
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x180078de1
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.EventMediumConsumable
mov edx, eax
mov rcx, rsi
call r9
nop
test rax, rax
je 0x180079ac7
mov ecx, dword [rbx + 0x10]
cmp dword [rax + 0x114], ecx
jne 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180078e51
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180078e59
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x180078e98
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180078e74
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.180079fa0
jmp 0x180079ac7
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x326], 0
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180078ed1
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x180078ee3
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.EventLargeConsumable
mov edx, eax
mov rcx, rsi
call r9
nop
test rax, rax
je 0x180079ac7
mov ecx, dword [rbx + 0x10]
cmp dword [rax + 0x114], ecx
jne 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180078f53
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180078f5b
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x180078f9a
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180078f76
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.180079fa0
jmp 0x180079ac7
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x322], 0
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180078fd3
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x180078fe5
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.FuseHolder
mov edx, eax
mov rcx, rsi
call r9
nop
test rax, rax
je 0x180079ac7
mov ecx, dword [rbx + 0x10]
cmp dword [rax + 0x118], ecx
jne 0x180079ac7
cmp byte [rbx + 0x14], 0
jne 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18007905f
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180079067
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x1800790a6
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180079082
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.180079de0
jmp 0x180079ac7
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x324], 0
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800790df
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x1800790f1
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.HealthConsumable
mov edx, eax
mov rcx, rsi
call r9
nop
mov ecx, dword [rbx + 0x10]
cmp dword [rax + 0x114], ecx
jne 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180079158
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180079160
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x18007919f
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x18007917b
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.18007a320
jmp 0x180079ac7
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x326], 0
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800791d8
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x1800791ea
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.EventTinyConsumable
mov edx, eax
mov rcx, rsi
call r9
nop
test rax, rax
je 0x180079ac7
mov ecx, dword [rbx + 0x10]
cmp dword [rax + 0x114], ecx
jne 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18007925a
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180079262
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x1800792a1
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x18007927d
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.180079fa0
jmp 0x180079ac7
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x321], 0
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800792da
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x1800792ec
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.FuseBoxDay
mov edx, eax
mov rcx, rsi
call r9
nop
test rax, rax
je 0x180079ac7
mov ecx, dword [rbx + 0x10]
cmp dword [rax + 0x120], ecx
jne 0x180079ac7
cmp byte [rbx + 0x14], 0
je 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180079366
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x18007936e
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x1800793ad
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180079389
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.180079c20
jmp 0x180079ac7
cmp rdx, r15
je 0x1800799d3
cmp rdx, r14
je 0x1800798d1
movabs rax, 0xa6bb63f449488625
cmp rdx, rax
je 0x180079613
movabs rax, 0xc163e04c3412b150
cmp rdx, rax
je 0x180079507
movabs rax, 0xd84555badbd50cf3
cmp rdx, rax
jne 0x180079ad1
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x326], 0
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180079431
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x180079443
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.EventHugeConsumable
mov edx, eax
mov rcx, rsi
call r9
nop
test rax, rax
je 0x180079ac7
mov ecx, dword [rbx + 0x10]
cmp dword [rax + 0x114], ecx
jne 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800794b3
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800794bb
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x1800794fa
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800794d6
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.180079fa0
jmp 0x180079ac7
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x323], 0
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180079533
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x180079545
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.BloodBagConsumable
mov edx, eax
mov rcx, rsi
call r9
nop
test rax, rax
je 0x180079ac7
mov ecx, dword [rbx + 0x10]
cmp dword [rax + 0x114], ecx
jne 0x180079ac7
cmp byte [rbx + 0x14], 0
je 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800795bf
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800795c7
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x180079606
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800795e2
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.18007a160
jmp 0x180079ac7
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x321], 0
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x18007963f
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x180079651
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.FuseBoxNight
mov edx, eax
mov rcx, rsi
call r9
mov rsi, rax
cmp dword [rbx + 0x10], 0
jne 0x180079724
test rax, rax
je 0x180079724
cmp dword [rax + 0x119], 0
jne 0x180079724
cmp byte [rbx + 0x14], 0
jne 0x180079724
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800796d5
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800796dd
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x18007971c
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800796f8
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.180079c20
cmp dword [rbx + 0x10], 1
jne 0x1800797de
test rsi, rsi
je 0x1800797de
cmp dword [rsi + 0x120], 1
jne 0x1800797de
cmp byte [rbx + 0x14], 0
jne 0x1800797de
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18007978f
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180079797
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x1800797d6
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800797b2
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.180079c20
cmp dword [rbx + 0x10], 2
jne 0x180079ac7
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180079800
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x180079812
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.FuseBoxNight
mov edx, eax
mov rcx, rsi
call r9
nop
test rax, rax
je 0x180079ac7
cmp byte [rbx + 0x14], 0
jne 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18007987d
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180079885
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x1800798c4
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800798a0
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.180079c20
jmp 0x180079ac7
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x326], 0
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800798fd
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x18007990f
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.EventSmallConsumable
mov edx, eax
mov rcx, rsi
call r9
nop
test rax, rax
je 0x180079ac7
mov ecx, dword [rbx + 0x10]
cmp dword [rax + 0x114], ecx
jne 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18007997f
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180079987
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x1800799c6
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800799a2
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.180079fa0
jmp 0x180079ac7
mov rax, qword [0x18021d0f0]
cmp byte [rax + 0x325], 0
je 0x180079ad1
mov rax, qword [0x18021d0e8]
mov rsi, qword [rax]
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x1800799ff
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call rax
nop
mov r9, rsi
test rsi, rsi
je 0x180079a11
mov r9, qword [rsi]
mov r9, qword [r9 + 0x288]
lea r8, str.AmmoConsumable
mov edx, eax
mov rcx, rsi
call r9
nop
mov ecx, dword [rbx + 0x10]
cmp dword [rax + 0x114], ecx
jne 0x180079ac7
movss xmm1, dword [rbp - 0x31]
subss xmm1, xmm8
movss xmm2, dword [rbp - 0x35]
subss xmm2, xmm6
movss xmm0, dword [rbp - 0x39]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180079a78
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180079a80
movaps xmm0, xmm2
call fcn.18011bc88
movss xmm1, dword [rbx]
comiss xmm1, xmm0
jbe 0x180079abf
movss dword [rbx], xmm0
mov rcx, qword [rdi]
mov rax, rcx
test rcx, rcx
je 0x180079a9b
mov rax, qword [rcx]
mov rax, qword [rax + 0x130]
call rax
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rbx + 4], xmm0
movss dword [rbx + 0xc], xmm2
mov rdx, qword [rdi]
call fcn.18007a4e0
movabs rsi, 0x628fbee4747bbc31
add rdi, 8
cmp rdi, r12
jne 0x180078c00
mov r14, qword [rbp - 0x49]
mov r15, qword [rbp - 0x41]
mov rax, qword [0x18021d0f0]
cmp byte [rax], 0
jne 0x180079bc7
mov rax, qword [r14]
mov r8, qword [rax + 0xf0]
lea rdx, str.chat
mov rcx, r14
call r8
nop
test al, al
jne 0x180079bc7
mov rax, qword [r14]
mov r8, qword [rax + 0xf0]
lea rdx, str.only_escape_menu
mov rcx, r14
call r8
nop
test al, al
jne 0x180079bc7
cmp byte [0x180218e48], al
jne 0x180079bc7
mov eax, dword [rbx + 4]
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x180079bc7
mov eax, dword [rbx + 8]
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x180079bc7
mov eax, dword [rbx + 0xc]
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x180079bc7
movss xmm0, dword [0x180152088]
comiss xmm0, dword [rbx]
jbe 0x180079bc7
mov rax, qword [0x18021d0f0]
movzx ecx, byte [rax + 0x328]
lea rax, [0x180218a20]
cmp dword [rax + rcx*4], 1
jne 0x180079bc7
cmp dword [0x18021d128], 0
jne 0x180079bc7
mov eax, dword [rbx + 0xc]
movsd xmm0, qword [rbx + 4]
movsd qword [r15 + 0xb0], xmm0
mov dword [r15 + 0xb8], eax
mov eax, dword [0x180218be0]
mov dword [0x18021d128], eax
mov rcx, qword [rbp - 0x29]
xor rcx, rsp
call fcn.1800e9b60
lea r11, [rsp + 0xc0]
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 xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret