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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x198]
sub rsp, 0x258
movaps xmmword [rax - 0x58], xmm6
xor r12d, r12d
movaps xmmword [rax - 0x68], xmm7
mov r14, r9
movaps xmmword [rax - 0x78], xmm8
mov rdi, rdx
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
mov rax, qword [0x18004c2f8]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x78], rax
test rax, rax
je 0x180007fd1
mov r15, qword [rdx + 0x10]
test r15, r15
je 0x180007fd1
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r9d, r9d
mov dword [rbp + 0x1a4], 0xed18ed18
xor r8d, r8d
mov rax, qword [rbp + 0x1a0]
xor edx, edx
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x70], rax
mov rax, qword [r15]
mov qword [rsp + 0x28], r12
mov qword [rbp - 0x80], r12
mov rcx, qword [rax + 0x1d0]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.180029d80
test al, al
jne 0x180007fd1
mov r13, qword [rdi + 0x1cd8]
test r13, r13
je 0x180007fd1
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r9d, r9d
mov dword [rbp + 0x1a4], 0xed18ed18
xor r8d, r8d
mov rax, qword [rbp + 0x1a0]
xor edx, edx
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x70], rax
mov rax, qword [r15]
mov qword [rsp + 0x28], r12
mov qword [rbp - 0x80], r12
mov rcx, qword [rax + 0x478]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.180029d80
test rax, rax
je 0x180007fd1
or qword [rax + 0x28], 0x10
xor r9d, r9d
and dword [rbp - 0x60], r12d
xor r8d, r8d
and dword [rbp - 0x5c], r12d
xor edx, edx
and dword [rbp - 0x58], r12d
mov dword [rbp + 0x1a0], 0xa3f0ac80
mov dword [rbp + 0x1a4], 0xed18ed18
mov rax, qword [rbp + 0x1a0]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x70], rax
mov rax, qword [r15]
mov qword [rsp + 0x28], r12
mov qword [rbp - 0x80], r12
mov rcx, qword [rax + 0x130]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.180029d80
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.1800087ac
test al, al
je 0x180007fd1
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r9d, r9d
mov dword [rbp + 0x1a4], 0xed18ed18
xor r8d, r8d
mov rax, qword [rbp + 0x1a0]
xor edx, edx
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x70], rax
mov rax, qword [r15]
mov qword [rsp + 0x28], r12
mov qword [rbp - 0x80], r12
mov rcx, qword [rax + 0x3d0]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov rbx, rax
test rax, rax
je 0x180007fd1
mov rax, qword [rax]
xor r9d, r9d
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp + 0x1a4], 0xed18ed18
xor edx, edx
mov rcx, qword [rbp + 0x1a0]
xor rcx, qword [0x18004c2e0]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rax + 0xa8]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x48], rcx
mov rcx, rbx
mov qword [rsp + 0x28], r12
mov qword [rbp - 0x40], r12
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov rsi, rax
test rax, rax
je 0x180007fd1
mov rax, qword [rbx]
xor r9d, r9d
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp + 0x1a4], 0xed18ed18
xor edx, edx
mov rcx, qword [rbp + 0x1a0]
xor rcx, qword [0x18004c2e0]
mov qword [rbp + 0x30], rcx
mov rcx, qword [rax + 0x88]
lea rax, [rbp + 0x30]
mov qword [rbp + 0x38], rcx
mov rcx, rbx
mov qword [rsp + 0x28], r12
mov qword [rbp + 0x40], r12
mov qword [rsp + 0x20], rax
call fcn.180029d80
xor r8d, r8d
mov r12, rax
test rax, rax
je 0x180007fd1
cmp dword [0x18004c280], r8d
movss xmm13, dword [0x18004a814]
movss xmm9, dword [0x18004a820]
je 0x1800062b4
movss xmm3, dword [0x18004c0ac]
movss xmm2, dword [0x18004c0a8]
movss xmm1, dword [0x18004c0a4]
movss xmm0, dword [0x18004c0a0]
call fcn.18000902c
mov r10, qword [0x18004c3b0]
mov ebx, eax
mov qword [rsp + 0x28], r8
xor r9d, r9d
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor edx, edx
mov dword [rbp + 0x1a4], 0xed18ed18
mov rax, qword [rbp + 0x1a0]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x70], rax
mov rax, qword [r10]
mov qword [rbp - 0x80], r8
mov rcx, qword [rax + 0x1c0]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10, qword [0x18004c3b0]
mov edi, eax
and qword [rsp + 0x28], 0
xor r9d, r9d
and qword [rbp - 0x80], 0
xor r8d, r8d
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor edx, edx
mov dword [rbp + 0x1a4], 0xed18ed18
mov rcx, qword [rbp + 0x1a0]
xor rcx, qword [0x18004c2e0]
mov qword [rsp + 0x70], rcx
mov rcx, qword [r10]
mov rax, qword [rcx + 0x1c8]
mov rcx, r10
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
call fcn.180029d80
movss xmm0, dword [rbp - 0x5c]
movss xmm3, dword [rbp - 0x60]
mov rcx, qword [rbp + 0x1b0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov dword [rsp + 0x30], ebx
movd xmm2, edi
movss dword [rsp + 0x28], xmm9
cvtdq2ps xmm2, xmm2
mulss xmm1, xmm13
movss dword [rsp + 0x20], xmm0
call fcn.180009c48
mov rdi, qword [rbp + 0x1a8]
xor r8d, r8d
cmp dword [0x18004c27c], r8d
je 0x180006559
mov r14, qword [rbp + 0x1b0]
lea rbx, [0x18004c0d0]
mov dword [rbp + 0x1a0], 0xa3f0ac80
mov dword [rbp + 0x1a4], 0xed18ed18
mov rax, qword [rbp + 0x1a0]
xor r9d, r9d
xor rax, qword [0x18004c2e0]
mov rdx, qword [rbx]
mov qword [rsp + 0x70], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], r8
mov qword [rbp - 0x80], r8
xor r8d, r8d
mov rcx, qword [rax + 0x48]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180029d80
xor r8d, r8d
test eax, eax
js 0x18000634a
mov qword [rsp + 0x28], r14
mov r9, r15
mov r8, r12
mov qword [rsp + 0x20], rdi
mov rdx, rsi
mov ecx, eax
call fcn.18000569c
xor r8d, r8d
add rbx, 8
lea rax, str.vm_wing_l_wrist_jnt
cmp rbx, rax
jne 0x1800062e3
xor edx, edx
mov cl, 0x42
call fcn.180001060
mov edx, 1
mov byte [rsp + 0x50], al
mov cl, 0x69
call fcn.180001060
mov edx, 2
mov byte [rsp + 0x51], al
mov cl, 0x70
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x52], al
mov cl, 0x30
call fcn.180001060
mov edx, 4
mov byte [rsp + 0x53], al
mov cl, 0x31
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x54], al
mov cl, 0x20
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x55], al
mov cl, 0x4c
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x56], al
mov cl, 0x6f
call fcn.180001060
mov edx, 8
mov byte [rsp + 0x57], al
call fcn.180001060
mov edx, 9
mov byte [rsp + 0x58], al
mov cl, 0x6b
call fcn.180001060
mov r14, qword [rbp + 0x1b8]
mov edx, r8d
mov byte [rsp + 0x59], al
xor eax, eax
mov byte [rsp + 0x5a], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 0xa
jb 0x180006405
mov byte [rsp + 0x5a], r8b
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x28], r8
xor r9d, r9d
mov qword [rbp - 0x80], r8
xor r8d, r8d
mov dword [rbp + 0x1a0], 0xa3f0ac80
mov dword [rbp + 0x1a4], 0xed18ed18
mov rax, qword [rbp + 0x1a0]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x70], rax
mov rax, qword [rsi]
mov rcx, qword [rax + 0x48]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180029d80
test eax, eax
js 0x180007fd1
mov rcx, qword [rbp + 0x1b0]
mov r9, r15
mov qword [rsp + 0x28], rcx
mov r8, r12
mov rcx, qword [rbp + 0x78]
mov rdx, rsi
mov qword [rsp + 0x20], rcx
mov ecx, eax
call fcn.180005b40
cmp byte [r13 + 0x11f], 0
je 0x180006559
cmp dword [r13 + 0x574], 9
jne 0x180006559
mov r14, qword [rbp + 0x1b0]
lea rbx, str.vm_wing_l_wrist_jnt
mov dword [rbp + 0x1a0], 0xa3f0ac80
mov dword [rbp + 0x1a4], 0xed18ed18
mov rax, qword [rbp + 0x1a0]
xor r9d, r9d
xor rax, qword [0x18004c2e0]
xor r8d, r8d
and qword [rsp + 0x28], 0
mov rdx, qword [rbx]
and qword [rbp - 0x80], 0
mov qword [rsp + 0x70], rax
mov rax, qword [rsi]
mov rcx, qword [rax + 0x48]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180029d80
test eax, eax
js 0x180006542
mov qword [rsp + 0x28], r14
mov r9, r15
mov r8, r12
mov qword [rsp + 0x20], rdi
mov rdx, rsi
mov ecx, eax
call fcn.18000569c
add rbx, 8
lea rax, [0x18004c270]
cmp rbx, rax
jne 0x1800064df
mov r14, qword [rbp + 0x1b8]
xor edi, edi
cmp dword [0x18004c270], edi
je 0x180006731
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r9d, r9d
mov dword [rbp + 0x1a4], 0xed18ed18
xor r8d, r8d
mov rax, qword [rbp + 0x1a0]
xor edx, edx
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x70], rax
mov rax, qword [r15]
mov qword [rsp + 0x28], rdi
mov qword [rbp - 0x80], rdi
mov rcx, qword [rax + 0x80]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov rcx, rax
call fcn.180029620
mov rbx, qword [r14 + 0x10]
mov rdi, rax
xor esi, esi
mov dword [rbp + 0x1a0], 0xa3f0ac80
mov dword [rbp + 0x1a4], 0xed18ed18
xor r9d, r9d
mov rcx, qword [rbp + 0x1a0]
xor r8d, r8d
xor rcx, qword [0x18004c2e0]
xor edx, edx
mov qword [rsp + 0x70], rcx
mov rcx, qword [r15]
mov qword [rsp + 0x28], rsi
mov qword [rbp - 0x80], rsi
mov rax, qword [rcx + 0x80]
mov rcx, r15
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
call fcn.180029d80
movss xmm1, dword [r14 + 8]
mov r9d, edi
mov rcx, qword [r14]
mov r8, rax
call rbx
movss xmm3, dword [0x18004c07c]
movaps xmm6, xmm0
movss xmm0, dword [0x18004c070]
movss xmm2, dword [0x18004c078]
movss xmm1, dword [0x18004c074]
call fcn.18000902c
mov ebx, eax
mov dword [rbp + 0x1a0], 0xa3f0ac80
mov dword [rbp + 0x1a4], 0xed18ed18
xor r9d, r9d
mov rax, qword [rbp + 0x1a0]
xor r8d, r8d
xor rax, qword [0x18004c2e0]
xor edx, edx
mov qword [rsp + 0x70], rax
mov rax, qword [r15]
mov qword [rsp + 0x28], rsi
mov qword [rbp - 0x80], rsi
mov rcx, qword [rax + 0x80]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.180029d80
movss xmm0, dword [rbp - 0x60]
mov r9d, edi
mov dword [rsp + 0x30], ebx
mulss xmm6, xmm13
mov dword [rsp + 0x28], ebx
mov dword [rbp - 0x48], 0x42c80000
mov dword [rbp - 0x44], 0x42c80000
subss xmm0, xmm6
mov qword [rsp + 0x20], r14
subss xmm0, xmm9
movss dword [rbp - 0x50], xmm0
movss xmm0, dword [rbp - 0x5c]
movss dword [rbp - 0x4c], xmm0
mov r13, qword [rbp + 0x1b0]
lea rdx, [rbp - 0x50]
mov rcx, r13
mov r8, rax
call fcn.18000a468
movss xmm1, dword [rbp - 0x5c]
xor edi, edi
movss xmm0, dword [r14 + 8]
addss xmm0, xmm9
addss xmm1, xmm0
movss dword [rbp - 0x5c], xmm1
jmp 0x180006738
mov r13, qword [rbp + 0x1b0]
cmp dword [0x18004c274], edi
movdqa xmm10, xmmword [0x18004a9d0]
movdqa xmm12, xmmword [0x18004a9e0]
movdqa xmm11, xmmword [0x18004a9b0]
mov r12, qword [rbp + 0x1a8]
je 0x180006d72
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor edx, edx
mov dword [rbp + 0x1a4], 0xed18ed18
mov rax, qword [rbp + 0x1a0]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x70], rax
mov rax, qword [r12]
mov qword [rbp - 0x80], rdi
mov rcx, qword [rax + 0x170]
mov qword [rsp + 0x78], rcx
mov cl, 0x49
call fcn.180001060
mov edx, 1
mov cl, 0x6e
mov bl, al
call fcn.180001060
mov edx, 4
mov cl, 0x63
mov dil, al
call fcn.180001060
and qword [rsp + 0x28], 0
mov sil, al
lea rax, [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, r12
call fcn.180029d80
mov ecx, 2
mov byte [rsp + 0x40], bl
mov byte [rsp + 0x41], dil
mov edx, ecx
cmp eax, ecx
jne 0x180006a9b
mov cl, 0x66
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x42], al
mov cl, 0x65
mov r12b, al
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x43], al
mov cl, 0x74
mov byte [rsp + 0x44], sil
mov r13b, al
call fcn.180001060
mov edx, 6
mov byte [rbp + 0x1a0], al
mov cl, 0x65
mov byte [rsp + 0x45], al
call fcn.180001060
mov edx, 7
mov byte [rbp - 0x30], al
mov cl, 0x64
mov byte [rsp + 0x46], al
call fcn.180001060
mov byte [rbp - 0x2f], al
lea rdx, [rsp + 0x40]
mov byte [rsp + 0x47], al
xor eax, eax
mov byte [rsp + 0x48], al
xor ecx, ecx
movdqa xmmword [rbp - 0x50], xmm12
movdqa xmmword [rsp + 0x70], xmm12
movd xmm0, dword [rbp - 0x50]
movd xmm1, ecx
add ecx, 4
pshufd xmm1, xmm1, 0
paddd xmm1, xmm11
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rdx]
xorps xmm1, xmm0
movd dword [rdx], xmm1
lea rdx, [rdx + 4]
cmp ecx, 8
jb 0x18000687e
lea rcx, [rsp + 0x40]
mov byte [rsp + 0x48], al
call fcn.180029620
mov r10, qword [r14 + 0x10]
lea rdx, [rbp - 0x70]
mov r8, rax
mov qword [rsp + 0x40], rax
mov al, byte [rbp + 0x1a0]
mov byte [rbp - 0x6b], al
mov al, byte [rbp - 0x30]
mov byte [rbp - 0x6a], al
mov al, byte [rbp - 0x2f]
mov byte [rbp - 0x69], al
xor eax, eax
mov byte [rbp - 0x6f], dil
xor edi, edi
mov byte [rbp - 0x6c], sil
mov ecx, edi
mov byte [rbp - 0x70], bl
lea esi, [rax + 4]
mov byte [rbp - 0x6e], r12b
mov byte [rbp - 0x6d], r13b
mov byte [rbp - 0x68], al
movd xmm0, dword [rsp + 0x70]
movd xmm1, ecx
add ecx, esi
pshufd xmm1, xmm1, 0
paddd xmm1, xmm11
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rdx]
xorps xmm1, xmm0
movd dword [rdx], xmm1
add rdx, rsi
cmp ecx, 8
jb 0x18000690a
movss xmm1, dword [r14 + 8]
mov r9d, r8d
mov rcx, qword [r14]
lea r8, [rbp - 0x70]
mov byte [rbp - 0x68], dil
call r10
xor edx, edx
mov dword [rbp + 0x1a0], 0xff0000ff
mov cl, 0x49
mov dword [rsp + 0x60], 0xff0000ff
movaps xmm2, xmm0
call fcn.180001060
mov edx, 1
mov byte [rbp - 0x70], al
mov cl, 0x6e
call fcn.180001060
mov edx, 2
mov byte [rbp - 0x6f], al
mov cl, 0x66
call fcn.180001060
mov edx, 3
mov byte [rbp - 0x6e], al
mov cl, 0x65
call fcn.180001060
mov edx, esi
mov byte [rbp - 0x6d], al
mov cl, 0x63
call fcn.180001060
mov edx, 5
mov byte [rbp - 0x6c], al
mov cl, 0x74
call fcn.180001060
mov edx, 6
mov byte [rbp - 0x6b], al
mov cl, 0x65
call fcn.180001060
mov edx, 7
mov byte [rbp - 0x6a], al
mov cl, 0x64
call fcn.180001060
mov byte [rbp - 0x69], al
lea rcx, [rbp - 0x70]
xor eax, eax
movdqa xmmword [rbp - 0x50], xmm12
mov byte [rbp - 0x68], al
movd xmm0, dword [rbp - 0x50]
movd xmm1, eax
add eax, esi
pshufd xmm1, xmm1, 0
paddd xmm1, xmm11
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
add rcx, rsi
cmp eax, 8
jb 0x1800069f0
movss xmm0, dword [rbp - 0x60]
lea r8, [rbp - 0x70]
mov eax, dword [rbp + 0x1a0]
lea rdx, [rbp - 0x50]
mov r13, qword [rbp + 0x1b0]
mov r9d, dword [rsp + 0x40]
mov rcx, r13
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x60]
mulss xmm2, xmm13
mov dword [rsp + 0x28], eax
mov byte [rbp - 0x68], dil
mov dword [rbp - 0x48], 0x42c80000
subss xmm0, xmm2
mov dword [rbp - 0x44], 0x42c80000
mov qword [rsp + 0x20], r14
subss xmm0, xmm9
movss dword [rbp - 0x50], xmm0
movss xmm0, dword [rbp - 0x5c]
movss dword [rbp - 0x4c], xmm0
call fcn.18000a468
mov r12, qword [rbp + 0x1a8]
jmp 0x180006d59
mov cl, 0x6e
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x42], al
mov cl, 0x6f
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x43], al
mov cl, 0x65
mov byte [rsp + 0x44], sil
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x45], al
mov cl, 0x6e
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x46], al
mov cl, 0x74
call fcn.180001060
mov byte [rsp + 0x47], al
lea rcx, [rsp + 0x40]
xor eax, eax
movdqa xmmword [rbp - 0x50], xmm12
mov byte [rsp + 0x48], al
lea esi, [rdx - 3]
xor edi, edi
movd xmm0, dword [rbp - 0x50]
movd xmm1, eax
add eax, esi
pshufd xmm1, xmm1, 0
paddd xmm1, xmm11
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
add rcx, rsi
cmp eax, 8
jb 0x180006b01
lea rcx, [rsp + 0x40]
mov byte [rsp + 0x48], dil
call fcn.180029620
mov r10, qword [r14 + 0x10]
xor edx, edx
mov cl, 0x49
mov rbx, rax
call fcn.180001060
mov edx, 1
mov byte [rsp + 0x40], al
mov cl, 0x6e
call fcn.180001060
mov edx, 2
mov byte [rsp + 0x41], al
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x42], al
mov cl, 0x6f
call fcn.180001060
mov edx, esi
mov byte [rsp + 0x43], al
mov cl, 0x63
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x44], al
mov cl, 0x65
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x45], al
mov cl, 0x6e
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x46], al
mov cl, 0x74
call fcn.180001060
mov byte [rsp + 0x47], al
lea rcx, [rsp + 0x40]
xor eax, eax
movdqa xmmword [rbp - 0x50], xmm12
mov byte [rsp + 0x48], al
movd xmm0, dword [rbp - 0x50]
movd xmm1, eax
add eax, esi
pshufd xmm1, xmm1, 0
paddd xmm1, xmm11
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
add rcx, rsi
cmp eax, 8
jb 0x180006bd8
movss xmm1, dword [r14 + 8]
lea r8, [rsp + 0x40]
mov rcx, qword [r14]
mov r9d, ebx
mov byte [rsp + 0x48], dil
call r10
or dword [rbp + 0x1a0], 0xffffffff
xor edx, edx
or dword [rsp + 0x60], 0xffffffff
mov cl, 0x49
movaps xmm2, xmm0
call fcn.180001060
mov edx, 1
mov byte [rsp + 0x40], al
mov cl, 0x6e
call fcn.180001060
mov edx, 2
mov byte [rsp + 0x41], al
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x42], al
mov cl, 0x6f
call fcn.180001060
mov edx, esi
mov byte [rsp + 0x43], al
mov cl, 0x63
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x44], al
mov cl, 0x65
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x45], al
mov cl, 0x6e
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x46], al
mov cl, 0x74
call fcn.180001060
mov byte [rsp + 0x47], al
lea rcx, [rsp + 0x40]
xor eax, eax
movdqa xmmword [rbp - 0x50], xmm12
mov byte [rsp + 0x48], al
movd xmm0, dword [rbp - 0x50]
movd xmm1, eax
add eax, esi
pshufd xmm1, xmm1, 0
paddd xmm1, xmm11
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
add rcx, rsi
cmp eax, 8
jb 0x180006cc1
movss xmm0, dword [rbp - 0x60]
lea r8, [rsp + 0x40]
mov eax, dword [rbp + 0x1a0]
lea rdx, [rbp - 0x50]
mov dword [rsp + 0x30], eax
mov r9d, ebx
mov eax, dword [rsp + 0x60]
mov rcx, r13
mulss xmm2, xmm13
mov dword [rsp + 0x28], eax
mov byte [rsp + 0x48], dil
mov dword [rbp - 0x48], 0x42c80000
subss xmm0, xmm2
mov dword [rbp - 0x44], 0x42c80000
mov qword [rsp + 0x20], r14
subss xmm0, xmm9
movss dword [rbp - 0x50], xmm0
movss xmm0, dword [rbp - 0x5c]
movss dword [rbp - 0x4c], xmm0
call fcn.18000a468
movss xmm1, dword [rbp - 0x5c]
movss xmm0, dword [r14 + 8]
addss xmm0, xmm9
addss xmm1, xmm0
movss dword [rbp - 0x5c], xmm1
cmp dword [0x18004c284], edi
je 0x180007693
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r9d, r9d
mov dword [rbp + 0x1a4], 0xed18ed18
xor r8d, r8d
mov rax, qword [rbp + 0x1a0]
xor edx, edx
xor rax, qword [0x18004c2e0]
mov qword [rbp + 0x48], rax
mov rax, qword [r12]
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x58], rdi
mov rcx, qword [rax + 0x248]
lea rax, [rbp + 0x48]
mov qword [rbp + 0x50], rcx
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov rsi, rax
test rax, rax
je 0x180007693
mov dword [rbp + 0x60], 0xa3f0ac80
mov ebx, edi
mov dword [rbp + 0x64], 0xed18ed18
xor r9d, r9d
mov rax, qword [rbp + 0x60]
xor r8d, r8d
xor rax, qword [0x18004c2e0]
xor edx, edx
mov qword [rbp - 0x50], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x60], ebx
mov qword [rbp - 0x40], rdi
mov rcx, qword [rax + 0x170]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x48], rcx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180029d80
test eax, eax
jle 0x180007693
mov dword [rbp + 0x68], 0xa3f0ac80
mov dword [rbp + 0x6c], 0xed18ed18
mov rax, qword [rbp + 0x68]
xor r9d, r9d
xor rax, qword [0x18004c2e0]
xor r8d, r8d
mov qword [rbp - 0x50], rax
mov edx, ebx
mov rax, qword [rsi]
mov qword [rsp + 0x28], rdi
mov qword [rbp - 0x40], rdi
mov rcx, qword [rax + 0x198]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x48], rcx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov edx, eax
test eax, eax
je 0x18000763f
mov r10, qword [0x18004c3a8]
xor r9d, r9d
mov dword [rbp + 0x70], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp + 0x74], 0xed18ed18
mov rcx, qword [rbp + 0x70]
xor rcx, qword [0x18004c2e0]
mov rax, qword [r10]
mov qword [rbp - 0x50], rcx
mov qword [rsp + 0x28], rdi
mov qword [rbp - 0x40], rdi
mov rcx, qword [rax + 0x58]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x48], rcx
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10, rax
test rax, rax
je 0x18000763f
mov rax, qword [rax]
xor r9d, r9d
mov dword [rbp - 0x70], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp - 0x6c], 0xed18ed18
xor edx, edx
mov rcx, qword [rbp - 0x70]
xor rcx, qword [0x18004c2e0]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rax + 0x18]
lea rax, [rbp + 0x18]
mov qword [rbp + 0x20], rcx
mov rcx, r10
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10, rax
test rax, rax
je 0x18000763f
and qword [rsp + 0x28], 0
xor r9d, r9d
and qword [rbp - 0x40], 0
xor r8d, r8d
mov dword [rsp + 0x40], 0xa3f0ac80
xor edx, edx
mov dword [rsp + 0x44], 0xed18ed18
mov rax, qword [rsp + 0x40]
xor rax, qword [0x18004c2e0]
mov qword [rbp - 0x50], rax
mov rax, qword [r10]
mov byte [rbp + 0x1a0], dil
lea rdi, [rbp + 0x1a0]
mov rcx, qword [rax + 0x10]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x48], rcx
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.180029d80
xor r9d, r9d
movabs rdx, 0xcbf29ce484222325
mov cl, byte [rax]
test cl, cl
je 0x180007584
inc rax
movsx rcx, cl
xor rdx, rcx
movabs r8, 0x100000001b3
imul rdx, r8
mov cl, byte [rax]
test cl, cl
jne 0x180006fb8
movabs rax, 0xadf4b04cfa5b2b70
cmp rdx, rax
ja 0x1800072af
je 0x180007232
movabs rax, 0x8df1234091b31c
cmp rdx, rax
je 0x18000763d
movabs rax, 0x24aa86c05266545
cmp rdx, rax
je 0x1800071b5
movabs rax, 0x36e782326b162b08
cmp rdx, rax
je 0x180007126
movabs rax, 0x77903ce285fddf01
cmp rdx, rax
je 0x18000704f
movabs rax, 0xa413a7423d389f9a
cmp rdx, rax
jne 0x180007584
jmp 0x18000763d
xor edx, edx
mov cl, 0x41
call fcn.180001060
mov edx, 1
mov byte [rsp + 0x50], al
mov cl, 0x6e
call fcn.180001060
mov edx, 2
mov byte [rsp + 0x51], al
mov cl, 0x74
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x52], al
mov cl, 0x69
call fcn.180001060
mov edx, 4
mov byte [rsp + 0x53], al
mov cl, 0x64
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x54], al
mov cl, 0x6f
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x55], al
mov cl, 0x74
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x56], al
mov cl, 0x65
call fcn.180001060
mov byte [rsp + 0x57], al
lea rcx, [rsp + 0x50]
xor eax, eax
movdqa xmmword [rbp - 0x50], xmm12
mov byte [rsp + 0x58], al
movd xmm0, dword [rbp - 0x50]
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
paddd xmm1, xmm11
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 8
jb 0x1800070dd
mov byte [rsp + 0x58], r9b
lea rdi, [rsp + 0x50]
jmp 0x180007584
xor edx, edx
mov cl, 0x54
call fcn.180001060
mov edx, 1
mov byte [rbp - 0x12], al
mov cl, 0x72
call fcn.180001060
mov edx, 2
mov byte [rbp - 0x11], al
mov cl, 0x61
call fcn.180001060
mov edx, 3
mov byte [rbp - 0x10], al
mov cl, 0x70
call fcn.180001060
mov byte [rbp - 0xf], al
lea rcx, [rbp - 0x12]
xor eax, eax
movdqa xmmword [rbp - 0x50], xmm12
mov byte [rbp - 0xe], al
movd xmm0, dword [rbp - 0x50]
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
paddd xmm1, xmm11
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 4
jb 0x18000716e
mov byte [rbp - 0xe], r9b
lea rdi, [rbp - 0x12]
jmp 0x180007584
xor edx, edx
mov cl, 0x4c
call fcn.180001060
mov edx, 1
mov byte [rbp - 0xd], al
mov cl, 0x65
call fcn.180001060
mov edx, 2
mov byte [rbp - 0xc], al
mov cl, 0x74
call fcn.180001060
mov edx, 3
mov byte [rbp - 0xb], al
mov cl, 0x68
call fcn.180001060
mov edx, 4
mov byte [rbp - 0xa], al
mov cl, 0x61
call fcn.180001060
mov edx, 5
mov byte [rbp - 9], al
mov cl, 0x6c
call fcn.180001060
mov byte [rbp - 8], al
mov edx, r9d
xor eax, eax
mov byte [rbp - 7], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
inc edx
xor byte [rbp + rcx - 0xd], al
cmp edx, 6
jb 0x180007214
mov byte [rbp - 7], r9b
lea rdi, [rbp - 0xd]
jmp 0x180007584
xor edx, edx
mov cl, 0x43
call fcn.180001060
mov edx, 1
mov byte [rbp - 6], al
mov cl, 0x61
call fcn.180001060
mov edx, 2
mov byte [rbp - 5], al
mov cl, 0x6d
call fcn.180001060
mov edx, 3
mov byte [rbp - 4], al
mov cl, 0x65
call fcn.180001060
mov edx, 4
mov byte [rbp - 3], al
mov cl, 0x72
call fcn.180001060
mov edx, 5
mov byte [rbp - 2], al
mov cl, 0x61
call fcn.180001060
mov byte [rbp - 1], al
mov edx, r9d
xor eax, eax
mov byte [rbp], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
inc edx
xor byte [rbp + rcx - 6], al
cmp edx, 6
jb 0x180007291
mov byte [rbp], r9b
lea rdi, [rbp - 6]
jmp 0x180007584
movabs rax, 0xbafd3361cdaaf8fb
cmp rdx, rax
je 0x180007494
movabs rax, 0xbcf8ac18ea605dc0
cmp rdx, rax
je 0x18000763d
movabs rax, 0xd715378df40f472b
cmp rdx, rax
je 0x180007426
movabs rax, 0xe300662c6f798f99
cmp rdx, rax
je 0x18000739a
movabs rax, 0xf76c8ed9eb2998cb
cmp rdx, rax
jne 0x180007584
xor edx, edx
mov cl, 0x53
call fcn.180001060
mov edx, 1
mov byte [rbp + 1], al
mov cl, 0x68
call fcn.180001060
mov edx, 2
mov byte [rbp + 2], al
mov cl, 0x6f
call fcn.180001060
mov edx, 3
mov byte [rbp + 3], al
mov cl, 0x74
call fcn.180001060
mov edx, 4
mov byte [rbp + 4], al
mov cl, 0x67
call fcn.180001060
mov edx, 5
mov byte [rbp + 5], al
mov cl, 0x75
call fcn.180001060
mov edx, 6
mov byte [rbp + 6], al
mov cl, 0x6e
call fcn.180001060
mov byte [rbp + 7], al
mov edx, r9d
xor eax, eax
mov byte [rbp + 8], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
inc edx
xor byte [rbp + rcx + 1], al
cmp edx, 7
jb 0x18000737c
mov byte [rbp + 8], r9b
lea rdi, [rbp + 1]
jmp 0x180007584
xor edx, edx
mov cl, 0x54
call fcn.180001060
mov edx, 1
mov byte [rbp + 9], al
mov cl, 0x72
call fcn.180001060
mov edx, 2
mov byte [rbp + 0xa], al
mov cl, 0x61
call fcn.180001060
mov edx, 3
mov byte [rbp + 0xb], al
mov cl, 0x63
call fcn.180001060
mov edx, 4
mov byte [rbp + 0xc], al
mov cl, 0x6b
call fcn.180001060
mov edx, 5
mov byte [rbp + 0xd], al
mov cl, 0x65
call fcn.180001060
mov edx, 6
mov byte [rbp + 0xe], al
mov cl, 0x72
call fcn.180001060
mov byte [rbp + 0xf], al
mov edx, r9d
xor eax, eax
mov byte [rbp + 0x10], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
inc edx
xor byte [rbp + rcx + 9], al
cmp edx, 7
jb 0x180007408
mov byte [rbp + 0x10], r9b
lea rdi, [rbp + 9]
jmp 0x180007584
xor edx, edx
mov cl, 0x54
call fcn.180001060
mov edx, 1
mov byte [rbp - 0x18], al
mov cl, 0x6f
call fcn.180001060
mov edx, 2
mov byte [rbp - 0x17], al
mov cl, 0x72
call fcn.180001060
mov edx, 3
mov byte [rbp - 0x16], al
mov cl, 0x63
call fcn.180001060
mov edx, 4
mov byte [rbp - 0x15], al
mov cl, 0x68
call fcn.180001060
mov byte [rbp - 0x14], al
mov edx, r9d
xor eax, eax
mov byte [rbp - 0x13], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
inc edx
xor byte [rbp + rcx - 0x18], al
cmp edx, 5
jb 0x180007476
mov byte [rbp - 0x13], r9b
lea rdi, [rbp - 0x18]
jmp 0x180007584
xor edx, edx
mov cl, 0x49
call fcn.180001060
mov edx, 1
mov byte [rbp + 0x30], al
mov cl, 0x6e
call fcn.180001060
mov edx, 2
mov byte [rbp + 0x31], al
mov cl, 0x73
call fcn.180001060
mov edx, 3
mov byte [rbp + 0x32], al
mov cl, 0x70
call fcn.180001060
mov edx, 4
mov byte [rbp + 0x33], al
mov cl, 0x65
call fcn.180001060
mov edx, 5
mov byte [rbp + 0x34], al
mov cl, 0x63
call fcn.180001060
mov edx, 6
mov byte [rbp + 0x35], al
mov cl, 0x74
call fcn.180001060
mov edx, 7
mov byte [rbp + 0x36], al
mov cl, 0x69
call fcn.180001060
mov edx, 8
mov byte [rbp + 0x37], al
mov cl, 0x6f
call fcn.180001060
mov edx, 9
mov byte [rbp + 0x38], al
mov cl, 0x6e
call fcn.180001060
mov edx, 0xa
mov byte [rbp + 0x39], al
mov cl, 0x20
call fcn.180001060
mov edx, 0xb
mov byte [rbp + 0x3a], al
mov cl, 0x4b
call fcn.180001060
mov edx, 0xc
mov byte [rbp + 0x3b], al
mov cl, 0x69
call fcn.180001060
mov edx, 0xd
mov byte [rbp + 0x3c], al
mov cl, 0x74
call fcn.180001060
mov byte [rbp + 0x3d], al
mov edx, r9d
xor eax, eax
mov byte [rbp + 0x3e], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
inc edx
xor byte [rbp + rcx + 0x30], al
cmp edx, 0xe
jb 0x18000756b
mov byte [rbp + 0x3e], r9b
lea rdi, [rbp + 0x30]
mov rcx, rdi
call fcn.180029620
mov rdx, qword [r14 + 0x10]
mov r9d, eax
movss xmm1, dword [r14 + 8]
mov r8, rdi
mov rcx, qword [r14]
mov rbx, rax
call rdx
movss xmm3, dword [0x18004c0cc]
movaps xmm6, xmm0
movss xmm0, dword [0x18004c0c0]
movss xmm2, dword [0x18004c0c8]
movss xmm1, dword [0x18004c0c4]
call fcn.18000902c
movss xmm1, dword [rbp - 0x60]
lea rdx, [rsp + 0x70]
movss xmm0, dword [rbp - 0x5c]
mov r9d, ebx
mov dword [rsp + 0x30], eax
mov r8, rdi
mulss xmm6, xmm13
mov rcx, r13
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x74], xmm0
mov dword [rsp + 0x78], 0x42c80000
subss xmm1, xmm6
mov dword [rsp + 0x7c], 0x42c80000
mov qword [rsp + 0x20], r14
subss xmm1, xmm9
movss dword [rsp + 0x70], xmm1
call fcn.18000a468
movss xmm1, dword [rbp - 0x5c]
movss xmm0, dword [r14 + 8]
mov ebx, dword [rsp + 0x60]
addss xmm0, xmm9
addss xmm1, xmm0
movss dword [rbp - 0x5c], xmm1
xor edi, edi
mov rax, qword [rbp + 0x60]
inc ebx
xor rax, qword [0x18004c2e0]
xor r9d, r9d
mov qword [rbp - 0x50], rax
xor r8d, r8d
mov rax, qword [rsi]
xor edx, edx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x60], ebx
mov qword [rbp - 0x40], rdi
mov rcx, qword [rax + 0x170]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x48], rcx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180029d80
cmp ebx, eax
jl 0x180006e4a
mov r12, qword [rbp + 0x1a8]
cmp dword [0x18004c278], edi
je 0x180007939
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r9d, r9d
mov dword [rbp + 0x1a4], 0xed18ed18
xor r8d, r8d
mov rax, qword [rbp + 0x1a0]
xor edx, edx
xor rax, qword [0x18004c2e0]
mov qword [rbp + 0x18], rax
mov rax, qword [r15]
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x28], rdi
mov rcx, qword [rax + 0x130]
lea rax, [rbp + 0x18]
mov qword [rbp + 0x20], rcx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov rcx, qword [rbp + 0x78]
xor r9d, r9d
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp + 0x1a4], 0xed18ed18
movss xmm6, dword [rax]
movss xmm7, dword [rax + 4]
movss xmm8, dword [rax + 8]
mov rax, qword [rbp + 0x1a0]
xor rax, qword [0x18004c2e0]
mov qword [rbp + 0x18], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x28], rdi
mov rdx, qword [rax + 0x130]
lea rax, [rbp + 0x18]
mov qword [rbp + 0x20], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
xor edx, edx
mov cl, 0x5b
movss xmm1, dword [rax]
movss xmm2, dword [rax + 4]
subss xmm1, xmm6
movss xmm0, dword [rax + 8]
subss xmm2, xmm7
subss xmm0, xmm8
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
sqrtss xmm0, xmm2
cvttss2si r9d, xmm0
call fcn.180001060
mov edx, 1
mov byte [rsp + 0x50], al
mov cl, 0x20
call fcn.180001060
mov edx, 2
mov byte [rsp + 0x51], al
mov cl, 0x25
call fcn.180001060
mov edx, 3
mov byte [rsp + 0x52], al
mov cl, 0x64
call fcn.180001060
mov edx, 4
mov byte [rsp + 0x53], al
mov cl, 0x20
call fcn.180001060
mov edx, 5
mov byte [rsp + 0x54], al
mov cl, 0x6d
call fcn.180001060
mov edx, 6
mov byte [rsp + 0x55], al
mov cl, 0x20
call fcn.180001060
mov edx, 7
mov byte [rsp + 0x56], al
mov cl, 0x5d
call fcn.180001060
mov byte [rsp + 0x57], al
lea rcx, [rsp + 0x50]
xor eax, eax
movdqa xmmword [rbp - 0x50], xmm12
mov byte [rsp + 0x58], al
mov eax, edi
movd xmm0, dword [rbp - 0x50]
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
paddd xmm1, xmm11
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 8
jb 0x180007823
lea r8, [rsp + 0x50]
mov byte [rsp + 0x58], dil
mov edx, 0x41
lea rcx, [rbp + 0x80]
call fcn.1800296d8
lea rcx, [rbp + 0x80]
call fcn.180029620
mov rdx, qword [r14 + 0x10]
lea r8, [rbp + 0x80]
movss xmm1, dword [r14 + 8]
mov r9d, eax
mov rcx, qword [r14]
mov rbx, rax
call rdx
movss xmm3, dword [0x18004c09c]
movaps xmm6, xmm0
movss xmm0, dword [0x18004c090]
movss xmm2, dword [0x18004c098]
movss xmm1, dword [0x18004c094]
call fcn.18000902c
movss xmm1, dword [rbp - 0x60]
lea r8, [rbp + 0x80]
movss xmm0, dword [rbp - 0x5c]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x30], eax
mov r9d, ebx
mulss xmm6, xmm13
mov rcx, r13
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x74], xmm0
mov dword [rsp + 0x78], 0x42c80000
subss xmm1, xmm6
mov dword [rsp + 0x7c], 0x42c80000
mov qword [rsp + 0x20], r14
subss xmm1, xmm9
movss dword [rsp + 0x70], xmm1
call fcn.18000a468
movss xmm1, dword [rbp - 0x5c]
movss xmm0, dword [r14 + 8]
addss xmm0, xmm9
addss xmm1, xmm0
movss dword [rbp - 0x5c], xmm1
cmp dword [0x18004c288], edi
je 0x180007f15
mov rcx, qword [0x18004c3a0]
xor r9d, r9d
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp + 0x1a4], 0xed18ed18
mov rax, qword [rbp + 0x1a0]
xor rax, qword [0x18004c2e0]
mov qword [rbp + 0x18], rax
mov rax, qword [rcx]
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x28], rdi
mov rdx, qword [rax + 0xd8]
lea rax, [rbp + 0x18]
mov qword [rbp + 0x20], rdx
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov rbx, rax
test rax, rax
je 0x180007fd1
mov rax, qword [r12]
xor r9d, r9d
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp + 0x1a4], 0xed18ed18
xor edx, edx
mov rcx, qword [rbp + 0x1a0]
xor rcx, qword [0x18004c2e0]
mov qword [rbp + 0x48], rcx
mov rcx, qword [rax + 0x248]
lea rax, [rbp + 0x48]
mov qword [rbp + 0x50], rcx
mov rcx, r12
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x58], rdi
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov r10, rax
test rax, rax
je 0x180007fd1
mov rax, qword [rax]
xor r9d, r9d
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp + 0x1a4], 0xed18ed18
xor edx, edx
mov rcx, qword [rbp + 0x1a0]
xor rcx, qword [0x18004c2e0]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rax + 0x1f0]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov rcx, r10
mov qword [rsp + 0x28], rdi
mov qword [rbp - 0x80], rdi
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r9d, r9d
mov dword [rbp + 0x1a4], 0xed18ed18
xor r8d, r8d
mov rcx, qword [rbp + 0x1a0]
xor rcx, qword [0x18004c2e0]
mov qword [rbp + 0x48], rcx
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x58], rdi
mov rdx, qword [rcx + 0xa8]
lea rcx, [rbp + 0x48]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov qword [rbp + 0x50], rdx
mov edx, eax
call fcn.180029d80
mov r10, rax
test rax, rax
je 0x180007fd1
mov rax, qword [rax]
xor r9d, r9d
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp + 0x1a4], 0xed18ed18
xor edx, edx
mov rcx, qword [rbp + 0x1a0]
xor rcx, qword [0x18004c2e0]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rax + 0x2d0]
lea rax, [rbp + 0x18]
mov qword [rbp + 0x20], rcx
mov rcx, r10
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov rbx, rax
test rax, rax
je 0x180007fd1
mov rax, qword [rax]
xor r9d, r9d
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r8d, r8d
mov dword [rbp + 0x1a4], 0xed18ed18
xor edx, edx
mov rcx, qword [rbp + 0x1a0]
xor rcx, qword [0x18004c2e0]
mov qword [rbp + 0x48], rcx
mov rcx, qword [rax + 0xf8]
lea rax, [rbp + 0x48]
mov qword [rbp + 0x50], rcx
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x58], rdi
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov dword [rbp + 0x1a0], 0xa3f0ac80
xor r9d, r9d
mov dword [rbp + 0x1a4], 0xed18ed18
xor r8d, r8d
mov rcx, qword [rbp + 0x1a0]
xor rcx, qword [0x18004c2e0]
mov qword [rbp + 0x48], rcx
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rdi
mov qword [rbp + 0x58], rdi
mov rdx, qword [rcx + 0xe8]
lea rcx, [rbp + 0x48]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov qword [rbp + 0x50], rdx
mov edx, eax
call fcn.180029d80
mov rbx, rax
test rax, rax
je 0x180007fd1
xor esi, esi
mov dword [rsp + 0x40], 0xa3f0ac80
mov dword [rsp + 0x44], 0xed18ed18
xor r9d, r9d
mov rax, qword [rsp + 0x40]
xor r8d, r8d
xor rax, qword [0x18004c2e0]
xor edx, edx
mov qword [rbp + 0x18], rax
mov rax, qword [rbx]
mov byte [rbp + 0x1a0], dil
lea rdi, [rbp + 0x1a0]
mov qword [rsp + 0x28], rsi
mov qword [rbp + 0x28], rsi
mov rcx, qword [rax + 0x50]
lea rax, [rbp + 0x18]
mov qword [rbp + 0x20], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.180029d80
test al, al
je 0x180007d07
xor edx, edx
mov cl, 0x4f
call fcn.180001060
lea edx, [rsi + 1]
mov byte [rsp + 0x50], al
mov cl, 0x75
call fcn.180001060
lea edx, [rsi + 2]
mov byte [rsp + 0x51], al
mov cl, 0x74
call fcn.180001060
lea edx, [rsi + 3]
mov byte [rsp + 0x52], al
mov cl, 0x20
call fcn.180001060
lea edx, [rsi + 4]
mov byte [rsp + 0x53], al
mov cl, 0x6f
call fcn.180001060
lea edx, [rsi + 5]
mov byte [rsp + 0x54], al
mov cl, 0x66
call fcn.180001060
lea edx, [rsi + 6]
mov byte [rsp + 0x55], al
mov cl, 0x20
call fcn.180001060
lea edx, [rsi + 7]
mov byte [rsp + 0x56], al
mov cl, 0x41
call fcn.180001060
lea edx, [rsi + 8]
mov byte [rsp + 0x57], al
mov cl, 0x6d
call fcn.180001060
lea edx, [rsi + 9]
mov byte [rsp + 0x58], al
call fcn.180001060
lea edx, [rsi + 0xa]
mov byte [rsp + 0x59], al
mov cl, 0x6f
call fcn.180001060
mov byte [rsp + 0x5a], al
mov edx, esi
xor eax, eax
mov byte [rsp + 0x5b], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 0xb
jb 0x180007ce7
mov byte [rsp + 0x5b], sil
lea rdi, [rsp + 0x50]
jmp 0x180007e5e
mov dword [rsp + 0x40], 0xa3f0ac80
xor r9d, r9d
mov dword [rsp + 0x44], 0xed18ed18
xor r8d, r8d
mov rax, qword [rsp + 0x40]
xor edx, edx
xor rax, qword [0x18004c2e0]
mov qword [rbp + 0x18], rax
mov rax, qword [rbx]
mov qword [rsp + 0x28], rsi
mov qword [rbp + 0x28], rsi
mov rcx, qword [rax + 0x70]
lea rax, [rbp + 0x18]
mov qword [rbp + 0x20], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.180029d80
test al, al
je 0x180007e5e
xor edx, edx
mov cl, 0x49
call fcn.180001060
mov edx, 1
mov byte [rbp - 0x28], al
mov cl, 0x73
call fcn.180001060
mov edx, 2
mov byte [rbp - 0x27], al
mov cl, 0x20
call fcn.180001060
mov edx, 3
mov byte [rbp - 0x26], al
mov cl, 0x52
call fcn.180001060
mov edx, 4
mov byte [rbp - 0x25], al
mov cl, 0x65
call fcn.180001060
mov edx, 5
mov byte [rbp - 0x24], al
mov cl, 0x6c
call fcn.180001060
mov edx, 6
mov byte [rbp - 0x23], al
mov cl, 0x6f
call fcn.180001060
mov edx, 7
mov byte [rbp - 0x22], al
mov cl, 0x61
call fcn.180001060
mov edx, 8
mov byte [rbp - 0x21], al
mov cl, 0x64
call fcn.180001060
mov edx, 9
mov byte [rbp - 0x20], al
mov cl, 0x69
call fcn.180001060
mov edx, 0xa
mov byte [rbp - 0x1f], al
mov cl, 0x6e
call fcn.180001060
mov edx, 0xb
mov byte [rbp - 0x1e], al
mov cl, 0x67
call fcn.180001060
mov byte [rbp - 0x1d], al
lea rcx, [rbp - 0x28]
xor eax, eax
movdqa xmmword [rbp - 0x50], xmm12
mov byte [rbp - 0x1c], al
movd xmm0, dword [rbp - 0x50]
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
paddd xmm1, xmm11
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [rcx]
xorps xmm1, xmm0
movd dword [rcx], xmm1
lea rcx, [rcx + 4]
cmp eax, 0xc
jb 0x180007e1c
mov byte [rbp - 0x1c], sil
lea rdi, [rbp - 0x28]
mov rcx, rdi
call fcn.180029620
mov rdx, qword [r14 + 0x10]
mov r9d, eax
movss xmm1, dword [r14 + 8]
mov r8, rdi
mov rcx, qword [r14]
mov rbx, rax
call rdx
movss xmm3, dword [0x18004c0bc]
movaps xmm6, xmm0
movss xmm0, dword [0x18004c0b0]
movss xmm2, dword [0x18004c0b8]
movss xmm1, dword [0x18004c0b4]
call fcn.18000902c
movss xmm1, dword [rbp - 0x60]
lea rdx, [rsp + 0x70]
movss xmm0, dword [rbp - 0x5c]
mov r9d, ebx
mov dword [rsp + 0x30], eax
mov r8, rdi
mulss xmm6, xmm13
mov rcx, r13
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x74], xmm0
mov dword [rsp + 0x78], 0x42c80000
subss xmm1, xmm6
mov dword [rsp + 0x7c], 0x42c80000
mov qword [rsp + 0x20], r14
subss xmm1, xmm9
movss dword [rsp + 0x70], xmm1
call fcn.18000a468
movss xmm1, dword [rbp - 0x5c]
xor edi, edi
movss xmm0, dword [r14 + 8]
addss xmm0, xmm9
addss xmm1, xmm0
movss dword [rbp - 0x5c], xmm1
cmp dword [0x18004c28c], edi
je 0x180007fd1
cmp byte [0x18004c440], dil
je 0x180007fd1
movss xmm0, dword [0x18004c444]
lea rdx, [rsp + 0x50]
movss xmm1, dword [0x18004c448]
lea rcx, [rbp - 0x28]
and dword [rsp + 0x50], 0
and dword [rsp + 0x54], 0
and dword [rsp + 0x58], 0
movss dword [rbp - 0x28], xmm0
movss xmm0, dword [0x18004c44c]
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x24], xmm1
call fcn.1800087ac
test al, al
je 0x180007fd1
movss xmm0, dword [rsp + 0x50]
lea rdx, [rsp + 0x70]
subss xmm0, dword [0x18004a838]
movss xmm2, dword [0x18004a860]
mov rcx, r13
mov dword [rbp + 0x1a0], 0xff44eaf2
mov r9d, dword [rbp + 0x1a0]
mov dword [rsp + 0x78], 0x40c00000
subss xmm0, xmm9
mov dword [rsp + 0x7c], 0x40c00000
movss dword [rsp + 0x70], xmm0
movss xmm0, dword [rsp + 0x54]
movss dword [rsp + 0x74], xmm0
call fcn.180009e14
lea r11, [rsp + 0x258]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret