Function at 0x180025030
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [0x18007f060]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov eax, dword [r8]
xor edi, edi
movss xmm6, dword [0x180074be8]
mov rsi, r8
mov rbx, rdx
mov r15, rcx
movabs r14, 0x7fffffffffffffff
test al, 1
je 0x18002519e
mov rcx, qword [rdx + 0x10]
mov rax, r14
mov rdx, qword [0x1800807d8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800250a8
mov r9, qword [rbx]
cmp qword [0x1800807e0], 0x10
lea rax, [0x1800807c8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800807c8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002511c
nop dword [rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025100
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002519c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180025194
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test al, 2
je 0x1800252be
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080c78]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800251cd
mov r9, qword [rbx]
cmp qword [0x180080c80], 0x10
lea rax, [0x180080c68]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080c68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002523c
nop
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025220
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x1800252bc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800252b4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test al, 4
je 0x1800253de
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800806b8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800252ed
mov r9, qword [rbx]
cmp qword [0x1800806c0], 0x10
lea rax, [0x1800806a8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800806a8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002535c
nop
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025340
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x1800253dc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800253d4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test al, 8
je 0x1800254fe
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080618]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x18002540d
mov r9, qword [rbx]
cmp qword [0x180080620], 0x10
lea rax, [0x180080608]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080608]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002547c
nop
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025460
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x1800254fc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800254f4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test al, 0x10
je 0x18002561e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800801d8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x18002552d
mov r9, qword [rbx]
cmp qword [0x1800801e0], 0x10
lea rax, [0x1800801c8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800801c8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002559c
nop
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025580
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002561c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180025614
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test al, 0x20
je 0x18002573e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080418]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x18002564d
mov r9, qword [rbx]
cmp qword [0x180080420], 0x10
lea rax, [0x180080408]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080408]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x1800256bc
nop
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800256a0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002573c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180025734
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test al, 0x40
je 0x18002585e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800806d8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x18002576d
mov r9, qword [rbx]
cmp qword [0x1800806e0], 0x10
lea rax, [0x1800806c8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800806c8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x1800257dc
nop
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800257c0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002585c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180025854
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test al, al
jns 0x18002597e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080958]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x18002588d
mov r9, qword [rbx]
cmp qword [0x180080960], 0x10
lea rax, [0x180080948]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080948]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x1800258fc
nop
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800258e0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002597c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180025974
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 8
jae 0x180025a9e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080798]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800259af
mov r9, qword [rbx]
cmp qword [0x1800807a0], 0x10
lea rax, [0x180080788]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080788]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180025a1c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025a00
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180025a9c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180025a94
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 9
jae 0x180025bbe
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080378]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180025acf
mov r9, qword [rbx]
cmp qword [0x180080380], 0x10
lea rax, [0x180080368]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080368]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180025b3c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025b20
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180025bbc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180025bb4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0xa
jae 0x180025cde
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080938]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180025bef
mov r9, qword [rbx]
cmp qword [0x180080940], 0x10
lea rax, [0x180080928]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080928]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180025c5c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025c40
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180025cdc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180025cd4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0xb
jae 0x180025dfe
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800807f8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180025d0f
mov r9, qword [rbx]
cmp qword [0x180080800], 0x10
lea rax, [0x1800807e8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800807e8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180025d7c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025d60
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180025dfc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180025df4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0xc
jae 0x180025f1e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080178]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180025e2f
mov r9, qword [rbx]
cmp qword [0x180080180], 0x10
lea rax, [0x180080168]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080168]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180025e9c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025e80
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180025f1c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180025f14
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0xe
jae 0x18002603e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080698]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180025f4f
mov r9, qword [rbx]
cmp qword [0x1800806a0], 0x10
lea rax, [0x180080688]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080688]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180025fbc
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180025fa0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002603c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026034
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0xf
jae 0x180026162
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080818]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x18002606f
mov r9, qword [rbx]
cmp qword [0x180080820], 0x10
lea rax, [0x180080808]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080808]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x1800260dc
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800260c0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180026160
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026158
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x11
jae 0x18002628e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080d18]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180026193
mov r9, qword [rbx]
cmp qword [0x180080d20], 0x10
lea rax, [0x180080d08]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080d08]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002620c
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r8 + rdx]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800261f0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002628c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026284
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x12
jae 0x1800263ae
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080918]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800262bf
mov r9, qword [rbx]
cmp qword [0x180080920], 0x10
lea rax, [0x180080908]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080908]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002632c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180026310
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x1800263ac
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800263a4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x13
jae 0x1800264ce
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800802b8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800263df
mov r9, qword [rbx]
cmp qword [0x1800802c0], 0x10
lea rax, [0x1800802a8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800802a8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002644c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180026430
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x1800264cc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800264c4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x14
jae 0x1800265ee
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800809b8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800264ff
mov r9, qword [rbx]
cmp qword [0x1800809c0], 0x10
lea rax, [0x1800809a8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800809a8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002656c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180026550
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x1800265ec
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800265e4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x15
jae 0x18002670e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800808f8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x18002661f
mov r9, qword [rbx]
cmp qword [0x180080900], 0x10
lea rax, [0x1800808e8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800808e8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002668c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180026670
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002670c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026704
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0x300000
je 0x18002683e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800805d8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180026740
mov r9, qword [rbx]
cmp qword [0x1800805e0], 0x10
lea rax, [0x1800805c8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800805c8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x1800267bc
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800267a0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002683c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026834
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x16
jae 0x18002695e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080bd8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x18002686f
mov r9, qword [rbx]
cmp qword [0x180080be0], 0x10
lea rax, [0x180080bc8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080bc8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x1800268dc
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800268c0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002695c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026954
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0x500000
je 0x180026a8e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800809f8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180026990
mov r9, qword [rbx]
cmp qword [0x180080a00], 0x10
lea rax, [0x1800809e8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800809e8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180026a0c
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800269f0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180026a8c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026a84
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0x600000
je 0x180026bbe
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080578]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180026ac0
mov r9, qword [rbx]
cmp qword [0x180080580], 0x10
lea rax, [0x180080568]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080568]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180026b3c
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180026b20
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180026bbc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026bb4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0x700000
je 0x180026cee
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080978]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180026bf0
mov r9, qword [rbx]
cmp qword [0x180080980], 0x10
lea rax, [0x180080968]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080968]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180026c6c
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180026c50
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180026cec
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026ce4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x17
jae 0x180026e0e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080d78]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180026d1f
mov r9, qword [rbx]
cmp qword [0x180080d80], 0x10
lea rax, [0x180080d68]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080d68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180026d8c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180026d70
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180026e0c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026e04
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0x900000
je 0x180026f3e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800804d8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180026e40
mov r9, qword [rbx]
cmp qword [0x1800804e0], 0x10
lea rax, [0x1800804c8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800804c8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180026ebc
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180026ea0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180026f3c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180026f34
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0xa00000
je 0x18002706e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800803f8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180026f70
mov r9, qword [rbx]
cmp qword [0x180080400], 0x10
lea rax, [0x1800803e8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800803e8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180026fec
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180026fd0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002706c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180027064
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0xb00000
je 0x18002719e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800808d8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800270a0
mov r9, qword [rbx]
cmp qword [0x1800808e0], 0x10
lea rax, [0x1800808c8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800808c8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002711c
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180027100
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002719c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180027194
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0xc00000
je 0x1800272ce
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080c38]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800271d0
mov r9, qword [rbx]
cmp qword [0x180080c40], 0x10
lea rax, [0x180080c28]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080c28]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002724c
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180027230
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x1800272cc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800272c4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0xd00000
je 0x1800273fe
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080b58]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180027300
mov r9, qword [rbx]
cmp qword [0x180080b60], 0x10
lea rax, [0x180080b48]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080b48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002737c
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180027360
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x1800273fc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800273f4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0xe00000
je 0x18002752e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080498]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180027430
mov r9, qword [rbx]
cmp qword [0x1800804a0], 0x10
lea rax, [0x180080488]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080488]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x1800274ac
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180027490
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002752c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180027524
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, 0xf00000
je 0x18002765e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800803d8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180027560
mov r9, qword [rbx]
cmp qword [0x1800803e0], 0x10
lea rax, [0x1800803c8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800803c8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x1800275dc
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800275c0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002765c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180027654
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x18
jae 0x18002777e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800805b8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x18002768f
mov r9, qword [rbx]
cmp qword [0x1800805c0], 0x10
lea rax, [0x1800805a8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800805a8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x1800276fc
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x1800276e0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002777c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180027774
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x19
jae 0x18002789e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080338]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800277af
mov r9, qword [rbx]
cmp qword [0x180080340], 0x10
lea rax, [0x180080328]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080328]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002781c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180027800
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x18002789c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180027894
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x1a
jae 0x1800279be
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080758]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800278cf
mov r9, qword [rbx]
cmp qword [0x180080760], 0x10
lea rax, [0x180080748]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080748]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x18002793c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180027920
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x1800279bc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800279b4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x1b
jae 0x180027ade
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080158]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x1800279ef
mov r9, qword [rbx]
cmp qword [0x180080160], 0x10
lea rax, [0x180080148]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080148]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180027a5c
movzx eax, byte [r8 + rdx]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180027a40
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180027adc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180027ad4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x1c
jae 0x180027bfe
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x180080d98]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180027b0f
mov r9, qword [rbx]
cmp qword [0x180080da0], 0x10
lea rax, [0x180080d88]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x180080d88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180027b7c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180027b60
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180027bfc
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180027bf4
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x1d
jae 0x180027d1e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800801b8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180027c2f
mov r9, qword [rbx]
cmp qword [0x1800801c0], 0x10
lea rax, [0x1800801a8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800801a8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180027c9c
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180027c80
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180027d1c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180027d14
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
bt eax, 0x1e
jae 0x180027e3e
mov rcx, qword [rbx + 0x10]
mov rax, r14
mov rdx, qword [0x1800802f8]
sub rax, rcx
cmp rax, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
mov r9, rbx
jb 0x180027d4f
mov r9, qword [rbx]
cmp qword [0x180080300], 0x10
lea rax, [0x1800802e8]
mov qword [rsp + 0x30], rdx
cmovae rax, qword [0x1800802e8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r11, qword [rbp - 0x28]
lea r8, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
cmp r11, 0x10
mov r10, qword [rbp - 0x30]
mov ecx, edi
cmovae r8, r9
mov rdx, rdi
test r10, r10
je 0x180027dbc
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r10
jne 0x180027da0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r15 + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm6
movss dword [rax + r8*4], xmm0
cmp r11, 0x10
jb 0x180027e3c
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180027e34
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi]
test eax, eax
jns 0x180027f50
mov rcx, qword [rbx + 0x10]
mov rdx, qword [0x180080518]
sub r14, rcx
cmp r14, rdx
jb 0x180027f80
cmp qword [rbx + 0x18], 0x10
jb 0x180027e67
mov rbx, qword [rbx]
cmp qword [0x180080520], 0x10
lea rax, [0x180080508]
mov qword [rsp + 0x30], rdx
mov r9, rbx
cmovae rax, qword [0x180080508]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.18001a4e0
mov r10, qword [rbp - 0x28]
lea rdx, [rbp - 0x40]
mov r8, qword [rbp - 0x40]
cmp r10, 0x10
mov r9, qword [rbp - 0x30]
mov rcx, rdi
cmovae rdx, r8
test r9, r9
je 0x180027edb
nop dword [rax]
movzx eax, byte [rcx + rdx]
inc rcx
add eax, edi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp rcx, r9
jne 0x180027ec0
lea ecx, [rdi + rdi*8]
mov eax, 0x446f8657
mov edx, ecx
shr edx, 0xb
xor edx, ecx
imul ecx, edx, 0x8001
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub ecx, eax
mov rax, qword [r15 + 0x278]
add ecx, 0x36
movss xmm0, dword [rax + rcx*4]
addss xmm0, xmm6
movss dword [rax + rcx*4], xmm0
cmp r10, 0x10
jb 0x180027f50
lea rdx, [r10 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x180027f48
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180027f7a
mov rcx, r8
call fcn.180034ec0
mov al, 1
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.180034ea0
mov rbx, qword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x80
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.18003b6f4
int3
call fcn.180005f70
int3