Function at 0xc16d00
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push rbp
push r14
push r13
push rdi
push rsi
push rbx
sub rsp, 0x3d8
mov rbp, rsp
movdqa xmmword [rbp + 0x3c0], xmm6
mov qword [rbp + 0x30], rcx
mov rbx, rdx
mov rax, qword [rbp + 0x30]
mov eax, dword [rax + 0x7c]
cmp eax, dword [rbx + 0x7c]
jne 0xc1aa80
mov rax, qword [rbp + 0x30]
mov eax, dword [rax + 0x80]
cmp eax, dword [rbx + 0x80]
jne 0xc1aa80
mov rax, qword [rbp + 0x30]
cmp byte [rax + 0x9a], 2
je 0xc1aa80
lea rcx, [rbp + 0x80]
xor rdx, rdx
mov r8b, 1
call fcn.00ad3c60
call fcn.00ad82f0
mov eax, dword [rax + 0x104]
mov dword [rbp + 0x54], eax
call fcn.00ad82f0
mov esi, dword [rax + 0x108]
call fcn.00ad82f0
mov edi, dword [rax + 0x10c]
mov qword [rbp + 0x38], rbx
mov rax, qword [rbp + 0x38]
cmp byte [rax + 0x98], 0
je 0xc1aa3b
mov rax, qword [rbp + 0x38]
movzx rax, byte [rax + 0x98]
cmp rax, 6
jg 0xc16e09
cmp rax, 6
je 0xc19596
cmp rax, 3
jg 0xc16dea
cmp rax, 3
je 0xc17cbf
sub rax, 1
test rax, rax
je 0xc16e42
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc17502
sub rax, 4
test rax, rax
je 0xc1846b
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc18c42
sub rax, 7
test rax, rax
je 0xc19c50
sub rax, 1
test rax, rax
je 0xc1a1aa
sub rax, 1
test rax, rax
je 0xc19edb
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc1a808
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0x98]
cmp rax, 6
jg 0xc16e93
cmp rax, 6
je 0xc17329
sub rax, 2
test rax, rax
je 0xc16ecc
sub rax, 1
test rax, rax
je 0xc16fbe
sub rax, 1
test rax, rax
je 0xc1708a
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc17150
sub rax, 7
test rax, rax
je 0xc173ef
sub rax, 1
test rax, rax
je 0xc17429
sub rax, 1
test rax, rax
je 0xc1740c
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc17237
mov rax, qword [rbp + 0x30]
mov rax, qword [rax + 0x20]
mov byte [rax + 2], 0
mov byte [rax], 0
mov byte [rax + 1], 0
mov rax, qword [rbp + 0x30]
mov rax, qword [rax + 0x20]
lea rax, [rax + 3]
mov byte [rax + 2], 0xff
mov byte [rax], 0xff
mov byte [rax + 1], 0xff
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc16fb8
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc16fa0
add ecx, 1
mov eax, dword [rbp + 0x44]
shr eax, 3
movsxd rax, eax
lea rdx, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rbx + rax]
and al, byte [rdx + r8]
movzx rax, al
test eax, eax
setne al
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc16f52
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc16f14
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc17084
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc1706c
add ecx, 1
mov eax, dword [rbp + 0x44]
shr eax, 3
movsxd rax, eax
lea rdx, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rbx + rax]
and al, byte [rdx + r8]
movzx rax, al
test eax, eax
setne dl
mov al, 0xff
imul dl
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc1701a
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc16fdc
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc1714a
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc17132
add ecx, 1
mov eax, dword [rbp + 0x44]
shr eax, 3
movsxd rax, eax
lea rdx, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rbx + rax]
and al, byte [rdx + r8]
movzx rax, al
test eax, eax
setne al
movzx ax, al
neg eax
mov word [rsi], ax
add rsi, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc170e5
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc170a8
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc17231
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc17219
add ecx, 1
mov eax, dword [rbp + 0x44]
shr eax, 3
movsxd rax, eax
lea rdx, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rbx + rax]
and al, byte [rdx + r8]
movzx rax, al
test eax, eax
setne al
movzx rax, al
mov edx, eax
shl eax, 8
sub eax, edx
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc171ac
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc1716e
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc17323
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc1730b
add ecx, 1
mov eax, dword [rbp + 0x44]
shr eax, 3
movsxd rax, eax
lea rdx, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rbx + rax]
and al, byte [rdx + r8]
movzx rax, al
test eax, eax
setne al
movzx rax, al
mov edx, eax
shl eax, 8
sub eax, edx
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov byte [rdx], 0xff
add rdx, 1
mov qword [rbp + 0x48], rdx
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc17293
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc17255
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc173e9
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
xor rcx, rcx
mov rdx, qword [rbp + 0x30]
mov edx, dword [rdx + 0x7c]
sub edx, 1
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jg 0xc173d1
add edx, 1
mov ecx, dword [rbp + 0x44]
shr ecx, 3
movsxd rcx, ecx
lea r8, [0x00f04c24]
mov r9d, dword [rbp + 0x44]
and r9d, 7
movsxd r9, r9d
movzx rcx, byte [rbx + rcx]
and cl, byte [r8 + r9]
movzx rcx, cl
test ecx, ecx
setne cl
movsx rcx, cl
cvtsi2ss xmm0, ecx
movss dword [rax], xmm0
add rax, 4
mov ecx, dword [rbp + 0x44]
add ecx, 1
mov dword [rbp + 0x44], ecx
mov ecx, dword [rbp + 0x44]
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jne 0xc17381
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc17347
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 9
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc174fc
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc174e4
add ecx, 1
mov eax, dword [rbp + 0x44]
shr eax, 3
movsxd rax, eax
lea rdx, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rbx + rax]
and al, byte [rdx + r8]
movzx rax, al
test eax, eax
setne al
movzx rax, al
mov edx, eax
shl eax, 0x10
sub eax, edx
mov word [rsi], ax
add rsi, 2
mov word [rsi], ax
add rsi, 2
mov word [rsi], ax
add rsi, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc17484
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc17447
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0x98]
cmp rax, 6
jg 0xc17553
cmp rax, 6
je 0xc17ab3
sub rax, 1
test rax, rax
je 0xc1758c
sub rax, 2
test rax, rax
je 0xc17724
sub rax, 1
test rax, rax
je 0xc1780b
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc178ea
sub rax, 7
test rax, rax
je 0xc17ba5
sub rax, 1
test rax, rax
je 0xc17bdf
sub rax, 1
test rax, rax
je 0xc17bc2
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc179c9
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0xa8]
sub al, 1
cmp al, 0xff
je 0xc175ad
test al, al
jne 0xc1aa3b
jmp 0xc17707
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x80]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x40], eax
jg 0xc17701
add r13d, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r8d, dword [rcx + 0x7c]
sub r8d, 1
cmp eax, r8d
mov dword [rbp + 0x44], eax
jg 0xc176e8
add r8d, 1
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x20]
movzx rcx, byte [rbx]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx]
movzx rcx, byte [rax + 2]
mov edx, dword [rbp + 0x54]
imul ecx, edx
movzx rdx, byte [rax + 1]
imul edx, esi
add ecx, edx
movzx rax, byte [rax]
imul eax, edi
add ecx, eax
mov r9d, 0x64
mov eax, ecx
cdq
idiv r9d
shr eax, 2
mov rcx, qword [0x00f25828]
mov edx, dword [rbp + 0x44]
and edx, 7
movsxd rdx, edx
add rdx, rdx
add rdx, rdx
lea rcx, [rcx + rdx*8]
mov edx, dword [rbp + 0x40]
and edx, 7
movsxd rdx, edx
cmp eax, dword [rcx + rdx*4]
setg al
movzx rax, al
mov ecx, dword [rbp + 0x44]
movsxd rcx, ecx
shr rcx, 3
mov rdx, qword [rbp + 0x48]
lea rcx, [rdx + rcx]
test eax, eax
je 0xc176b3
lea rax, [0x00f04c24]
mov edx, dword [rbp + 0x44]
and edx, 7
movsxd rdx, edx
movzx rax, byte [rax + rdx]
or byte [rcx], al
jmp 0xc176cc
lea rax, [0x00f04c24]
mov edx, dword [rbp + 0x44]
and edx, 7
movsxd rdx, edx
movzx rax, byte [rax + rdx]
not al
and byte [rcx], al
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r8d
mov dword [rbp + 0x44], eax
jne 0xc17615
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, r13d
mov dword [rbp + 0x40], eax
jne 0xc175cf
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
or r8d, 0xffffffff
lea r9, [rbp + 0x80]
call fcn.00b40560
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x80]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x40], eax
jg 0xc17805
add r13d, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc177ec
add ecx, 1
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x20]
movzx rdx, byte [rbx]
lea rdx, [rdx + rdx*2]
lea rax, [rax + rdx]
movzx rdx, byte [rax + 2]
mov r8d, dword [rbp + 0x54]
imul edx, r8d
movzx r8, byte [rax + 1]
imul r8d, esi
add edx, r8d
movzx rax, byte [rax]
imul eax, edi
add edx, eax
mov r8d, 0x64
mov eax, edx
cdq
idiv r8d
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc17784
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, r13d
mov dword [rbp + 0x40], eax
jne 0xc17746
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc178e4
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc178cc
add ecx, 1
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x20]
movzx rdx, byte [rbx]
lea rdx, [rdx + rdx*2]
lea rax, [rax + rdx]
movzx rdx, byte [rax + 2]
imul edx, edx, 0xd4d4
movzx r8, byte [rax + 1]
imul r8d, r8d, 0x2cbc9
add edx, r8d
movzx rax, byte [rax]
imul eax, eax, 0x4b4b
add edx, eax
mov r8d, 0x3e8
mov eax, edx
xor edx, edx
div r8d
mov word [rsi], ax
add rsi, 2
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc17866
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc17829
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc179c3
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc179ab
add ecx, 1
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x20]
movzx rdx, byte [rbx]
lea rdx, [rdx + rdx*2]
lea rax, [rax + rdx]
movzx rdx, byte [rax]
mov r8, qword [rbp + 0x48]
mov byte [r8], dl
add r8, 1
mov qword [rbp + 0x48], r8
movzx rdx, byte [rax + 1]
mov r8, qword [rbp + 0x48]
mov byte [r8], dl
add r8, 1
mov qword [rbp + 0x48], r8
movzx rax, byte [rax + 2]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc17946
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc17908
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc17aad
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc17a95
add ecx, 1
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x20]
movzx rdx, byte [rbx]
lea rdx, [rdx + rdx*2]
lea rax, [rax + rdx]
movzx rdx, byte [rax]
mov r8, qword [rbp + 0x48]
mov byte [r8], dl
add r8, 1
mov qword [rbp + 0x48], r8
movzx rdx, byte [rax + 1]
mov r8, qword [rbp + 0x48]
mov byte [r8], dl
add r8, 1
mov qword [rbp + 0x48], r8
movzx rax, byte [rax + 2]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov byte [rdx], 0xff
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc17a25
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc179e7
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc17b9f
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
xor rcx, rcx
mov rdx, qword [rbp + 0x30]
mov edx, dword [rdx + 0x7c]
sub edx, 1
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jg 0xc17b87
add edx, 1
mov rcx, qword [rbp + 0x38]
mov rcx, qword [rcx + 0x20]
movzx r8, byte [rbx]
lea r8, [r8 + r8*2]
lea rcx, [rcx + r8]
movzx r8, byte [rcx + 2]
cvtsi2sd xmm0, r8d
mulsd xmm0, qword [0x00c1aa98]
movzx r8, byte [rcx + 1]
cvtsi2sd xmm1, r8d
mulsd xmm1, qword [0x00c1aaa0]
addsd xmm0, xmm1
movzx rcx, byte [rcx]
cvtsi2sd xmm1, ecx
mulsd xmm1, qword [0x00c1aaa8]
addsd xmm0, xmm1
divsd xmm0, qword [0x00c1aab0]
cvtsd2ss xmm0, xmm0
movss dword [rax], xmm0
add rax, 4
add rbx, 1
mov ecx, dword [rbp + 0x44]
add ecx, 1
mov dword [rbp + 0x44], ecx
mov ecx, dword [rbp + 0x44]
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jne 0xc17b0b
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc17ad1
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc17cb9
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc17ca1
add ecx, 1
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x20]
movzx rdx, byte [rbx]
lea rdx, [rdx + rdx*2]
lea rax, [rax + rdx]
movzx dx, byte [rax + 2]
mov r8d, edx
shl edx, 8
add edx, r8d
mov word [rsi], dx
add rsi, 2
movzx dx, byte [rax + 1]
mov r8d, edx
shl edx, 8
add edx, r8d
mov word [rsi], dx
add rsi, 2
movzx ax, byte [rax]
mov edx, eax
shl eax, 8
add eax, edx
mov word [rsi], ax
add rsi, 2
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc17c3a
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc17bfd
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0x98]
cmp rax, 6
jg 0xc17d10
cmp rax, 6
je 0xc182c1
sub rax, 1
test rax, rax
je 0xc17d49
sub rax, 1
test rax, rax
je 0xc17ea5
sub rax, 2
test rax, rax
je 0xc17f40
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc17fda
sub rax, 7
test rax, rax
je 0xc1836b
sub rax, 1
test rax, rax
je 0xc183a5
sub rax, 1
test rax, rax
je 0xc18388
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc181ef
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0xa8]
sub al, 1
cmp al, 0xff
je 0xc17d6a
test al, al
jne 0xc1aa3b
jmp 0xc17e88
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc17e82
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rcx + 0x7c]
sub edx, 1
cmp eax, edx
mov dword [rbp + 0x44], eax
jg 0xc17e6a
add edx, 1
movzx rax, byte [rbx]
shr eax, 2
mov rcx, qword [0x00f25828]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
add r8, r8
add r8, r8
lea rcx, [rcx + r8*8]
mov r8d, dword [rbp + 0x40]
and r8d, 7
movsxd r8, r8d
cmp eax, dword [rcx + r8*4]
setg al
movzx rax, al
mov ecx, dword [rbp + 0x44]
movsxd rcx, ecx
shr rcx, 3
mov r8, qword [rbp + 0x48]
lea rcx, [r8 + rcx]
test eax, eax
je 0xc17e34
lea rax, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rax + r8]
or byte [rcx], al
jmp 0xc17e4f
lea rax, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rax + r8]
not al
and byte [rcx], al
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, edx
mov dword [rbp + 0x44], eax
jne 0xc17dca
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc17d88
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
or r8d, 0xffffffff
lea r9, [rbp + 0x80]
call fcn.00b40560
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx + 0x20]
movsxd rdx, eax
lea rdx, [rdx + rdx*2]
lea rcx, [rcx + rdx]
mov byte [rcx + 2], al
mov byte [rcx + 1], al
mov byte [rcx], al
add eax, 1
cmp eax, 0x100
jne 0xc17ea8
nop
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc17f3a
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
mov rcx, rbx
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x30]
mov r8, qword [rax + 0x90]
call fcn.004093d0
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc17ee9
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc17fd4
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc17fc0
add ecx, 1
movzx ax, byte [rbx]
mov edx, eax
shl eax, 8
add eax, edx
mov word [rsi], ax
add rbx, 1
add rsi, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc17f97
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc17f5a
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movsd xmm6, qword [rax + 0xc8]
subsd xmm6, qword [rax + 0xc0]
ucomisd xmm6, qword [0x00c1aab8]
jp 0xc180c9
jne 0xc180c9
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc180c3
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc180ab
add ecx, 1
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc1805e
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc18020
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movsd xmm0, qword [rax + 0xc0]
call fcn.0040bef0
mov rsi, rax
mov rax, qword [rbp + 0x30]
movsd xmm0, qword [rax + 0xc8]
call fcn.0040bef0
mov rdi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x80]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x40], eax
jg 0xc181cf
add r13d, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r14d, dword [rcx + 0x7c]
sub r14d, 1
cmp eax, r14d
mov dword [rbp + 0x44], eax
jg 0xc181b6
add r14d, 1
movzx rax, byte [rbx]
cmp eax, esi
jge 0xc1815f
mov eax, esi
cmp eax, edi
jle 0xc18165
mov eax, edi
sub eax, esi
cvtsi2sd xmm0, eax
divsd xmm0, xmm6
mulsd xmm0, qword [0x00c1aab0]
call fcn.0040bef0
mov rcx, qword [rbp + 0x48]
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r14d
mov dword [rbp + 0x44], eax
jne 0xc18155
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, r13d
mov dword [rbp + 0x40], eax
jne 0xc18113
nop
mov rax, qword [rbp + 0x30]
mov qword [rax + 0xc0], 0
mov qword [rax + 0xc8], 0
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc182bb
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc182a3
add ecx, 1
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov byte [rdx], 0xff
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc1824b
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc1820d
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc18365
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
xor rcx, rcx
mov rdx, qword [rbp + 0x30]
mov edx, dword [rdx + 0x7c]
sub edx, 1
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jg 0xc1834d
add edx, 1
movzx rcx, byte [rbx]
cvtsi2sd xmm0, ecx
divsd xmm0, qword [0x00c1aab0]
cvtsd2ss xmm0, xmm0
movss dword [rax], xmm0
add rbx, 1
add rax, 4
mov ecx, dword [rbp + 0x44]
add ecx, 1
mov dword [rbp + 0x44], ecx
mov ecx, dword [rbp + 0x44]
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jne 0xc18319
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc182df
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc18465
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc1844d
add ecx, 1
movzx ax, byte [rbx]
mov edx, eax
shl eax, 8
add eax, edx
mov word [rsi], ax
add rsi, 2
movzx ax, byte [rbx]
mov edx, eax
shl eax, 8
add eax, edx
mov word [rsi], ax
add rsi, 2
movzx ax, byte [rbx]
mov edx, eax
shl eax, 8
add eax, edx
mov word [rsi], ax
add rsi, 2
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc18400
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc183c3
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0x98]
cmp rax, 6
jg 0xc184bc
cmp rax, 6
je 0xc18aae
sub rax, 1
test rax, rax
je 0xc184f5
sub rax, 1
test rax, rax
je 0xc18650
sub rax, 1
test rax, rax
je 0xc1871b
sub rax, 2
test rax, rax
jne 0xc1aa3b
jmp 0xc187bc
sub rax, 7
test rax, rax
je 0xc18b57
sub rax, 1
test rax, rax
je 0xc18b91
sub rax, 1
test rax, rax
je 0xc18b74
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc189d6
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0xa8]
sub al, 1
cmp al, 0xff
je 0xc18516
test al, al
jne 0xc1aa3b
jmp 0xc18633
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc1862d
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rcx + 0x7c]
sub edx, 1
cmp eax, edx
mov dword [rbp + 0x44], eax
jg 0xc18615
add edx, 1
movzx eax, word [rbx]
shr eax, 0xa
mov rcx, qword [0x00f25828]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
add r8, r8
add r8, r8
lea rcx, [rcx + r8*8]
mov r8d, dword [rbp + 0x40]
and r8d, 7
movsxd r8, r8d
cmp eax, dword [rcx + r8*4]
setg al
movzx rax, al
mov ecx, dword [rbp + 0x44]
movsxd rcx, ecx
shr rcx, 3
mov r8, qword [rbp + 0x48]
lea rcx, [r8 + rcx]
test eax, eax
je 0xc185df
lea rax, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rax + r8]
or byte [rcx], al
jmp 0xc185fa
lea rax, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rax + r8]
not al
and byte [rcx], al
add rbx, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, edx
mov dword [rbp + 0x44], eax
jne 0xc18576
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc18534
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
or r8d, 0xffffffff
lea r9, [rbp + 0x80]
call fcn.00b40560
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx + 0x20]
movsxd rdx, eax
lea rdx, [rdx + rdx*2]
lea rcx, [rcx + rdx]
mov byte [rcx + 2], al
mov byte [rcx + 1], al
mov byte [rcx], al
add eax, 1
cmp eax, 0x100
jne 0xc18653
nop
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc18715
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc18701
add ecx, 1
movzx eax, word [rbx]
shr eax, 8
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc186d6
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc18698
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc187b6
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc187a2
add ecx, 1
movzx eax, word [rbx]
shr eax, 8
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc18777
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc18739
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movsd xmm6, qword [rax + 0xc8]
subsd xmm6, qword [rax + 0xc0]
ucomisd xmm6, qword [0x00c1aab8]
jp 0xc188b1
jne 0xc188b1
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc188ab
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc18893
add ecx, 1
movzx eax, word [rbx]
shr eax, 8
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
movzx eax, word [rbx]
shr eax, 8
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
movzx eax, word [rbx]
shr eax, 8
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc18840
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc18802
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movsd xmm0, qword [rax + 0xc0]
call fcn.0040bef0
mov rsi, rax
mov rax, qword [rbp + 0x30]
movsd xmm0, qword [rax + 0xc8]
call fcn.0040bef0
mov rdi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x80]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x40], eax
jg 0xc189b6
add r13d, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r14d, dword [rcx + 0x7c]
sub r14d, 1
cmp eax, r14d
mov dword [rbp + 0x44], eax
jg 0xc1899d
add r14d, 1
movzx eax, word [rbx]
cmp eax, esi
jge 0xc18946
mov eax, esi
cmp eax, edi
jle 0xc1894c
mov eax, edi
sub eax, esi
cvtsi2sd xmm0, eax
divsd xmm0, xmm6
mulsd xmm0, qword [0x00c1aab0]
call fcn.0040bef0
mov rcx, qword [rbp + 0x48]
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
add rbx, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r14d
mov dword [rbp + 0x44], eax
jne 0xc1893d
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, r13d
mov dword [rbp + 0x40], eax
jne 0xc188fb
nop
mov rax, qword [rbp + 0x30]
mov qword [rax + 0xc0], 0
mov qword [rax + 0xc8], 0
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc18aa8
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc18a90
add ecx, 1
movzx eax, word [rbx]
shr eax, 8
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
movzx eax, word [rbx]
shr eax, 8
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
movzx eax, word [rbx]
shr eax, 8
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
mov byte [rdx], 0xff
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc18a32
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc189f4
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc18b51
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
xor rcx, rcx
mov rdx, qword [rbp + 0x30]
mov edx, dword [rdx + 0x7c]
sub edx, 1
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jg 0xc18b39
add edx, 1
movzx ecx, word [rbx]
cvtsi2sd xmm0, ecx
divsd xmm0, qword [0x00c1aac0]
cvtsd2ss xmm0, xmm0
movss dword [rax], xmm0
add rax, 4
add rbx, 2
mov ecx, dword [rbp + 0x44]
add ecx, 1
mov dword [rbp + 0x44], ecx
mov ecx, dword [rbp + 0x44]
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jne 0xc18b06
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc18acc
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc18c3c
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc18c24
add ecx, 1
movzx rax, word [rbx]
mov word [rsi], ax
add rsi, 2
movzx rax, word [rbx]
mov word [rsi], ax
add rsi, 2
movzx rax, word [rbx]
mov word [rsi], ax
add rsi, 2
add rbx, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc18bec
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc18baf
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0x98]
cmp rax, 6
jg 0xc18c93
cmp rax, 6
je 0xc1918e
sub rax, 1
test rax, rax
je 0xc18ccc
sub rax, 1
test rax, rax
je 0xc18e58
sub rax, 1
test rax, rax
je 0xc18fd7
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc190b6
sub rax, 7
test rax, rax
je 0xc19279
sub rax, 1
test rax, rax
je 0xc193db
sub rax, 1
test rax, rax
je 0xc1931d
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc194b8
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0xa8]
sub al, 1
cmp al, 0xff
je 0xc18ced
test al, al
jne 0xc1aa3b
jmp 0xc18e3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ebx, dword [rcx + 0x80]
sub ebx, 1
cmp eax, ebx
mov dword [rbp + 0x40], eax
jg 0xc18e35
add ebx, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x60], rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r8d, dword [rcx + 0x7c]
sub r8d, 1
cmp eax, r8d
mov dword [rbp + 0x44], eax
jg 0xc18e1d
add r8d, 1
mov rax, qword [rbp + 0x60]
movzx rcx, byte [rax + 2]
mov edx, dword [rbp + 0x54]
imul ecx, edx
movzx rdx, byte [rax + 1]
imul edx, esi
add ecx, edx
movzx rax, byte [rax]
imul eax, edi
add ecx, eax
mov r9d, 0x64
mov eax, ecx
cdq
idiv r9d
shr eax, 2
mov rcx, qword [0x00f25828]
mov edx, dword [rbp + 0x44]
and edx, 7
movsxd rdx, edx
add rdx, rdx
add rdx, rdx
lea rcx, [rcx + rdx*8]
mov edx, dword [rbp + 0x40]
and edx, 7
movsxd rdx, edx
cmp eax, dword [rcx + rdx*4]
setg al
movzx rax, al
mov ecx, dword [rbp + 0x44]
movsxd rcx, ecx
shr rcx, 3
mov rdx, qword [rbp + 0x48]
lea rcx, [rdx + rcx]
test eax, eax
je 0xc18de0
lea rax, [0x00f04c24]
mov edx, dword [rbp + 0x44]
and edx, 7
movsxd rdx, edx
movzx rax, byte [rax + rdx]
or byte [rcx], al
jmp 0xc18df9
lea rax, [0x00f04c24]
mov edx, dword [rbp + 0x44]
and edx, 7
movsxd rdx, edx
movzx rax, byte [rax + rdx]
not al
and byte [rcx], al
mov rax, qword [rbp + 0x60]
add rax, 3
mov qword [rbp + 0x60], rax
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r8d
mov dword [rbp + 0x44], eax
jne 0xc18d52
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, ebx
mov dword [rbp + 0x40], eax
jne 0xc18d0b
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
or r8d, 0xffffffff
lea r9, [rbp + 0x80]
call fcn.00b40560
jmp 0xc1aa3b
mov rcx, qword [0x008c52e0]
mov dl, 1
mov r8, qword [rbp + 0x38]
lea r9, [rbp + 0xb8]
mov dword [rsp + 0x20], 0xff
mov rax, qword [rbp + 0x30]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x28], eax
call fcn.008c64e0
mov qword [rbp + 0x3b8], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx + 0x20]
movsxd rdx, eax
lea rdx, [rdx + rdx*2]
movsxd r8, eax
lea r8, [r8 + r8*2]
movzx r8, byte [r8 + rbp + 0xba]
mov byte [rcx + rdx + 2], r8b
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx + 0x20]
movsxd rdx, eax
lea rdx, [rdx + rdx*2]
movsxd r8, eax
lea r8, [r8 + r8*2]
movzx r8, byte [r8 + rbp + 0xb9]
mov byte [rcx + rdx + 1], r8b
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx + 0x20]
movsxd rdx, eax
lea rdx, [rdx + rdx*2]
movsxd r8, eax
lea r8, [r8 + r8*2]
movzx r8, byte [r8 + rbp + 0xb8]
mov byte [rcx + rdx], r8b
add eax, 1
cmp eax, 0x100
jne 0xc18e8e
nop
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ebx, dword [rcx + 0x80]
sub ebx, 1
cmp eax, ebx
mov dword [rbp + 0x40], eax
jg 0xc18fb7
add ebx, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x60], rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x7c]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x44], eax
jg 0xc18f9f
add esi, 1
mov rcx, qword [rbp + 0x3b8]
mov rdx, qword [rbp + 0x60]
call fcn.008c6970
mov rcx, qword [rbp + 0x48]
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
mov rax, qword [rbp + 0x60]
add rax, 3
mov qword [rbp + 0x60], rax
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, esi
mov dword [rbp + 0x44], eax
jne 0xc18f62
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, ebx
mov dword [rbp + 0x40], eax
jne 0xc18f23
nop
mov rax, qword [rbp + 0x3b8]
mov qword [rbp + 0x3b8], 0
mov rcx, rax
call fcn.0040eab0
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ebx, dword [rcx + 0x80]
sub ebx, 1
cmp eax, ebx
mov dword [rbp + 0x40], eax
jg 0xc190b0
add ebx, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x60], rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc19098
add ecx, 1
mov rax, qword [rbp + 0x60]
movzx rdx, byte [rax + 2]
mov r8d, dword [rbp + 0x54]
imul edx, r8d
movzx r8, byte [rax + 1]
imul r8d, esi
add edx, r8d
movzx rax, byte [rax]
imul eax, edi
add edx, eax
mov r8d, 0x64
mov eax, edx
cdq
idiv r8d
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
mov rax, qword [rbp + 0x60]
add rax, 3
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x48]
add rax, 1
mov qword [rbp + 0x48], rax
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc19034
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, ebx
mov dword [rbp + 0x40], eax
jne 0xc18ff5
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ebx, dword [rcx + 0x80]
sub ebx, 1
cmp eax, ebx
mov dword [rbp + 0x40], eax
jg 0xc19188
add ebx, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x60], rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc19170
add ecx, 1
mov rax, qword [rbp + 0x60]
movzx rdx, byte [rax + 2]
imul edx, edx, 0xd4d4
movzx r8, byte [rax + 1]
imul r8d, r8d, 0x2cbc9
add edx, r8d
movzx rax, byte [rax]
imul eax, eax, 0x4b4b
add edx, eax
mov r8d, 0x3e8
mov eax, edx
xor edx, edx
div r8d
mov word [rsi], ax
mov rax, qword [rbp + 0x60]
add rax, 3
mov qword [rbp + 0x60], rax
add rsi, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc19112
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, ebx
mov dword [rbp + 0x40], eax
jne 0xc190d4
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ebx, dword [rcx + 0x80]
sub ebx, 1
cmp eax, ebx
mov dword [rbp + 0x40], eax
jg 0xc19273
add ebx, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x60], rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
xor rcx, rcx
mov rdx, qword [rbp + 0x30]
mov edx, dword [rdx + 0x7c]
sub edx, 1
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jg 0xc1925b
add edx, 1
mov rcx, qword [rbp + 0x60]
movzx r8, byte [rcx + 2]
cvtsi2sd xmm0, r8d
mulsd xmm0, qword [0x00c1aa98]
movzx r8, byte [rcx + 1]
cvtsi2sd xmm1, r8d
mulsd xmm1, qword [0x00c1aaa0]
addsd xmm0, xmm1
movzx rcx, byte [rcx]
cvtsi2sd xmm1, ecx
mulsd xmm1, qword [0x00c1aaa8]
addsd xmm0, xmm1
divsd xmm0, qword [0x00c1aab0]
cvtsd2ss xmm0, xmm0
movss dword [rax], xmm0
mov rcx, qword [rbp + 0x60]
add rcx, 3
mov qword [rbp + 0x60], rcx
add rax, 4
mov ecx, dword [rbp + 0x44]
add ecx, 1
mov dword [rbp + 0x44], ecx
mov ecx, dword [rbp + 0x44]
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jne 0xc191e7
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, ebx
mov dword [rbp + 0x40], eax
jne 0xc191ac
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc19317
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x60], rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x7c]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x44], eax
jg 0xc19303
add edi, 1
mov rcx, qword [rbp + 0x60]
call fcn.00c63560
mov dword [rbx], eax
mov rax, qword [rbp + 0x60]
add rax, 3
mov qword [rbp + 0x60], rax
add rbx, 4
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, edi
mov dword [rbp + 0x44], eax
jne 0xc192d5
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc19297
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x80]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x40], eax
jg 0xc193d5
add r13d, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x60], rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r14d, dword [rcx + 0x7c]
sub r14d, 1
cmp eax, r14d
mov dword [rbp + 0x44], eax
jg 0xc193bc
add r14d, 1
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
call fcn.00ac62f0
mov rdi, rbx
lea rsi, [rbp + 0x68]
movsw word [rdi], word [rsi]
movsb byte [rdi], byte [rsi]
mov rax, qword [rbp + 0x60]
add rax, 3
mov qword [rbp + 0x60], rax
add rbx, 3
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r14d
mov dword [rbp + 0x44], eax
jne 0xc19381
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, r13d
mov dword [rbp + 0x40], eax
jne 0xc1933f
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ebx, dword [rcx + 0x80]
sub ebx, 1
cmp eax, ebx
mov dword [rbp + 0x40], eax
jg 0xc194b2
add ebx, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x60], rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc1949a
add ecx, 1
mov rax, qword [rbp + 0x60]
movzx ax, byte [rax + 2]
mov edx, eax
shl eax, 8
add eax, edx
mov word [rsi], ax
add rsi, 2
mov rax, qword [rbp + 0x60]
movzx ax, byte [rax + 1]
mov edx, eax
shl eax, 8
add eax, edx
mov word [rsi], ax
add rsi, 2
mov rax, qword [rbp + 0x60]
movzx ax, byte [rax]
mov edx, eax
shl eax, 8
add eax, edx
mov word [rsi], ax
add rsi, 2
mov rax, qword [rbp + 0x60]
add rax, 3
mov qword [rbp + 0x60], rax
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc19437
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, ebx
mov dword [rbp + 0x40], eax
jne 0xc193f9
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc19590
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc19578
add ecx, 1
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
mov rax, qword [rbp + 0x48]
mov byte [rax], 0xff
add rax, 1
mov qword [rbp + 0x48], rax
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc19514
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc194d6
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0x98]
cmp rax, 5
jg 0xc195e7
cmp rax, 5
je 0xc199c5
sub rax, 1
test rax, rax
je 0xc19620
sub rax, 1
test rax, rax
je 0xc19783
sub rax, 1
test rax, rax
je 0xc19862
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc19917
sub rax, 7
test rax, rax
je 0xc19b5a
sub rax, 1
test rax, rax
je 0xc19b94
sub rax, 1
test rax, rax
je 0xc19b77
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc19a8a
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0xa8]
sub al, 1
cmp al, 0xff
je 0xc19641
test al, al
jne 0xc1aa3b
jmp 0xc19766
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc19760
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rcx + 0x7c]
sub edx, 1
cmp eax, edx
mov dword [rbp + 0x44], eax
jg 0xc19748
add edx, 1
cvtss2sd xmm0, dword [rbx]
divsd xmm0, qword [0x00c1aac8]
mov rax, qword [0x00f25828]
mov ecx, dword [rbp + 0x44]
and ecx, 7
movsxd rcx, ecx
add rcx, rcx
add rcx, rcx
lea rax, [rax + rcx*8]
mov ecx, dword [rbp + 0x40]
and ecx, 7
movsxd rcx, ecx
cvtsi2sd xmm1, dword [rax + rcx*4]
comisd xmm0, xmm1
seta al
movzx rax, al
mov ecx, dword [rbp + 0x44]
movsxd rcx, ecx
shr rcx, 3
mov r8, qword [rbp + 0x48]
lea rcx, [r8 + rcx]
test eax, eax
je 0xc19712
lea rax, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rax + r8]
or byte [rcx], al
jmp 0xc1972d
lea rax, [0x00f04c24]
mov r8d, dword [rbp + 0x44]
and r8d, 7
movsxd r8, r8d
movzx rax, byte [rax + r8]
not al
and byte [rcx], al
add rbx, 4
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, edx
mov dword [rbp + 0x44], eax
jne 0xc196a1
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc1965f
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
or r8d, 0xffffffff
lea r9, [rbp + 0x80]
call fcn.00b40560
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx + 0x20]
movsxd rdx, eax
lea rdx, [rdx + rdx*2]
lea rcx, [rcx + rdx]
mov byte [rcx + 2], al
mov byte [rcx + 1], al
mov byte [rcx], al
add eax, 1
cmp eax, 0x100
jne 0xc19786
nop
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc1985c
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x7c]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x44], eax
jg 0xc19844
add edi, 1
cvtss2sd xmm0, dword [rbx]
mulsd xmm0, qword [0x00c1aab0]
call fcn.0040bef0
mov rcx, qword [rbp + 0x48]
mov byte [rcx], al
add rbx, 4
mov rax, qword [rbp + 0x48]
add rax, 1
mov qword [rbp + 0x48], rax
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, edi
mov dword [rbp + 0x44], eax
jne 0xc19809
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc197cb
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc19911
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x7c]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x44], eax
jg 0xc198f9
add edi, 1
cvtss2sd xmm0, dword [rbx]
mulsd xmm0, qword [0x00c1aab0]
call fcn.0040bef0
mov rcx, qword [rbp + 0x48]
mov byte [rcx], al
add rbx, 4
mov rax, qword [rbp + 0x48]
add rax, 1
mov qword [rbp + 0x48], rax
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, edi
mov dword [rbp + 0x44], eax
jne 0xc198be
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc19880
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc199bf
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x7c]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x44], eax
jg 0xc199a7
add r13d, 1
cvtss2sd xmm0, dword [rbx]
mulsd xmm0, qword [0x00c1aac0]
call fcn.0040bef0
mov word [rsi], ax
add rbx, 4
add rsi, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r13d
mov dword [rbp + 0x44], eax
jne 0xc19976
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc19935
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc19a84
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x7c]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x44], eax
jg 0xc19a6c
add edi, 1
cvtss2sd xmm0, dword [rbx]
mulsd xmm0, qword [0x00c1aab0]
call fcn.0040bef0
mov rcx, qword [rbp + 0x48]
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
add rbx, 4
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, edi
mov dword [rbp + 0x44], eax
jne 0xc19a21
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc199e3
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc19b54
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x7c]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x44], eax
jg 0xc19b3c
add edi, 1
cvtss2sd xmm0, dword [rbx]
mulsd xmm0, qword [0x00c1aab0]
call fcn.0040bef0
mov rcx, qword [rbp + 0x48]
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
mov byte [rcx], al
add rcx, 1
mov qword [rbp + 0x48], rcx
mov byte [rcx], 0xff
add rcx, 1
mov qword [rbp + 0x48], rcx
add rbx, 4
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, edi
mov dword [rbp + 0x44], eax
jne 0xc19ae6
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc19aa8
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc19c4a
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x7c]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x44], eax
jg 0xc19c32
add r13d, 1
cvtss2sd xmm0, dword [rbx]
mulsd xmm0, qword [0x00c1aac0]
call fcn.0040bef0
mov word [rsi], ax
add rsi, 2
mov word [rsi], ax
add rsi, 2
mov word [rsi], ax
add rsi, 2
add rbx, 4
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r13d
mov dword [rbp + 0x44], eax
jne 0xc19bf3
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc19bb2
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0x98]
cmp rax, 5
jg 0xc19c9d
cmp rax, 5
je 0xc19d84
sub rax, 1
test rax, rax
je 0xc19cd6
sub rax, 1
test rax, rax
je 0xc19cf3
sub rax, 1
test rax, rax
je 0xc19d10
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc19d2d
sub rax, 6
test rax, rax
je 0xc19d4a
sub rax, 2
test rax, rax
je 0xc19ebe
sub rax, 1
test rax, rax
je 0xc19d67
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc19dff
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc19df9
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x68]
mov rdx, rbx
mov r8, qword [rbp + 0x58]
mov rax, qword [rbp + 0x30]
mov r9d, dword [rax + 0x7c]
mov qword [rsp + 0x20], 0
call fcn.00c633a0
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc19d9e
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc19eb8
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x7c]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x44], eax
jg 0xc19ea0
add r13d, 1
lea rcx, [rbp + 0x7d]
mov edx, dword [rbx]
call fcn.00c62ee0
movzx rax, byte [rbp + 0x7f]
mov byte [rsi + 2], al
movzx rax, byte [rbp + 0x7e]
mov byte [rsi + 1], al
movzx rax, byte [rbp + 0x7d]
mov byte [rsi], al
mov byte [rsi + 3], 0xff
add rbx, 4
add rsi, 4
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r13d
mov dword [rbp + 0x44], eax
jne 0xc19e5e
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc19e1d
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0x98]
cmp rax, 5
jg 0xc19f28
cmp rax, 5
je 0xc19ff2
sub rax, 1
test rax, rax
je 0xc19f61
sub rax, 1
test rax, rax
je 0xc19f7e
sub rax, 1
test rax, rax
je 0xc19f9b
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc19fb8
sub rax, 6
test rax, rax
je 0xc19fd5
sub rax, 1
test rax, rax
je 0xc1a170
sub rax, 1
test rax, rax
je 0xc1a18d
sub rax, 2
test rax, rax
jne 0xc1aa3b
jmp 0xc1a0b0
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x80]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x40], eax
jg 0xc1a0aa
add r13d, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x58], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r14d, dword [rcx + 0x7c]
sub r14d, 1
cmp eax, r14d
mov dword [rbp + 0x44], eax
jg 0xc1a091
add r14d, 1
lea rcx, [rbp + 0x68]
mov rdx, rbx
call fcn.00ac66a0
mov rdi, qword [rbp + 0x58]
lea rsi, [rbp + 0x68]
movsw word [rdi], word [rsi]
movsb byte [rdi], byte [rsi]
add rbx, 3
mov rax, qword [rbp + 0x58]
add rax, 3
mov qword [rbp + 0x58], rax
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r14d
mov dword [rbp + 0x44], eax
jne 0xc1a056
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, r13d
mov dword [rbp + 0x40], eax
jne 0xc1a014
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc1a16a
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x7c]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x44], eax
jg 0xc1a152
add r13d, 1
lea rcx, [rbp + 0x7a]
mov rdx, rbx
call fcn.00ac66a0
movzx rax, byte [rbp + 0x7c]
mov byte [rsi + 2], al
movzx rax, byte [rbp + 0x7b]
mov byte [rsi + 1], al
movzx rax, byte [rbp + 0x7a]
mov byte [rsi], al
mov byte [rsi + 3], 0xff
add rbx, 3
add rsi, 4
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r13d
mov dword [rbp + 0x44], eax
jne 0xc1a10f
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc1a0ce
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0x98]
cmp rax, 5
jg 0xc1a1fb
cmp rax, 5
je 0xc1a694
sub rax, 1
test rax, rax
je 0xc1a234
sub rax, 1
test rax, rax
je 0xc1a3cc
sub rax, 1
test rax, rax
je 0xc1a3e9
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc1a4cb
sub rax, 6
test rax, rax
je 0xc1a594
sub rax, 1
test rax, rax
je 0xc1a3cc
sub rax, 2
test rax, rax
je 0xc1a3cc
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc1a751
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0xa8]
sub al, 1
cmp al, 0xff
je 0xc1a255
test al, al
jne 0xc1aa3b
jmp 0xc1a3a4
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x80]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x40], eax
jg 0xc1a39e
add r13d, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r8d, dword [rcx + 0x7c]
sub r8d, 1
cmp eax, r8d
mov dword [rbp + 0x44], eax
jg 0xc1a385
add r8d, 1
mov rax, rbx
movzx ecx, word [rax]
shr ecx, 8
mov edx, dword [rbp + 0x54]
imul ecx, edx
movzx edx, word [rax + 2]
shr edx, 8
imul edx, esi
add ecx, edx
movzx eax, word [rax + 4]
shr eax, 8
imul eax, edi
add ecx, eax
mov r9d, 0x64
mov eax, ecx
cdq
idiv r9d
shr eax, 2
mov rcx, qword [0x00f25828]
mov edx, dword [rbp + 0x44]
and edx, 7
movsxd rdx, edx
add rdx, rdx
add rdx, rdx
lea rcx, [rcx + rdx*8]
mov edx, dword [rbp + 0x40]
and edx, 7
movsxd rdx, edx
cmp eax, dword [rcx + rdx*4]
setg al
movzx rax, al
mov ecx, dword [rbp + 0x44]
movsxd rcx, ecx
shr rcx, 3
mov rdx, qword [rbp + 0x48]
lea rcx, [rdx + rcx]
test eax, eax
je 0xc1a350
lea rax, [0x00f04c24]
mov edx, dword [rbp + 0x44]
and edx, 7
movsxd rdx, edx
movzx rax, byte [rax + rdx]
or byte [rcx], al
jmp 0xc1a369
lea rax, [0x00f04c24]
mov edx, dword [rbp + 0x44]
and edx, 7
movsxd rdx, edx
movzx rax, byte [rax + rdx]
not al
and byte [rcx], al
add rbx, 6
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, r8d
mov dword [rbp + 0x44], eax
jne 0xc1a2bd
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, r13d
mov dword [rbp + 0x40], eax
jne 0xc1a277
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
or r8d, 0xffffffff
lea r9, [rbp + 0x80]
call fcn.00b40560
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rcx + 0x80]
sub r13d, 1
cmp eax, r13d
mov dword [rbp + 0x40], eax
jg 0xc1a4c5
add r13d, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc1a4ac
add ecx, 1
mov rax, rbx
movzx edx, word [rax]
shr edx, 8
mov r8d, dword [rbp + 0x54]
imul edx, r8d
movzx r8d, word [rax + 2]
shr r8d, 8
imul r8d, esi
add edx, r8d
movzx eax, word [rax + 4]
shr eax, 8
imul eax, edi
add edx, eax
mov r8d, 0x64
mov eax, edx
cdq
idiv r8d
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rbx, 6
mov rax, qword [rbp + 0x48]
add rax, 1
mov qword [rbp + 0x48], rax
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc1a449
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, r13d
mov dword [rbp + 0x40], eax
jne 0xc1a40b
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc1a58e
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc1a576
add ecx, 1
mov rax, rbx
movzx edx, word [rax]
imul edx, edx, 0xd4
movzx r8d, word [rax + 2]
imul r8d, r8d, 0x2c9
add edx, r8d
movzx eax, word [rax + 4]
imul eax, eax, 0x4b
add edx, eax
mov r8d, 0x3e8
mov eax, edx
xor edx, edx
div r8d
mov word [rsi], ax
add rbx, 6
add rsi, 2
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc1a526
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc1a4e9
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc1a68e
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
xor rcx, rcx
mov rdx, qword [rbp + 0x30]
mov edx, dword [rdx + 0x7c]
sub edx, 1
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jg 0xc1a676
add edx, 1
mov rcx, rbx
movzx r8d, word [rcx]
cvtsi2sd xmm0, r8d
mulsd xmm0, qword [0x00c1aa98]
divsd xmm0, qword [0x00c1aad0]
movzx r8d, word [rcx + 2]
cvtsi2sd xmm1, r8d
mulsd xmm1, qword [0x00c1aaa0]
divsd xmm1, qword [0x00c1aad0]
addsd xmm0, xmm1
movzx ecx, word [rcx + 4]
cvtsi2sd xmm1, ecx
mulsd xmm1, qword [0x00c1aaa8]
divsd xmm1, qword [0x00c1aad0]
addsd xmm0, xmm1
divsd xmm0, qword [0x00c1aab0]
cvtsd2ss xmm0, xmm0
movss dword [rax], xmm0
add rbx, 6
add rax, 4
mov ecx, dword [rbp + 0x44]
add ecx, 1
mov dword [rbp + 0x44], ecx
mov ecx, dword [rbp + 0x44]
cmp ecx, edx
mov dword [rbp + 0x44], ecx
jne 0xc1a5f0
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc1a5b2
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc1a74b
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x58], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc1a733
add ecx, 1
mov rax, qword [rbp + 0x58]
movzx edx, word [rbx]
shr edx, 8
mov byte [rax + 2], dl
movzx edx, word [rbx + 2]
shr edx, 8
mov byte [rax + 1], dl
movzx edx, word [rbx + 4]
shr edx, 8
mov byte [rax], dl
add rbx, 6
mov rax, qword [rbp + 0x58]
add rax, 3
mov qword [rbp + 0x58], rax
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc1a6f0
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc1a6b2
nop
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx + 0x80]
sub edi, 1
cmp eax, edi
mov dword [rbp + 0x40], eax
jg 0xc1a802
add edi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov rsi, rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc1a7ea
add ecx, 1
mov rax, rsi
movzx edx, word [rbx]
shr edx, 8
mov byte [rax + 2], dl
movzx edx, word [rbx + 2]
shr edx, 8
mov byte [rax + 1], dl
movzx edx, word [rbx + 4]
shr edx, 8
mov byte [rax], dl
mov byte [rax + 3], 0xff
add rbx, 6
add rsi, 4
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc1a7ac
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, edi
mov dword [rbp + 0x40], eax
jne 0xc1a76f
nop
jmp 0xc1aa3b
mov rax, qword [rbp + 0x30]
movzx rax, byte [rax + 0x98]
cmp rax, 5
jg 0xc1a855
cmp rax, 5
je 0xc1a91f
sub rax, 1
test rax, rax
je 0xc1a88e
sub rax, 1
test rax, rax
je 0xc1a8ab
sub rax, 1
test rax, rax
je 0xc1a8c8
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc1a8e5
sub rax, 6
test rax, rax
je 0xc1a902
sub rax, 1
test rax, rax
je 0xc1aa09
sub rax, 1
test rax, rax
je 0xc1aa23
sub rax, 1
test rax, rax
jne 0xc1aa3b
jmp 0xc1a9ef
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov esi, dword [rcx + 0x80]
sub esi, 1
cmp eax, esi
mov dword [rbp + 0x40], eax
jg 0xc1a9ec
add esi, 1
mov rcx, qword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
call qword [rax]
mov rbx, rax
mov rcx, qword [rbp + 0x30]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
call qword [rax]
mov qword [rbp + 0x48], rax
xor rax, rax
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx + 0x7c]
sub ecx, 1
cmp eax, ecx
mov dword [rbp + 0x44], eax
jg 0xc1a9d4
add ecx, 1
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
movzx rax, byte [rbx]
mov rdx, qword [rbp + 0x48]
mov byte [rdx], al
add rdx, 1
mov qword [rbp + 0x48], rdx
add rbx, 1
add rbx, 1
mov eax, dword [rbp + 0x44]
add eax, 1
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
cmp eax, ecx
mov dword [rbp + 0x44], eax
jne 0xc1a97b
nop
mov eax, dword [rbp + 0x40]
add eax, 1
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
cmp eax, esi
mov dword [rbp + 0x40], eax
jne 0xc1a93d
nop
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
jmp 0xc1aa3b
mov rcx, qword [rbp + 0x38]
mov dl, 5
call fcn.00c1ac50
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
call fcn.00c16d00
mov rcx, qword [rbp + 0x38]
call fcn.00c12560
test al, al
je 0xc1aa77
mov rax, qword [rbp + 0x30]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x98]
mov rbx, rax
mov rax, qword [rbp + 0x38]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x98]
mov rcx, rbx
mov rdx, rax
mov rbx, qword [rbx]
call qword [rbx + 0x78]
mov rcx, qword [rbp + 0x30]
call fcn.00c20390
movdqa xmm6, xmmword [rbp + 0x3c0]
lea rsp, [rbp + 0x3d8]
pop rbx
pop rsi
pop rdi
pop r13
pop r14
pop rbp
ret