Function at 0x18007eb20
Capabilities:
Encode data using xor
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 - 0x178]
sub rsp, 0x250
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 [0x1800d8040]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r15, rdx
mov qword [rsp + 0x38], rdx
mov rcx, qword [0x18013a3e8]
mov rax, qword [rcx]
mov r8, qword [rax + 0x118]
call r8
test al, al
je 0x18007fe16
mov rcx, qword [0x18013a3e8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x120]
call rdx
test al, al
je 0x18007fe16
mov rcx, qword [0x18013a3e8]
mov dword [rbp + 0x40], 0xffffffff
mov rax, qword [rcx]
mov r9, qword [rax + 0x178]
xor r8d, r8d
lea rdx, [rbp + 0x40]
call r9
mov edx, dword [rbp + 0x40]
inc edx
mov rcx, qword [0x18013a488]
call fcn.1800651b0
mov r14, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x18007fe16
mov rcx, rax
call fcn.1800643b0
cmp byte [rax], 0
je 0x18007fe16
mov rcx, r14
call fcn.180064290
mov edx, dword [rax]
mov rcx, qword [0x18013a488]
call fcn.180065240
mov r13, rax
test rax, rax
je 0x18007fe16
mov rcx, rax
call fcn.180079340
mov rcx, qword [rax]
test rcx, rcx
je 0x18007fe16
call fcn.180079220
mov edx, dword [rax]
and edx, 0x7fff
mov rcx, qword [0x18013a488]
call fcn.18007cbe0
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x18007fe16
mov rcx, rax
call fcn.18007e130
test al, al
je 0x18007fe16
mov rcx, rbx
call fcn.18007e250
test al, al
je 0x18007fe16
cmp byte [0x180138ac8], 0
je 0x18007ecbc
movsx eax, word [0x180138ace]
jmp 0x18007ecd7
mov rcx, rbx
call fcn.180078b80
mov rcx, rax
call fcn.180078700
mov rcx, rax
call fcn.180067610
movzx eax, word [rax]
mov word [0x18013a4b0], ax
cmp byte [0x180138a21], 0
je 0x18007ecee
mov word [0x180138ace], ax
test byte [r15 + 0x60], 1
jne 0x18007ed00
test byte [r15 + 0x70], 1
je 0x18007fe16
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x14], 0
je 0x18007fe16
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
mov r8d, 4
movabs rdi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
mov esi, dword [0x18013a0b4]
cmp byte [rcx + 0x20], 0
je 0x18007ee7a
mov rax, qword gs:[0x58]
mov rax, qword [rax + rsi*8]
mov ecx, dword [r8 + rax]
cmp dword [0x18013a814], ecx
jle 0x18007ee3c
lea rcx, [0x18013a814]
call fcn.1800ad598
cmp dword [0x18013a814], 0xffffffff
jne 0x18007ee3c
lea rdx, str.m_flFlashBangTime
mov rcx, rdi
mov al, 0x6d
nop dword [rax]
movsx rax, al
lea rdx, [rdx + 1]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [rdx]
test al, al
jne 0x18007edb0
lea r8, str.C_CSPlayerPawnBase
mov rdx, rdi
mov al, 0x43
nop dword [rax]
nop word [rax + rax]
movsx rax, al
lea r8, [r8 + 1]
xor rdx, rax
imul rdx, rbx
movzx eax, byte [r8]
test al, al
jne 0x18007ede0
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x58], rcx
lea r8, [rbp + 0x60]
lea rdx, [rsp + 0x20]
call fcn.180065550
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp + 0x58]
lea rdx, [rbp + 0x90]
call fcn.1800652e0
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
mov dword [0x18013a808], eax
lea rcx, [0x18013a814]
call fcn.1800ad52c
movsxd rbx, dword [0x18013a808]
mov rcx, qword [0x18013a408]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xb8]
call rdx
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x20]
mov rcx, rax
call rdx
movss xmm0, dword [rbx + r13]
subss xmm0, dword [rax + 0x34]
comiss xmm0, dword [0x1800c5590]
ja 0x18007fe16
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x23], 0
je 0x18007eeac
mov rcx, r13
call fcn.18007d880
test byte [rax], 1
je 0x18007fe16
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x28], xmm1
xor edi, edi
mov qword [rbp + 0x38], rdi
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x17], dil
jne 0x18007eefc
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x18], dil
je 0x18007ef43
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007ef30
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 6
lea rdx, str.head_0
mov rcx, rax
call fcn.18001c9b0
add qword [rbp + 0x30], 0x20
jmp 0x18007ef43
lea r8, str.head_0
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x17], 0
jne 0x18007ef85
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
je 0x18007efcc
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007efb9
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 6
lea rdx, str.neck_0
mov rcx, rax
call fcn.18001c9b0
add qword [rbp + 0x30], 0x20
jmp 0x18007efcc
lea r8, str.neck_0
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x17], 0
jne 0x18007f012
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x1a], 0
je 0x18007f0a7
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f04d
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 7
lea rdx, str.spine_1
mov rcx, rax
call fcn.18001c9b0
mov rax, qword [rbp + 0x30]
add rax, 0x20
mov qword [rbp + 0x30], rax
jmp 0x18007f064
lea r8, str.spine_1
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f094
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 7
lea rdx, str.spine_2
mov rcx, rax
call fcn.18001c9b0
add qword [rbp + 0x30], 0x20
jmp 0x18007f0a7
lea r8, str.spine_2
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x17], 0
jne 0x18007f0e9
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x1b], 0
je 0x18007f130
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f11d
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 6
lea rdx, str.pelvis
mov rcx, rax
call fcn.18001c9b0
add qword [rbp + 0x30], 0x20
jmp 0x18007f130
lea r8, str.pelvis
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x17], 0
jne 0x18007f176
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x1c], 0
je 0x18007f20b
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f1b1
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 0xb
lea rdx, str.arm_upper_L
mov rcx, rax
call fcn.18001c9b0
mov rax, qword [rbp + 0x30]
add rax, 0x20
mov qword [rbp + 0x30], rax
jmp 0x18007f1c8
lea r8, str.arm_upper_L
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f1f8
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 0xb
lea rdx, str.arm_upper_R
mov rcx, rax
call fcn.18001c9b0
add qword [rbp + 0x30], 0x20
jmp 0x18007f20b
lea r8, str.arm_upper_R
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x17], 0
jne 0x18007f251
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x1d], 0
je 0x18007f2e6
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f28c
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 0xb
lea rdx, str.arm_lower_L
mov rcx, rax
call fcn.18001c9b0
mov rax, qword [rbp + 0x30]
add rax, 0x20
mov qword [rbp + 0x30], rax
jmp 0x18007f2a3
lea r8, str.arm_lower_L
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f2d3
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 0xb
lea rdx, str.arm_lower_R
mov rcx, rax
call fcn.18001c9b0
add qword [rbp + 0x30], 0x20
jmp 0x18007f2e6
lea r8, str.arm_lower_R
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x17], 0
jne 0x18007f32c
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x1e], 0
je 0x18007f3c1
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f367
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 0xb
lea rdx, str.leg_upper_L
mov rcx, rax
call fcn.18001c9b0
mov rax, qword [rbp + 0x30]
add rax, 0x20
mov qword [rbp + 0x30], rax
jmp 0x18007f37e
lea r8, str.leg_upper_L
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f3ae
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 0xb
lea rdx, str.leg_upper_R
mov rcx, rax
call fcn.18001c9b0
add qword [rbp + 0x30], 0x20
jmp 0x18007f3c1
lea r8, str.leg_upper_R
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x17], 0
jne 0x18007f407
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x20]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x1f], 0
je 0x18007f49c
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f442
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 0xb
lea rdx, str.leg_lower_L
mov rcx, rax
call fcn.18001c9b0
mov rax, qword [rbp + 0x30]
add rax, 0x20
mov qword [rbp + 0x30], rax
jmp 0x18007f459
lea r8, str.leg_lower_L
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
mov rax, qword [rbp + 0x30]
cmp rax, qword [rbp + 0x38]
je 0x18007f489
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov r8d, 0xb
lea rdx, str.leg_lower_R
mov rcx, rax
call fcn.18001c9b0
add qword [rbp + 0x30], 0x20
jmp 0x18007f49c
lea r8, str.leg_lower_R
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.180080790
lea rdx, [rbp + 0x80]
mov rcx, r13
call fcn.18007dfa0
mov ebx, 1
mov dword [rbp + 0x40], ebx
mov rcx, qword [0x18013a408]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xb8]
call rdx
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x20]
mov rcx, rax
call rdx
cmp dword [rax + 0x10], ebx
jl 0x18007fdb4
mov qword [rbp + 0x60], rsi
mov r12, qword gs:[0x58]
xorps xmm9, xmm9
nop dword [rax]
mov edx, ebx
mov rcx, qword [0x18013a488]
call fcn.1800651b0
mov rbx, rax
test rax, rax
je 0x18007faa6
cmp rax, r14
je 0x18007faa6
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rdi
mov r8d, 0x13
lea rdx, str.CCSPlayerController
lea rcx, [rbp - 0x78]
call fcn.18001c9b0
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.180067850
test al, al
je 0x18007faa6
mov rcx, rbx
call fcn.1800643b0
cmp byte [rax], 0
je 0x18007faa6
mov rcx, rbx
call fcn.180064290
mov edx, dword [rax]
mov rcx, qword [0x18013a488]
call fcn.180065240
mov r14, rax
test rax, rax
je 0x18007faa1
mov eax, 4
mov qword [rbp - 0x80], rax
mov rcx, qword [r12 + rsi*8]
mov qword [rsp + 0x70], rcx
mov ecx, dword [rax + rcx]
cmp dword [0x18013a7e0], ecx
jle 0x18007f668
lea rcx, [0x18013a7e0]
call fcn.1800ad598
cmp dword [0x18013a7e0], 0xffffffff
jne 0x18007f668
lea rcx, str.m_bGunGameImmunity
movabs r10, 0xcbf29ce484222325
mov rdx, r10
mov al, 0x6d
movabs r9, 0x100000001b3
nop dword [rax]
movsx rax, al
lea rcx, [rcx + 1]
xor rdx, rax
imul rdx, r9
movzx eax, byte [rcx]
test al, al
jne 0x18007f5e0
lea r8, str.C_CSPlayerPawnBase
mov rcx, r10
mov al, 0x43
nop dword [rax]
nop word [rax + rax]
movsx rax, al
lea r8, [r8 + 1]
xor rcx, rax
imul rcx, r9
movzx eax, byte [r8]
test al, al
jne 0x18007f610
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x68], rdx
lea r8, [rbp + 0x58]
lea rdx, [rbp - 0x58]
call fcn.180065550
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp + 0x68]
lea rdx, [rbp - 0x48]
call fcn.1800652e0
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
mov dword [0x18013a7b0], eax
lea rcx, [0x18013a7e0]
call fcn.1800ad52c
movsxd rax, dword [0x18013a7b0]
cmp byte [rax + r14], 0
jne 0x18007faa1
lea r8, [0x18013a4b0]
lea rdx, [rbp - 0x38]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x15], 0
je 0x18007f6e4
mov rcx, qword [0x18013a440]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x98]
call rdx
cmp eax, 1
jne 0x18007f6ca
mov rcx, qword [0x18013a440]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xa0]
call rdx
cmp eax, 2
je 0x18007f6e4
mov rcx, r14
call fcn.180078940
mov ebx, dword [rax]
mov rcx, r13
call fcn.180078940
cmp dword [rax], ebx
je 0x18007faa1
mov rax, qword [r15 + 0x40]
mov rcx, qword [rax + 0x40]
movsd xmm0, qword [rcx + 0x18]
movsd qword [rsp + 0x40], xmm0
mov esi, dword [rcx + 0x20]
mov dword [rsp + 0x64], esi
movaps xmm12, xmm9
movaps xmm13, xmm9
mov qword [rbp + 0x48], 0
mov dword [rbp + 0x50], 0
mov r12, rdi
mov rdx, r13
call fcn.18007eaa0
test al, al
je 0x18007f746
lea r8, [0x18013a4b0]
lea rdx, [rbp - 0x28]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
movss xmm10, dword [rcx + 0x48]
jmp 0x18007f78b
mov r8, qword [rsp + 0x78]
mov rdx, r13
call fcn.18007e900
lea r8, [0x18013a4b0]
lea rcx, [0x180138870]
test al, al
je 0x18007f779
lea rdx, [rbp - 0x18]
call fcn.18005b480
mov rcx, qword [rax]
movss xmm10, dword [rcx + 0x2c]
jmp 0x18007f78b
lea rdx, [rbp - 8]
call fcn.18005b480
mov rcx, qword [rax]
movss xmm10, dword [rcx + 0x24]
lea rdx, [rsp + 0x20]
mov rcx, r13
call fcn.18007e5a0
movss xmm0, dword [rax]
movss dword [rbp + 0x58], xmm0
movss xmm2, dword [rax + 4]
movss dword [rbp + 0x68], xmm2
movss xmm1, dword [rax + 8]
movss dword [rsp + 0x68], xmm1
mov rbx, qword [rbp + 0x28]
mov r15, qword [rbp + 0x30]
cmp rbx, r15
je 0x18007fa8f
movaps xmm15, xmm0
addss xmm15, xmm0
movaps xmm0, xmm1
addss xmm0, xmm1
movd xmm1, esi
addss xmm0, xmm1
movaps xmm14, xmm2
addss xmm14, xmm2
addss xmm14, dword [rsp + 0x44]
addss xmm15, dword [rsp + 0x40]
movaps xmm1, xmm9
subss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
mov rdi, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
nop dword [rax]
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.180054e80
mov r8, rax
lea rdx, [rbp + 0x90]
mov rcx, r14
call fcn.18007e710
movss xmm8, dword [rbp + 0x88]
subss xmm8, dword [rbp + 0x98]
movss xmm6, dword [rbp + 0x84]
subss xmm6, dword [rbp + 0x94]
movss xmm7, dword [rbp + 0x80]
subss xmm7, dword [rbp + 0x90]
movaps xmm1, xmm7
mulss xmm1, xmm7
movaps xmm0, xmm6
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x18007f883
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18007f88b
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm8, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm11, xmm0
mulss xmm11, dword [0x1800c56b4]
divss xmm6, xmm7
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm8, xmm0
mulss xmm8, dword [0x1800c56b4]
comiss xmm7, xmm9
jb 0x18007f8ce
addss xmm8, dword [0x1800c5720]
movaps xmm1, xmm8
subss xmm1, xmm14
movaps xmm0, xmm11
subss xmm0, xmm15
movss dword [rbp + 0x70], xmm0
movss dword [rbp + 0x74], xmm1
movss xmm0, dword [rsp + 0x60]
movss dword [rbp + 0x78], xmm0
lea rcx, [rbp + 0x70]
call fcn.18007d370
movss xmm7, dword [0x1800c5590]
movaps xmm1, xmm7
movss xmm0, dword [rbp + 0x74]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movaps xmm1, xmm7
movss xmm0, dword [rbp + 0x70]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x18007f935
sqrtss xmm6, xmm6
jmp 0x18007f940
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
movaps xmm7, xmm9
comiss xmm6, xmm10
ja 0x18007fa77
lea r8, [0x18013a4b0]
lea rdx, [rbp + 8]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x16], 0
je 0x18007f98f
lea r9, [rbp + 0x90]
lea r8, [rbp + 0x80]
mov rdx, r13
mov rcx, r14
call fcn.18007dc80
test al, al
je 0x18007fa77
lea r8, [0x18013a4b0]
lea rdx, [rbp + 0x18]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x22], 0
je 0x18007f9c4
mov rcx, r14
call fcn.18007d880
movaps xmm7, xmm9
test byte [rax], 1
je 0x18007fa77
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x50]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x21], 0
je 0x18007fa50
mov eax, dword [rdi + rsi]
cmp dword [0x18013c70c], eax
jle 0x18007fa1f
lea rcx, [0x18013c70c]
call fcn.1800ad598
cmp dword [0x18013c70c], 0xffffffff
jne 0x18007fa1f
mov rax, qword [0x18013a2d8]
mov qword [0x18013c710], rax
lea rcx, [0x18013c70c]
call fcn.1800ad52c
mov rax, qword [0x18013c710]
test rax, rax
je 0x18007fa50
xor r8d, r8d
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x80]
call rax
comiss xmm0, dword [0x1800c5518]
setae al
movaps xmm7, xmm9
test al, al
jne 0x18007fa77
movaps xmm7, xmm9
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x18013a4b4], eax
ja 0x18007fa77
comiss xmm10, xmm6
jbe 0x18007fa77
movaps xmm12, xmm11
movaps xmm13, xmm8
movaps xmm10, xmm6
mov r12, r14
add rbx, 0x20
cmp rbx, r15
jne 0x18007f810
xor edi, edi
mov esi, dword [rsp + 0x64]
test r12, r12
jne 0x18007fadb
mov r12, qword gs:[0x58]
mov rsi, qword [rbp + 0x60]
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov ebx, dword [rbp + 0x40]
inc ebx
mov dword [rbp + 0x40], ebx
mov rcx, qword [0x18013a408]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xb8]
call rdx
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x20]
mov rcx, rax
call rdx
cmp ebx, dword [rax + 0x10]
jle 0x18007f4f0
jmp 0x18007fdb4
mov r14, qword [rsp + 0x78]
mov r8, r14
mov rdx, r13
call fcn.18007e900
test al, al
je 0x18007fb74
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x50]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
movd xmm6, dword [rcx + 0x38]
cvtdq2ps xmm6, xmm6
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x50]
lea rcx, [0x180138870]
call fcn.18005b480
movss xmm2, dword [rsp + 0x68]
mulss xmm2, xmm9
movss xmm3, dword [rbp + 0x68]
mulss xmm3, xmm6
movss xmm1, dword [0x1800c53cc]
mulss xmm2, xmm1
mulss xmm3, xmm1
mov rax, qword [rax]
movd xmm0, dword [rax + 0x34]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rbp + 0x58]
mulss xmm0, xmm1
subss xmm12, xmm0
subss xmm13, xmm3
subss xmm7, xmm2
movzx eax, byte [0x180138a50]
test al, al
jne 0x18007fc86
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x50]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x44], dil
je 0x18007fc30
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x50]
lea rcx, [0x180138870]
call fcn.18005b480
mov rbx, qword [rax]
mov rcx, r13
call fcn.18007e480
mov ecx, dword [rbx + 0x4c]
cmp dword [rax], ecx
jge 0x18007fc30
mov r8, qword [rsp + 0x38]
mov rcx, qword [r8 + 0x38]
mov eax, dword [rcx]
test eax, eax
jle 0x18007fdb4
mov rdx, rdi
cmp edi, eax
jge 0x18007fc1b
cmp edi, dword [r8 + 0x30]
jge 0x18007fc1b
mov rax, qword [rdx + rcx + 8]
test rax, rax
je 0x18007fc1b
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x18007fc1b
movss dword [rcx + 0x18], xmm12
movss dword [rcx + 0x1c], xmm13
movss dword [rcx + 0x20], xmm7
or qword [rax + 0x10], 1
inc edi
add rdx, 8
mov rcx, qword [r8 + 0x38]
mov eax, dword [rcx]
cmp edi, eax
jl 0x18007fbec
jmp 0x18007fdb4
movzx eax, byte [0x180138a50]
test al, al
jne 0x18007fc86
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x50]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
cmp byte [rcx + 0x44], dil
je 0x18007fc86
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x50]
lea rcx, [0x180138870]
call fcn.18005b480
mov rbx, qword [rax]
mov rcx, r13
call fcn.18007e480
mov edx, dword [rbx + 0x4c]
cmp dword [rax], edx
jl 0x18007fcb7
mov r8, r14
mov rdx, r13
call fcn.18007e900
test al, al
je 0x18007fcb7
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x50]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
movss xmm6, dword [rcx + 0x30]
jmp 0x18007fcd7
lea r8, [0x18013a4b0]
lea rdx, [rsp + 0x50]
lea rcx, [0x180138870]
call fcn.18005b480
mov rcx, qword [rax]
movss xmm6, dword [rcx + 0x28]
movd xmm0, esi
subss xmm7, xmm0
subss xmm13, dword [rsp + 0x44]
subss xmm12, dword [rsp + 0x40]
movss dword [rbp + 0x48], xmm12
movss dword [rbp + 0x4c], xmm13
movss dword [rbp + 0x50], xmm7
lea rcx, [rbp + 0x48]
call fcn.18007d370
movss xmm0, dword [rbp + 0x48]
divss xmm0, xmm6
addss xmm0, dword [rsp + 0x40]
movss dword [rbp + 0x48], xmm0
movss xmm1, dword [rbp + 0x4c]
divss xmm1, xmm6
addss xmm1, dword [rsp + 0x44]
movss dword [rbp + 0x4c], xmm1
lea rcx, [rbp + 0x48]
call fcn.18007d370
mov rcx, qword [0x18013a420]
mov rax, qword [rcx]
mov r9, qword [rax + 0x270]
lea r8, [rbp + 0x48]
xor edx, edx
call r9
mov r8, qword [rsp + 0x38]
mov rcx, qword [r8 + 0x38]
mov eax, dword [rcx]
test eax, eax
jle 0x18007fdb4
mov rdx, rdi
cmp edi, eax
jge 0x18007fda4
cmp edi, dword [r8 + 0x30]
jge 0x18007fda4
mov rax, qword [rdx + rcx + 8]
test rax, rax
je 0x18007fda4
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x18007fda4
movss xmm0, dword [rbp + 0x48]
movss dword [rcx + 0x18], xmm0
movss xmm1, dword [rbp + 0x4c]
movss dword [rcx + 0x1c], xmm1
movss xmm0, dword [rbp + 0x50]
movss dword [rcx + 0x20], xmm0
or qword [rax + 0x10], 1
inc edi
add rdx, 8
mov rcx, qword [r8 + 0x38]
mov eax, dword [rcx]
cmp edi, eax
jl 0x18007fd68
mov rbx, qword [rbp + 0x28]
test rbx, rbx
je 0x18007fe16
mov rdi, qword [rbp + 0x30]
cmp rbx, rdi
je 0x18007fddb
mov rcx, rbx
call fcn.18001c4e0
add rbx, 0x20
cmp rbx, rdi
jne 0x18007fdc6
mov rbx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x38]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x18007fe0e
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18007fe0e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1800ad6e0
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1800ad4d0
lea r11, [rsp + 0x250]
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