Function at 0x662540
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x148]
cmp r12, qword [r14 + 0x10]
jbe 0x665376
sub rsp, 0x1c8
mov qword [rsp + 0x1c0], rbp
lea rbp, [rsp + 0x1c0]
mov qword [rsp + 0x1d8], rbx
mov qword [rsp + 0x1e0], rcx
mov rdx, qword [rax + 0x30]
mov r10, qword [rax + 0x38]
cmp qword [rax + 0x378], 1
jne 0x66264e
test sil, sil
jne 0x66264e
mov r11, qword [0x00951fc0]
mov r12, qword [0x00951fc8]
cmp rdi, r12
jae 0x66536a
shl rdi, 5
mov r12, qword [r11 + rdi]
mov r13, qword [r11 + rdi + 8]
mov r15, qword [r11 + rdi + 0x10]
mov r11, qword [r11 + rdi + 0x18]
sub rdx, r15
lea rdx, [r12 + rdx]
lea rdx, [rdx - 1]
test r12, r12
je 0x665365
mov rdi, rax
mov rax, rdx
cmp r12, 0xffffffffffffffff
je 0x6625ed
cqo
idiv r12
jmp 0x6625f2
neg rax
xor edx, edx
sub r10, r11
lea rdx, [r13 + r10]
lea rdx, [rdx - 1]
nop
test r13, r13
je 0x66535c
mov r8, rax
mov rax, rdx
cmp r13, 0xffffffffffffffff
je 0x66261c
cqo
idiv r13
jmp 0x662621
neg rax
xor edx, edx
test r8, r8
je 0x66262b
test rax, rax
jne 0x662645
xor eax, eax
xor ebx, ebx
mov rcx, rax
mov rdi, rbx
mov rbp, qword [rsp + 0x1c0]
add rsp, 0x1c8
ret
mov rdx, r8
mov r10, rax
mov rax, rdi
mov qword [rsp + 0x1d0], rax
mov byte [rsp + 0x1f0], sil
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1d8], rbx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0xd8], r10
mov r11, qword [rax + 0x60]
cmp r11, 0xa
jg 0x6629e8
cmp r11, 5
jg 0x662845
lea r8, [r11 - 1]
nop word [rax + rax]
cmp r8, 3
ja 0x662793
mov r8, qword [rax + 0x40]
mov qword [rsp + 0xf0], r8
cmp byte [rax + 0x380], 0
je 0x6626fd
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00657f40
lea rcx, [0x007ac078]
mov rdx, rax
xor ebx, ebx
jmp 0x662739
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00658460
lea rcx, [0x007ac018]
xor edx, edx
mov rbx, rax
movzx esi, byte [rsp + 0x1f0]
mov r10, qword [rsp + 0xd8]
mov rdi, rbx
mov r8, rdx
xor r9d, r9d
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
xor r15d, r15d
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x1d8]
jmp 0x662e0b
cmp r11, 5
jne 0x662c8d
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00657f40
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x1d8]
movzx esi, byte [rsp + 0x1f0]
mov r10, qword [rsp + 0xd8]
xor edi, edi
mov r8, rax
xor r9d, r9d
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
xor r15d, r15d
lea rax, [0x007ac078]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x188], r8
mov ecx, 0x10
mov qword [rsp + 0xf0], rcx
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
nop dword [rax]
jmp 0x662e0b
cmp r11, 6
jne 0x662938
cmp byte [rax + 0x380], 0
je 0x662896
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00657f40
lea rcx, [0x007ac078]
mov rdx, rax
xor ebx, ebx
jmp 0x6628d2
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00657b60
lea rcx, [0x007ac108]
xor edx, edx
mov rbx, rax
movzx esi, byte [rsp + 0x1f0]
mov r10, qword [rsp + 0xd8]
xor edi, edi
mov r8, rdx
mov r9, rbx
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
xor r15d, r15d
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x188], rax
mov edx, 0x18
mov qword [rsp + 0xf0], rdx
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x1d8]
jmp 0x662e0b
test rdx, rdx
mov ebx, 0
cmovl rbx, rdx
mov r11d, 0
mov rcx, rdx
cmovl rcx, r11
test r10, r10
cmovl r11, r10
mov r12d, 0
mov rdi, r10
cmovl rdi, r12
mov r12, qword [rax + 0x40]
mov qword [rsp + 0xf0], r12
mov rsi, qword [rax + 0x48]
mov r8, qword [rax + 0x50]
mov r9, qword [rax + 0x58]
mov rax, rbx
mov rbx, r11
call fcn.006588c0
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x1d8]
movzx esi, byte [rsp + 0x1f0]
mov r10, qword [rsp + 0xd8]
xor edi, edi
xor r8d, r8d
xor r9d, r9d
mov r11, rax
xor r12d, r12d
xor r13d, r13d
xor r15d, r15d
lea rax, [0x007ac0d8]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x188], r11
mov rax, qword [rsp + 0x1d0]
jmp 0x662e0b
cmp r11, 0xc
jg 0x662b8a
cmp r11, 0xb
je 0x662ae5
cmp byte [rax + 0x380], 0
je 0x662a43
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00658140
lea rcx, [0x007ac0a8]
mov rdx, rax
xor ebx, ebx
jmp 0x662a7f
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00658640
lea rcx, [0x007ac048]
xor edx, edx
mov rbx, rax
movzx esi, byte [rsp + 0x1f0]
mov r10, qword [rsp + 0xd8]
xor edi, edi
xor r8d, r8d
xor r9d, r9d
xor r11d, r11d
mov r12, rbx
xor r13d, r13d
mov r15, rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x188], rax
mov edx, 0x10
mov qword [rsp + 0xf0], rdx
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x1d8]
jmp 0x662e0b
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00657f40
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x1d8]
movzx esi, byte [rsp + 0x1f0]
mov r10, qword [rsp + 0xd8]
xor edi, edi
mov r8, rax
xor r9d, r9d
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
xor r15d, r15d
lea rax, [0x007ac078]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x188], r8
mov ecx, 0x20
mov qword [rsp + 0xf0], rcx
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
jmp 0x662e0b
cmp r11, 0xd
je 0x662d6b
cmp r11, 0xe
jne 0x662c87
cmp byte [rax + 0x380], 0
je 0x662be5
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00658140
lea rcx, [0x007ac0a8]
mov rdx, rax
xor ebx, ebx
jmp 0x662c21
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00657d60
lea rcx, [0x007ac138]
xor edx, edx
mov rbx, rax
movzx esi, byte [rsp + 0x1f0]
mov r10, qword [rsp + 0xd8]
xor edi, edi
xor r8d, r8d
xor r9d, r9d
xor r11d, r11d
xor r12d, r12d
mov r13, rbx
mov r15, rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x188], rax
mov edx, 0x30
mov qword [rsp + 0xf0], rdx
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x1d8]
jmp 0x662e0b
cmp r11, 0xf
je 0x662cc6
xor edi, edi
xor r8d, r8d
xor r9d, r9d
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
xor r15d, r15d
xor edi, edi
mov qword [rsp + 0xc8], rdi
xor edi, edi
mov qword [rsp + 0x188], rdi
xor edi, edi
mov qword [rsp + 0xf0], rdi
xor edi, edi
jmp 0x662e0b
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00658140
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x1d8]
movzx esi, byte [rsp + 0x1f0]
mov r10, qword [rsp + 0xd8]
xor edi, edi
xor r8d, r8d
xor r9d, r9d
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
mov r15, rax
lea rax, [0x007ac0a8]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x188], r15
mov ecx, 0x40
mov qword [rsp + 0xf0], rcx
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
jmp 0x662e0b
test rdx, rdx
mov eax, 0
cmovl rax, rdx
mov ebx, 0
mov rcx, rdx
cmovl rcx, rbx
test r10, r10
cmovl rbx, r10
mov esi, 0
mov rdi, r10
cmovl rdi, rsi
call fcn.00658140
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x1d8]
movzx esi, byte [rsp + 0x1f0]
mov r10, qword [rsp + 0xd8]
xor edi, edi
xor r8d, r8d
xor r9d, r9d
xor r11d, r11d
xor r12d, r12d
xor r13d, r13d
mov r15, rax
lea rax, [0x007ac0a8]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x188], r15
mov ecx, 0x20
mov qword [rsp + 0xf0], rcx
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
test sil, sil
jne 0x662ee2
mov qword [rsp + 0x170], r11
mov qword [rsp + 0x180], r8
mov qword [rsp + 0x198], rdi
mov qword [rsp + 0x160], r9
mov qword [rsp + 0x178], r15
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x158], r13
mov rsi, qword [rsp + 0xf0]
imul rsi, rdx
lea r8, [rsi + 7]
sar r8, 0x3f
shr r8, 0x3d
lea rsi, [r8 + rsi]
lea rsi, [rsi + 7]
sar rsi, 3
lea rcx, [rsi + 1]
mov qword [rsp + 0x98], rcx
lea rax, [0x006c0280]
mov rbx, rcx
call fcn.00449240
mov qword [rsp + 0x1b8], rax
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
lea rax, [0x006c0280]
call fcn.00449240
mov rdx, qword [rsp + 0xf0]
lea rsi, [rdx + 7]
sar rsi, 0x3f
shr rsi, 0x3d
lea rdx, [rdx + rsi]
lea rdx, [rdx + 7]
sar rdx, 3
mov qword [rsp + 0xe8], rdx
xor ecx, ecx
xor ebx, ebx
mov rsi, qword [rsp + 0x1b8]
nop
jmp 0x662f25
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x188]
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x1c0]
add rsp, 0x1c8
ret
mov r12, qword [rsp + 0xb0]
inc r12
mov rdx, qword [rsp + 0xe8]
mov rcx, r12
mov rbx, r9
mov rsi, r11
mov rax, r10
mov r9, qword [rsp + 0xd8]
cmp rcx, r9
jge 0x66370b
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1b0], rsi
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xa0], rbx
nop
mov rax, qword [rsp + 0x1d8]
mov rbx, qword [rsp + 0x1e0]
mov rcx, rsi
mov rdi, qword [rsp + 0x98]
mov rsi, rdi
mov r8, rsi
call fcn.0046d260
nop dword [rax]
test rbx, rbx
jne 0x663652
mov rcx, qword [rsp + 0x98]
cmp rcx, 1
jb 0x665352
lea r8, [rcx - 1]
mov rsi, r8
neg r8
sar r8, 0x3f
and r8d, 1
mov r10, qword [rsp + 0x1b0]
lea rax, [r10 + r8]
nop dword [rax]
cmp rcx, 1
jb 0x665348
mov qword [rsp + 0x150], rsi
mov qword [rsp + 0x1a8], rax
mov r11, qword [rsp + 0x1a0]
lea rdi, [r11 + r8]
movzx r12d, byte [r10]
cmp r12b, 1
ja 0x663005
test r12b, r12b
je 0x66306f
mov rdx, qword [rsp + 0xe8]
mov rbx, rdx
jmp 0x665316
cmp r12b, 2
jne 0x663012
xor edx, edx
jmp 0x6652eb
cmp r12b, 3
jne 0x663027
mov r12, qword [rsp + 0xe8]
xor edx, edx
jmp 0x665238
cmp r12b, 4
jne 0x663630
mov rbx, rsi
mov rcx, rbx
mov r8, rcx
mov r9, qword [rsp + 0xe8]
call fcn.00660e40
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x150]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1d0]
mov r13, qword [r12 + 0x60]
nop dword [rax]
cmp r13, 7
jg 0x6633c5
cmp r13, 3
jg 0x6631ad
cmp r13, 1
jne 0x6630f0
cmp byte [r12 + 0x380], 0
je 0x6630d1
movzx edx, byte [r12 + 0x382]
mov byte [rsp + 0x3c], dl
mov r13, qword [rsp + 0x180]
mov r15, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xb0]
xor edi, edi
jmp 0x6650c2
mov rdx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x198]
mov r13, qword [rsp + 0xb0]
xor ebx, ebx
jmp 0x664f90
cmp r13, 2
jne 0x66314d
cmp byte [r12 + 0x380], 0
nop
je 0x66312e
movzx edx, byte [r12 + 0x382]
mov byte [rsp + 0x3b], dl
mov r13, qword [rsp + 0x180]
mov r15, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xb0]
xor edi, edi
jmp 0x664e26
mov rdx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x198]
mov r13, qword [rsp + 0xb0]
xor ebx, ebx
jmp 0x664cfa
cmp r13, 3
jne 0x663618
cmp byte [r12 + 0x380], 0
je 0x66318e
movzx edx, byte [r12 + 0x382]
mov byte [rsp + 0x3a], dl
mov r13, qword [rsp + 0x180]
mov r15, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xb0]
xor edi, edi
jmp 0x664b8d
mov rdx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x198]
mov r13, qword [rsp + 0xb0]
xor ebx, ebx
jmp 0x664a60
cmp r13, 5
jg 0x6632b4
nop word [rax + rax]
cmp r13, 4
jne 0x663295
cmp byte [r12 + 0x380], 0
je 0x663205
movzx edx, byte [r12 + 0x382]
mov byte [rsp + 0x39], dl
mov r13, qword [rsp + 0x90]
mov r15, qword [rsp + 0x180]
mov rbx, qword [rsp + 0xb0]
xor edi, edi
nop dword [rax]
jmp 0x664a0a
mov rdx, qword [rsp + 0x198]
mov r9, qword [rdx + 8]
mov r13, qword [rdx]
mov r15, qword [rdx + 0x10]
mov rbx, r12
mov r12, qword [rsp + 0xa0]
cmp r12, r9
ja 0x664969
sub r9, r12
cmp r9, rsi
cmovg r9, rsi
mov rsi, r12
sub r12, r15
sar r12, 0x3f
and r12, rsi
add r12, r13
cmp r12, rax
je 0x663289
mov rbx, rax
mov rcx, r9
mov rax, r12
call fcn.004638a0
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x1d0]
mov rsi, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r9, qword [rdx + 0x18]
add r9, rsi
jmp 0x66495c
mov rdx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x180]
mov r15, qword [rsp + 0xb0]
xor ebx, ebx
jmp 0x664906
cmp r13, 6
jne 0x6633a5
cmp byte [r12 + 0x380], 0
je 0x66336d
mov rdx, qword [rsp + 0x180]
mov r9, qword [rdx + 8]
mov qword [rsp + 0xa8], r9
mov r13, qword [rdx]
mov qword [rsp + 0x168], r13
movzx r15d, byte [r12 + 0x382]
mov byte [rsp + 0x3d], r15b
mov rbx, r10
movzx r10d, byte [r12 + 0x384]
mov byte [rsp + 0x3e], r10b
mov rdi, r12
movzx r12d, byte [r12 + 0x386]
mov byte [rsp + 0x3f], r12b
mov r8, qword [rsp + 0x90]
mov qword [rsp + 0x130], rax
xor eax, eax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x128], rcx
xor ecx, ecx
mov qword [rsp + 0xc0], rcx
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x128]
jmp 0x664713
mov rdx, qword [rsp + 0x160]
mov r9, qword [rdx + 8]
mov r13, qword [rdx]
mov r15, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xa0]
mov rdi, rbx
xor r8d, r8d
xor ebx, ebx
mov qword [rsp + 0xb8], rbx
mov rbx, rdi
nop
jmp 0x6645c5
mov r9, qword [rsp + 0x90]
mov r13, qword [rsp + 0x170]
mov r15, qword [rsp + 0xb0]
xor edx, edx
nop
jmp 0x664432
cmp r13, 0xb
jg 0x6634d5
cmp r13, 9
jg 0x663419
cmp r13, 8
jne 0x6633fa
mov r9, qword [rsp + 0x90]
mov r13, qword [rsp + 0x170]
mov r15, qword [rsp + 0xb0]
xor edx, edx
jmp 0x6642c0
mov r9, qword [rsp + 0x90]
mov r13, qword [rsp + 0x170]
mov r15, qword [rsp + 0xb0]
xor edx, edx
jmp 0x66415a
cmp r13, 0xa
jne 0x663445
mov r9, qword [rsp + 0x170]
cmp qword [r9 + 0x48], 0x100
je 0x66405f
mov r13, qword [rsp + 0x90]
xor edx, edx
nop
jmp 0x664102
mov rdx, qword [rsp + 0x180]
mov r9, qword [rdx + 8]
mov r13, qword [rdx]
mov r15, qword [rdx + 0x10]
mov rbx, r12
mov r12, qword [rsp + 0xa0]
cmp r12, r9
ja 0x664054
sub r9, r12
cmp r9, rsi
cmovg r9, rsi
mov rsi, r12
sub r12, r15
sar r12, 0x3f
and r12, rsi
add r12, r13
cmp r12, rax
je 0x6634c9
mov rbx, rax
mov rcx, r9
mov rax, r12
call fcn.004638a0
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x1d0]
mov rsi, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r9, qword [rdx + 0x18]
add r9, rsi
jmp 0x662f06
cmp r13, 0xd
jg 0x663565
nop
cmp r13, 0xc
jne 0x663545
cmp byte [r12 + 0x380], 0
je 0x663525
movzx edx, word [r12 + 0x381]
rol dx, 8
mov word [rsp + 0x56], dx
mov r13, qword [rsp + 0x90]
mov r15, qword [rsp + 0x178]
mov rbx, qword [rsp + 0xb0]
xor edi, edi
nop dword [rax]
jmp 0x663ff8
mov rdx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x190]
mov r13, qword [rsp + 0xb0]
xor ebx, ebx
nop
jmp 0x663ee1
mov rdx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x178]
mov r15, qword [rsp + 0xb0]
xor ebx, ebx
nop
jmp 0x663da2
cmp r13, 0xe
jne 0x6635f3
cmp byte [r12 + 0x380], 0
je 0x6635d4
movzx edx, word [r12 + 0x381]
rol dx, 8
mov word [rsp + 0x56], dx
movzx r13d, word [r12 + 0x383]
rol r13w, 8
mov word [rsp + 0x54], r13w
movzx r15d, word [r12 + 0x385]
rol r15w, 8
mov word [rsp + 0x52], r15w
mov rbx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x178]
mov r8, qword [rsp + 0xb0]
xor r9d, r9d
jmp 0x663b76
mov rdx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x158]
mov r15, qword [rsp + 0xb0]
xor ebx, ebx
jmp 0x6639b4
cmp r13, 0xf
jne 0x663618
mov rdx, qword [rsp + 0x90]
mov r13, qword [rsp + 0x178]
mov r15, qword [rsp + 0xb0]
xor ebx, ebx
jmp 0x6637cf
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
jmp 0x662f06
xor eax, eax
xor ebx, ebx
lea rcx, [0x007a9c60]
lea rdi, [0x007a8390]
mov rbp, qword [rsp + 0x1c0]
add rsp, 0x1c8
ret
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0xe0], rbx
mov rdx, qword [0x0095c798]
cmp qword [0x0095c790], rbx
je 0x663676
xor eax, eax
jmp 0x663695
mov rax, rbx
mov rbx, rcx
mov rcx, rdx
nop
call fcn.00403c00
mov rcx, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0xe0]
test al, al
jne 0x6636cf
mov rdx, qword [0x0095c7e8]
cmp qword [0x0095c7e0], rbx
je 0x6636ad
xor eax, eax
jmp 0x6636cb
mov rax, rbx
mov rbx, rcx
mov rcx, rdx
call fcn.00403c00
mov rcx, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0xe0]
test al, al
je 0x6636f1
xor eax, eax
xor ebx, ebx
lea rcx, [0x007a9c60]
lea rdi, [0x007a8360]
mov rbp, qword [rsp + 0x1c0]
add rsp, 0x1c8
ret
xor eax, eax
mov rdi, rcx
mov rcx, rbx
xor ebx, ebx
mov rbp, qword [rsp + 0x1c0]
add rsp, 0x1c8
ret
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x188]
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x1c0]
add rsp, 0x1c8
ret
mov qword [rsp + 0x148], rdi
shl r12d, 8
lea rdx, [rax + rdi*8]
lea rdx, [rdx + 7]
movzx r9d, byte [rdx]
or r9d, r12d
mov rbx, rdi
mov rcx, r15
mov edi, r10d
mov esi, r11d
movzx r8d, word [rsp + 0x4e]
mov rax, r13
nop
call fcn.00658080
mov rdx, qword [rsp + 0x148]
lea rbx, [rdx + 1]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x1a8]
mov r11, qword [rsp + 0x150]
mov rax, r10
mov rcx, qword [rsp + 0x98]
mov rsi, r11
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x178]
mov r15, qword [rsp + 0xb0]
cmp rbx, rdx
jge 0x6638ae
mov rdi, rbx
shl rbx, 3
nop
cmp rbx, rsi
jae 0x663913
lea r12, [rax + rdi*8]
movzx r12d, byte [r12]
lea r10, [rbx + 1]
cmp r10, rsi
jae 0x663908
shl r12d, 8
lea r10, [rax + rdi*8]
lea r10, [r10 + 1]
movzx r10d, byte [r10]
or r10d, r12d
lea r12, [rbx + 2]
cmp r12, rsi
jae 0x6638fd
lea r12, [rax + rdi*8]
lea r12, [r12 + 2]
movzx r12d, byte [r12]
lea r11, [rbx + 3]
cmp r11, rsi
jae 0x6638f2
shl r12d, 8
lea r11, [rax + rdi*8]
lea r11, [r11 + 3]
movzx r11d, byte [r11]
or r11d, r12d
lea r12, [rbx + 4]
cmp r12, rsi
jae 0x6638e7
lea r12, [rax + rdi*8]
lea r12, [r12 + 4]
movzx r12d, byte [r12]
lea rdx, [rbx + 5]
cmp rdx, rsi
jae 0x6638dc
shl r12d, 8
lea rdx, [rax + rdi*8]
lea rdx, [rdx + 5]
movzx edx, byte [rdx]
or edx, r12d
lea r12, [rbx + 6]
cmp r12, rsi
jae 0x6638d1
mov word [rsp + 0x4e], dx
lea r12, [rax + rdi*8]
lea r12, [r12 + 6]
movzx r12d, byte [r12]
lea rdx, [rbx + 7]
cmp rdx, rsi
jb 0x66372f
jmp 0x6638c6
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
jmp 0x662f06
mov rax, rdx
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov rax, rdx
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov rax, r11
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov rax, r10
mov rcx, rsi
call fcn.00462f20
mov rax, rbx
mov rcx, rsi
call fcn.00462f20
mov qword [rsp + 0x70], rbx
shl r12d, 8
lea rdx, [rax + r8*2]
lea rdx, [rdx + 5]
movzx r8d, byte [rdx]
or r8d, r12d
mov rcx, r15
mov edi, r10d
mov esi, r11d
mov r9d, 0xffffffff
mov rax, r13
call fcn.00657ca0
mov rdx, qword [rsp + 0x70]
lea rbx, [rdx + 1]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x1a8]
mov r11, qword [rsp + 0x150]
mov rax, r10
mov rcx, qword [rsp + 0x98]
mov rsi, r11
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x158]
mov r15, qword [rsp + 0xb0]
cmp rbx, rdx
jge 0x663a6c
lea r12, [rbx + rbx*2]
mov r8, r12
shl r12, 1
cmp r12, rsi
jae 0x663abc
lea r12, [rax + r8*2]
movzx r12d, byte [r12]
lea r10, [r8 + r8]
lea r10, [r10 + 1]
cmp r10, rsi
jae 0x663ab1
shl r12d, 8
lea r10, [rax + r8*2]
lea r10, [r10 + 1]
movzx r10d, byte [r10]
or r10d, r12d
lea r12, [r8 + r8]
lea r12, [r12 + 2]
cmp r12, rsi
jae 0x663aa6
lea r12, [rax + r8*2]
lea r12, [r12 + 2]
movzx r12d, byte [r12]
lea r11, [r8 + r8]
lea r11, [r11 + 3]
cmp r11, rsi
jae 0x663a9b
shl r12d, 8
lea r11, [rax + r8*2]
lea r11, [r11 + 3]
movzx r11d, byte [r11]
or r11d, r12d
lea r12, [r8 + r8]
lea r12, [r12 + 4]
cmp r12, rsi
jae 0x663a90
lea r12, [rax + r8*2]
lea r12, [r12 + 4]
movzx r12d, byte [r12]
lea rdx, [r8 + r8]
lea rdx, [rdx + 5]
cmp rdx, rsi
jb 0x66391e
jmp 0x663a85
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
nop
jmp 0x662f06
mov rax, rdx
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov rax, r11
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov rax, r10
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov qword [rsp + 0x78], r9
mov rax, rdi
mov rbx, r9
mov rcx, r8
mov edi, r11d
mov esi, r15d
mov r8d, r12d
movzx r9d, word [rsp + 0x50]
call fcn.00658080
mov rdx, qword [rsp + 0x78]
lea r9, [rdx + 1]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x1a8]
mov r11, qword [rsp + 0x150]
movzx r12d, word [rsp + 0x56]
movzx r13d, word [rsp + 0x52]
movzx r15d, word [rsp + 0x54]
mov rax, r10
mov rcx, qword [rsp + 0x98]
mov edx, r12d
mov rbx, qword [rsp + 0x90]
mov rsi, r11
mov rdi, qword [rsp + 0x178]
mov r8, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1d0]
mov r13d, r15d
movzx r15d, word [rsp + 0x52]
cmp r9, rbx
jge 0x663cb1
lea r12, [r9 + r9*2]
mov qword [rsp + 0x148], r12
shl r12, 1
cmp r12, rsi
jae 0x663cfc
mov r12, qword [rsp + 0x148]
lea r10, [rax + r12*2]
movzx r10d, byte [r10]
lea r11, [r12 + r12]
lea r11, [r11 + 1]
cmp r11, rsi
jae 0x663cf1
shl r10d, 8
lea r11, [rax + r12*2]
lea r11, [r11 + 1]
movzx r11d, byte [r11]
or r11d, r10d
lea r10, [r12 + r12]
lea r10, [r10 + 2]
cmp r10, rsi
jae 0x663ce6
lea r10, [rax + r12*2]
lea r10, [r10 + 2]
movzx r10d, byte [r10]
lea r15, [r12 + r12]
lea r15, [r15 + 3]
cmp r15, rsi
jae 0x663cdb
shl r10d, 8
lea r15, [rax + r12*2]
lea r15, [r15 + 3]
movzx r15d, byte [r15]
or r15d, r10d
lea r10, [r12 + r12]
lea r10, [r10 + 4]
cmp r10, rsi
jae 0x663cd0
lea r10, [rax + r12*2]
lea r10, [r10 + 4]
movzx r10d, byte [r10]
lea r13, [r12 + r12]
lea r13, [r13 + 5]
cmp r13, rsi
jae 0x663cc5
shl r10d, 8
lea r12, [rax + r12*2]
lea r12, [r12 + 5]
movzx r12d, byte [r12]
or r12d, r10d
cmp dx, r11w
jne 0x663c8e
movzx r10d, word [rsp + 0x54]
nop dword [rax + rax]
cmp r10w, r15w
jne 0x663c86
movzx r13d, word [rsp + 0x52]
cmp r13w, r12w
jne 0x663c9a
mov qword [rsp + 0x140], rax
xor eax, eax
mov word [rsp + 0x50], ax
jmp 0x663ac7
movzx r13d, word [rsp + 0x52]
jmp 0x663c9a
movzx r10d, word [rsp + 0x54]
movzx r13d, word [rsp + 0x52]
mov qword [rsp + 0x138], rax
mov eax, 0xffffffff
mov word [rsp + 0x50], ax
jmp 0x663ac7
mov rdx, rbx
mov r13, qword [rsp + 0x158]
mov r15, r8
nop
jmp 0x663a6c
mov rax, r13
mov rcx, rsi
call fcn.00462f20
mov rax, r10
mov rcx, rsi
call fcn.00462f20
mov rax, r15
mov rcx, rsi
call fcn.00462f20
mov rax, r10
mov rcx, rsi
call fcn.00462f20
mov rax, r11
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov qword [rsp + 0x148], rdi
shl r12d, 8
lea rdx, [rax + rdi*4]
lea rdx, [rdx + 3]
movzx r9d, byte [rdx]
or r9d, r12d
mov rbx, rdi
mov rcx, r15
mov edi, r10d
mov esi, edi
mov r8d, esi
mov rax, r13
call fcn.00658080
mov rdx, qword [rsp + 0x148]
lea rbx, [rdx + 1]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x150]
mov r11, qword [rsp + 0x1a8]
mov rax, r11
mov rcx, qword [rsp + 0x98]
mov rsi, r10
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x178]
mov r15, qword [rsp + 0xb0]
cmp rbx, rdx
jge 0x663e0b
mov rdi, rbx
shl rbx, 2
cmp rbx, rsi
jae 0x663e46
lea r12, [rax + rdi*4]
movzx r12d, byte [r12]
lea r10, [rbx + 1]
cmp r10, rsi
jae 0x663e3b
shl r12d, 8
lea r10, [rax + rdi*4]
lea r10, [r10 + 1]
movzx r10d, byte [r10]
or r10d, r12d
lea r12, [rbx + 2]
cmp r12, rsi
jae 0x663e30
lea r12, [rax + rdi*4]
lea r12, [r12 + 2]
movzx r12d, byte [r12]
lea r11, [rbx + 3]
nop word [rax + rax]
cmp r11, rsi
jb 0x663d07
jmp 0x663e25
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
nop
jmp 0x662f06
mov rax, r11
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov rax, r10
mov rcx, rsi
call fcn.00462f20
mov rax, rbx
mov rcx, rsi
call fcn.00462f20
mov qword [rsp + 0x148], r8
shl edi, 8
lea rdx, [rax + r8*2]
lea rdx, [rdx + 1]
movzx edx, byte [rdx]
or edi, edx
mov rbx, r8
mov rcx, r13
mov rax, r9
call fcn.006585a0
mov rdx, qword [rsp + 0x148]
lea rbx, [rdx + 1]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x1a8]
mov r8, qword [rsp + 0x150]
mov rax, rsi
mov rcx, qword [rsp + 0x98]
mov rsi, r8
mov r9, qword [rsp + 0x190]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0xb0]
cmp rbx, rdx
jge 0x663f0c
mov r8, rbx
shl rbx, 1
cmp rbx, rsi
jae 0x663f30
lea r15, [rax + r8*2]
movzx edi, byte [r15]
lea r15, [r8 + r8]
lea r15, [r15 + 1]
cmp r15, rsi
jb 0x663e51
jmp 0x663f25
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
nop
jmp 0x662f06
mov rax, r15
mov rcx, rsi
call fcn.00462f20
mov rax, rbx
mov rcx, rsi
call fcn.00462f20
mov qword [rsp + 0x148], r8
shl r12d, 8
lea r10, [rax + r8*2]
lea r10, [r10 + 1]
movzx esi, byte [r10]
or esi, r12d
cmp dx, si
mov r9d, 0xffffffff
mov r10d, 0
cmove r9w, r10w
mov rcx, rbx
mov edi, esi
mov rbx, r8
mov r8d, esi
mov rax, r15
call fcn.00658080
mov rdx, qword [rsp + 0x148]
lea rdi, [rdx + 1]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0xb0]
movzx r10d, word [rsp + 0x56]
mov r11, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x150]
mov rax, r11
mov rcx, qword [rsp + 0x98]
mov edx, r10d
mov rbx, qword [rsp + 0xb0]
mov rsi, r12
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x90]
mov r15, qword [rsp + 0x178]
cmp rdi, r13
jge 0x66402b
mov r8, rdi
shl rdi, 1
cmp rdi, rsi
jae 0x664049
lea r12, [rax + r8*2]
movzx r12d, byte [r12]
lea r10, [r8 + r8]
lea r10, [r10 + 1]
nop dword [rax]
cmp r10, rsi
jb 0x663f3b
jmp 0x66403e
mov rdx, r13
mov r9, qword [rsp + 0x190]
mov r13, rbx
jmp 0x663f0c
mov rax, r10
mov rcx, rsi
call fcn.00462f20
mov rax, rdi
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, r9
call fcn.00462fe0
mov rdx, qword [r9 + 8]
mov r13, qword [r9]
mov r15, qword [r9 + 0x10]
mov rbx, r12
mov r12, qword [rsp + 0xa0]
cmp r12, rdx
ja 0x6640ee
sub rdx, r12
cmp rdx, rsi
cmovg rdx, rsi
mov rsi, r12
sub r12, r15
sar r12, 0x3f
and r12, rsi
add r12, r13
cmp r12, rax
je 0x6640d7
mov rbx, rax
mov rcx, rdx
mov rax, r12
call fcn.004638a0
mov rcx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x1d0]
mov rsi, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x170]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [r9 + 0x18]
add r12, rsi
mov rdx, qword [rsp + 0x180]
mov r9, r12
jmp 0x662f06
mov rax, r12
mov rcx, rdx
call fcn.00462fe0
inc rdx
mov r10, rdi
mov r12, rbx
cmp rdx, r13
jge 0x66405f
mov r15, qword [r9 + 0x50]
mov rbx, r12
mov r12, qword [r9 + 0x48]
cmp rdx, rsi
jae 0x664145
mov rdi, r10
movzx r10d, byte [rdx + rax]
cmp r12, r10
jg 0x6640f9
inc r10
cmp r15, r10
jb 0x664136
mov qword [r9 + 0x48], r10
jmp 0x6640f9
mov rcx, r10
mov rdx, r15
nop dword [rax]
call fcn.00462fa0
mov rax, rdx
mov rcx, rsi
call fcn.00462f20
lea rdx, [rbx + 2]
mov r10, r8
mov r12, rdi
cmp rdx, r9
jge 0x664187
mov rbx, rdx
shr rdx, 0x3f
mov rdi, r12
lea r12, [rbx + rdx]
sar r12, 1
cmp r12, rsi
jae 0x6642a8
movzx r12d, byte [r12 + rax]
xor edx, edx
jmp 0x6641d2
mov r8, r10
jmp 0x664150
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
jmp 0x662f06
inc rdx
movzx r12d, byte [rsp + 0x41]
shl r12d, 4
mov r10, qword [rsp + 0x90]
mov r15, qword [rsp + 0xb0]
mov r9, r10
mov r10, r8
mov r11, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x170]
cmp rdx, 2
jge 0x664182
mov r8, r10
lea r10, [rdx + rbx]
nop
cmp r9, r10
jle 0x664150
mov byte [rsp + 0x41], r12b
shr r12b, 4
mov byte [rsp + 0x4d], r12b
mov r11, qword [r13 + 0x50]
movzx r12d, r12b
nop
cmp qword [r13 + 0x48], r12
jg 0x664216
inc r12
cmp r11, r12
jb 0x66429d
mov qword [r13 + 0x48], r12
mov r11, qword [r13 + 0x20]
mov r12, qword [r13 + 0x28]
mov r9, qword [r13 + 0x30]
mov r13, qword [r13 + 0x38]
cmp r11, r10
jg 0x664285
cmp r9, r10
jle 0x664285
cmp r15, r12
jl 0x664285
cmp r15, r13
jge 0x664285
nop
mov r9, qword [rsp + 0x170]
mov r13, qword [r9 + 8]
mov qword [rsp + 0x150], r13
mov r13, qword [r9]
sub r15, r12
mov r12, qword [r9 + 0x18]
imul r12, r15
sub r10, r11
add r10, r12
mov r11, qword [rsp + 0x150]
cmp r11, r10
jbe 0x664292
movzx r11d, byte [rsp + 0x4d]
mov byte [r13 + r10], r11b
nop dword [rax + rax]
jmp 0x66419f
mov r9, qword [rsp + 0x170]
jmp 0x66419f
mov rax, r10
mov rcx, r11
call fcn.00462f20
mov rcx, r12
mov rdx, r11
call fcn.00462fa0
mov rax, r12
mov rcx, rsi
call fcn.00462f20
lea rdx, [rbx + 4]
mov r10, r8
mov r12, rdi
nop dword [rax]
cmp rdx, r9
jge 0x6642f7
mov rbx, rdx
sar rdx, 0x3f
shr rdx, 0x3e
mov rdi, r12
lea r12, [rbx + rdx]
sar r12, 2
nop dword [rax + rax]
cmp r12, rsi
jae 0x66441d
movzx r12d, byte [r12 + rax]
xor edx, edx
jmp 0x664342
mov r8, r10
jmp 0x6642b3
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
jmp 0x662f06
inc rdx
movzx r12d, byte [rsp + 0x42]
shl r12d, 2
mov r10, qword [rsp + 0x90]
mov r15, qword [rsp + 0xb0]
mov r9, r10
mov r10, r8
mov r11, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x170]
cmp rdx, 4
jge 0x6642f2
mov r8, r10
lea r10, [rdx + rbx]
cmp r9, r10
jle 0x6642b3
mov byte [rsp + 0x42], r12b
shr r12b, 6
mov byte [rsp + 0x4d], r12b
mov r11, qword [r13 + 0x50]
movzx r12d, r12b
cmp qword [r13 + 0x48], r12
jg 0x66438d
inc r12
nop word [rax + rax]
cmp r11, r12
jb 0x664412
mov qword [r13 + 0x48], r12
mov r11, qword [r13 + 0x20]
mov r12, qword [r13 + 0x28]
mov r9, qword [r13 + 0x30]
mov r13, qword [r13 + 0x38]
nop dword [rax]
cmp r11, r10
jg 0x6643fa
cmp r9, r10
jle 0x6643fa
cmp r15, r12
jl 0x6643fa
cmp r15, r13
jge 0x6643fa
nop
mov r9, qword [rsp + 0x170]
mov r13, qword [r9 + 8]
mov qword [rsp + 0x150], r13
mov r13, qword [r9]
sub r15, r12
mov r12, qword [r9 + 0x18]
imul r12, r15
sub r10, r11
add r10, r12
mov r11, qword [rsp + 0x150]
cmp r11, r10
jbe 0x664407
movzx r11d, byte [rsp + 0x4d]
mov byte [r13 + r10], r11b
jmp 0x66430f
mov r9, qword [rsp + 0x170]
jmp 0x66430f
mov rax, r10
mov rcx, r11
call fcn.00462f20
mov rcx, r12
mov rdx, r11
call fcn.00462fa0
mov rax, r12
mov rcx, rsi
call fcn.00462f20
lea rdx, [rbx + 8]
mov r10, r8
mov r12, rdi
cmp rdx, r9
jge 0x664464
mov rbx, rdx
sar rdx, 0x3f
shr rdx, 0x3d
mov rdi, r12
lea r12, [rbx + rdx]
sar r12, 3
cmp r12, rsi
jae 0x664588
movzx r12d, byte [r12 + rax]
xor edx, edx
jmp 0x6644ae
mov r8, r10
jmp 0x664428
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
jmp 0x662f06
inc rdx
movzx r12d, byte [rsp + 0x43]
shl r12d, 1
mov r10, qword [rsp + 0x90]
mov r15, qword [rsp + 0xb0]
mov r9, r10
mov r10, r8
mov r11, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x170]
cmp rdx, 8
jge 0x66445f
mov r8, r10
lea r10, [rdx + rbx]
nop dword [rax + rax]
cmp r9, r10
jle 0x664428
mov byte [rsp + 0x43], r12b
shr r12b, 7
mov byte [rsp + 0x4d], r12b
mov r11, qword [r13 + 0x50]
movzx r12d, r12b
nop
cmp qword [r13 + 0x48], r12
jg 0x6644f6
inc r12
cmp r11, r12
jb 0x66457d
mov qword [r13 + 0x48], r12
mov r11, qword [r13 + 0x20]
mov r12, qword [r13 + 0x28]
mov r9, qword [r13 + 0x30]
mov r13, qword [r13 + 0x38]
cmp r11, r10
jg 0x664565
cmp r9, r10
jle 0x664565
cmp r15, r12
jl 0x664565
cmp r15, r13
jge 0x664565
nop
mov r9, qword [rsp + 0x170]
mov r13, qword [r9 + 8]
mov qword [rsp + 0x150], r13
mov r13, qword [r9]
sub r15, r12
mov r12, qword [r9 + 0x18]
imul r12, r15
sub r10, r11
add r10, r12
mov r11, qword [rsp + 0x150]
cmp r11, r10
jbe 0x664572
movzx r11d, byte [rsp + 0x4d]
mov byte [r13 + r10], r11b
nop dword [rax + rax]
jmp 0x66447c
mov r9, qword [rsp + 0x170]
jmp 0x66447c
mov rax, r10
mov rcx, r11
call fcn.00462f20
mov rcx, r12
mov rdx, r11
call fcn.00462fa0
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov byte [rbx + r13 + 3], 0xff
inc r8
add rbx, 4
lea r10, [r12 + 3]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1d0]
mov qword [rsp + 0xb8], r10
mov r10, qword [rsp + 0x1b0]
cmp r8, r15
jge 0x66463d
mov r12, qword [rsp + 0xb8]
cmp r12, rsi
jae 0x66469b
movzx r10d, byte [r12 + rax]
cmp rbx, r9
jae 0x664690
mov byte [r13 + rbx], r10b
lea r10, [r12 + 1]
cmp r10, rsi
jae 0x664685
lea r10, [rbx + 1]
movzx r11d, byte [r12 + rax + 1]
cmp r9, r10
jbe 0x664675
mov byte [rbx + r13 + 1], r11b
lea r10, [r12 + 2]
cmp r10, rsi
jae 0x66466a
lea r10, [rbx + 2]
movzx r11d, byte [r12 + rax + 2]
cmp r9, r10
jbe 0x66465f
mov byte [rbx + r13 + 2], r11b
lea r10, [rbx + 3]
cmp r9, r10
ja 0x664593
jmp 0x664654
mov r9, qword [rdx + 0x18]
add r9, rdi
mov rdx, qword [rsp + 0x180]
mov rbx, r12
jmp 0x662f06
mov rax, r10
mov rcx, r9
call fcn.00462f20
mov rax, r10
mov rcx, r9
call fcn.00462f20
mov rax, r10
mov rcx, rsi
call fcn.00462f20
mov rax, r10
mov rcx, r9
nop dword [rax + rax]
call fcn.00462f20
mov rax, r10
mov rcx, rsi
call fcn.00462f20
mov rax, rbx
mov rcx, r9
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
movzx r9d, byte [rsp + 0x4c]
mov byte [r12 + r15 + 3], r9b
mov r9, qword [rsp + 0x80]
inc r9
lea r11, [r12 + 4]
add rdx, 3
movzx r12d, byte [rsp + 0x3d]
movzx r13d, byte [rsp + 0x3f]
movzx r10d, byte [rsp + 0x3e]
mov r12d, r13d
mov r13, r15
movzx r15d, byte [rsp + 0x3d]
mov qword [rsp + 0x80], r9
mov qword [rsp + 0xd0], r11
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0x180]
mov r9, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x1a0]
mov r11, qword [rsp + 0x80]
nop dword [rax + rax]
cmp r11, r8
jge 0x6647fa
mov rdx, qword [rsp + 0xc0]
cmp rdx, rsi
jae 0x66486a
movzx r11d, byte [rdx + rax]
lea r13, [rdx + 1]
cmp r13, rsi
jae 0x66485f
movzx r13d, byte [rdx + rax + 1]
lea r9, [rdx + 2]
cmp r9, rsi
jae 0x664854
movzx r9d, byte [rdx + rax + 2]
cmp r11b, r15b
jne 0x66478c
cmp r13b, r10b
jne 0x66478c
cmp r9b, r12b
jne 0x66478c
mov qword [rsp + 0x120], rax
xor eax, eax
mov byte [rsp + 0x4c], al
mov rax, qword [rsp + 0x120]
jmp 0x6647a5
mov qword [rsp + 0x118], rax
mov eax, 0xffffffff
mov byte [rsp + 0x4c], al
mov rax, qword [rsp + 0x118]
mov r12, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xa8]
cmp r12, r10
jae 0x664849
mov r15, qword [rsp + 0x168]
mov byte [r15 + r12], r11b
lea r11, [r12 + 1]
cmp r10, r11
jbe 0x66483e
mov byte [r12 + r15 + 1], r13b
lea r11, [r12 + 2]
nop
cmp r10, r11
jbe 0x664833
mov byte [r12 + r15 + 2], r9b
lea r9, [r12 + 3]
cmp r10, r9
ja 0x6646a6
jmp 0x664828
mov r13, qword [rdx + 0x18]
mov rax, qword [rsp + 0xa0]
lea r9, [rax + r13]
mov rdx, qword [rsp + 0x160]
mov r10, rbx
mov r11, qword [rsp + 0x1a0]
mov r12, rdi
mov r15, r8
jmp 0x664644
mov rax, r9
mov rcx, r10
call fcn.00462f20
mov rax, r11
mov rcx, r10
call fcn.00462f20
mov rax, r11
mov rcx, r10
call fcn.00462f20
mov rax, r12
mov rcx, r10
call fcn.00462f20
mov rax, r9
mov rcx, rsi
call fcn.00462f20
mov rax, r13
mov rcx, rsi
call fcn.00462f20
mov rax, rdx
mov rcx, rsi
call fcn.00462f20
mov qword [rsp + 0x148], rdi
lea rdx, [rax + rdi*2]
lea rdx, [rdx + 1]
movzx r9d, byte [rdx]
mov rbx, rdi
mov rcx, r15
mov edi, r8d
mov esi, edi
mov rax, r13
call fcn.00657ea0
mov rdx, qword [rsp + 0x148]
lea rbx, [rdx + 1]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x150]
mov r11, qword [rsp + 0x1a8]
mov rax, r11
mov rcx, qword [rsp + 0x98]
mov rsi, r10
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x180]
mov r15, qword [rsp + 0xb0]
cmp rbx, rdx
jge 0x664933
mov rdi, rbx
shl rbx, 1
cmp rbx, rsi
jae 0x664951
lea r12, [rax + rdi*2]
movzx r8d, byte [r12]
lea r12, [rdi + rdi]
lea r12, [r12 + 1]
cmp r12, rsi
jb 0x664875
jmp 0x664946
mov rdx, r13
mov rbx, r12
mov r9, qword [rsp + 0xa0]
jmp 0x662f06
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov rax, rbx
mov rcx, rsi
call fcn.00462f20
mov rdx, qword [rsp + 0x180]
jmp 0x662f06
mov rax, r12
mov rcx, r9
call fcn.00462fe0
mov qword [rsp + 0x88], rdi
mov rax, r15
mov rcx, rbx
mov esi, r8d
mov rbx, rdi
mov edi, esi
call fcn.00657ea0
mov rdx, qword [rsp + 0x88]
lea rdi, [rdx + 1]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0xb0]
movzx r10d, byte [rsp + 0x39]
mov r11, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x150]
mov rax, r11
mov rcx, qword [rsp + 0x98]
mov edx, r10d
mov rbx, qword [rsp + 0xb0]
mov rsi, r12
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r12, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x90]
mov r15, qword [rsp + 0x180]
cmp rdi, r13
jge 0x664a31
cmp rdi, rsi
jae 0x664a49
movzx r8d, byte [rdi + rax]
cmp r8b, dl
jne 0x664a26
xor r9d, r9d
jmp 0x664974
mov r9d, 0xffffffff
jmp 0x664974
mov rdx, qword [rsp + 0x198]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
jmp 0x66495c
mov rax, rdi
mov rcx, rsi
call fcn.00462f20
lea rbx, [r15 + 2]
mov r10, r8
mov r12, rdi
nop
cmp rbx, rdx
jge 0x664a95
mov r15, rbx
shr rbx, 0x3f
mov rdi, r12
lea r12, [r15 + rbx]
sar r12, 1
cmp r12, rsi
jae 0x664b7b
mov qword [rsp + 0x150], r15
movzx r12d, byte [r12 + rax]
xor ebx, ebx
jmp 0x664ad5
mov r8, r10
jmp 0x664a54
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
jmp 0x662f06
inc rbx
movzx r12d, byte [rsp + 0x44]
shl r12d, 4
mov r15, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x90]
mov r10, r8
mov r11, qword [rsp + 0x1a0]
cmp rbx, 2
jge 0x664a90
mov r8, r10
lea r10, [rbx + r15]
cmp rdx, r10
jle 0x664a54
mov byte [rsp + 0x44], r12b
shr r12b, 4
mov byte [rsp + 0x4d], r12b
shl r12d, 4
movzx r11d, byte [rsp + 0x4d]
lea r11d, [r11 + r12]
mov byte [rsp + 0x40], r11b
mov r12, qword [r9 + 0x20]
mov r11, qword [r9 + 0x28]
mov rdx, qword [r9 + 0x30]
mov r15, qword [r9 + 0x38]
nop dword [rax]
cmp r12, r10
jg 0x664aad
cmp rdx, r10
jle 0x664aad
cmp r13, r11
jl 0x664aad
cmp r13, r15
jge 0x664aad
nop
mov rdx, qword [r9 + 8]
mov r15, qword [r9]
sub r13, r11
mov r11, qword [r9 + 0x18]
imul r11, r13
sub r10, r12
add r10, r11
cmp rdx, r10
jbe 0x664b70
movzx edx, byte [rsp + 0x40]
mov byte [r15 + r10], dl
mov r13, qword [rsp + 0xb0]
jmp 0x664aad
mov rax, r10
mov rcx, rdx
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
lea rdi, [r8 + 2]
mov r12, r9
cmp rdi, r15
jge 0x664bcf
mov r8, rdi
shr rdi, 0x3f
mov r9, r12
lea r12, [r8 + rdi]
sar r12, 1
cmp r12, rsi
jae 0x664ce5
mov qword [rsp + 0x148], r8
movzx r12d, byte [r12 + rax]
xor edi, edi
nop dword [rax + rax]
jmp 0x664c8a
mov r10, qword [rsp + 0x1b0]
jmp 0x664b86
mov rdx, r15
mov r9, qword [rsp + 0x198]
mov r13, rbx
nop dword [rax]
jmp 0x664a95
mov rax, r13
mov rcx, rbx
mov edi, r11d
mov esi, edi
mov r8d, esi
mov r9d, r12d
mov rbx, r10
call fcn.00657ea0
mov rdx, qword [rsp + 0x58]
lea rdi, [rdx + 1]
movzx r12d, byte [rsp + 0x45]
shl r12d, 4
mov rdx, qword [rsp + 0x148]
movzx r10d, byte [rsp + 0x3a]
mov rax, qword [rsp + 0x180]
mov r11, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x98]
mov edx, r10d
mov rbx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x150]
mov r8, qword [rsp + 0x148]
mov r9, qword [rsp + 0x1d0]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x180]
mov r15, qword [rsp + 0x90]
cmp rdi, 2
jge 0x664b86
lea r10, [rdi + r8]
nop dword [rax + rax]
cmp r15, r10
jle 0x664bc5
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x45], r12b
shr r12b, 4
mov byte [rsp + 0x4d], r12b
shl r12d, 4
movzx r11d, byte [rsp + 0x4d]
lea r11d, [r11 + r12]
cmp dl, r11b
jne 0x664cd7
xor r12d, r12d
jmp 0x664be5
mov r12d, 0xffffffff
nop dword [rax]
jmp 0x664be5
mov rax, r12
mov rcx, rsi
call fcn.00462f20
lea rbx, [r15 + 4]
mov r10, r8
mov r12, rdi
cmp rbx, rdx
jge 0x664d34
mov r15, rbx
sar rbx, 0x3f
shr rbx, 0x3e
mov rdi, r12
lea r12, [r15 + rbx]
sar r12, 2
cmp r12, rsi
jae 0x664e14
mov qword [rsp + 0x150], r15
movzx r12d, byte [r12 + rax]
xor ebx, ebx
jmp 0x664d79
mov r8, r10
jmp 0x664cf0
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
jmp 0x662f06
inc rbx
shl r11d, 2
mov r15, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x90]
mov r13, qword [rsp + 0xb0]
mov r10, r8
mov r12d, r11d
mov r11, qword [rsp + 0x1a0]
cmp rbx, 4
jge 0x664d2f
mov r8, r10
lea r10, [rbx + r15]
cmp rdx, r10
jle 0x664cf0
mov r11, qword [r9 + 0x20]
mov rdx, qword [r9 + 0x28]
mov r15, qword [r9 + 0x30]
mov r9, qword [r9 + 0x38]
nop
cmp r11, r10
jg 0x664df9
cmp r15, r10
jle 0x664df9
cmp r13, rdx
jl 0x664df9
cmp r13, r9
jge 0x664df9
mov byte [rsp + 0x46], r12b
nop
mov r9, qword [rsp + 0x198]
mov r15, qword [r9 + 8]
mov r12, qword [r9]
sub r13, rdx
mov rdx, qword [r9 + 0x18]
imul rdx, r13
sub r10, r11
add rdx, r10
cmp r15, rdx
jbe 0x664e09
movzx r10d, byte [rsp + 0x46]
mov r11d, r10d
shr r10b, 6
imul r10d, r10d, 0x55
mov byte [r12 + rdx], r10b
jmp 0x664d4c
mov r9, qword [rsp + 0x198]
mov r11d, r12d
jmp 0x664d4c
mov rax, rdx
mov rcx, r15
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
lea rdi, [r8 + 4]
mov r12, r9
cmp rdi, r15
jge 0x664e68
mov r8, rdi
sar rdi, 0x3f
shr rdi, 0x3e
mov r9, r12
lea r12, [r8 + rdi]
sar r12, 2
cmp r12, rsi
jae 0x664f7b
mov qword [rsp + 0x148], r8
movzx r12d, byte [r12 + rax]
xor edi, edi
jmp 0x664f23
mov r10, qword [rsp + 0x1b0]
jmp 0x664e1f
mov rdx, r15
mov r9, qword [rsp + 0x198]
mov r13, rbx
jmp 0x664d34
mov rax, r13
mov rcx, rbx
mov edi, r12d
mov esi, edi
mov r8d, esi
movzx r9d, byte [rsp + 0x4a]
mov rbx, r10
call fcn.00657ea0
mov rdx, qword [rsp + 0x60]
lea rdi, [rdx + 1]
movzx r12d, byte [rsp + 0x47]
shl r12d, 2
mov rdx, qword [rsp + 0x148]
movzx r10d, byte [rsp + 0x3b]
mov rax, qword [rsp + 0x180]
mov r11, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x98]
mov edx, r10d
mov rbx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x150]
mov r8, qword [rsp + 0x148]
mov r9, qword [rsp + 0x1d0]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x180]
mov r15, qword [rsp + 0x90]
cmp rdi, 4
jge 0x664e1f
lea r10, [rdi + r8]
cmp r15, r10
jle 0x664e5e
mov qword [rsp + 0x60], rdi
mov byte [rsp + 0x47], r12b
shr r12b, 6
imul r12d, r12d, 0x55
cmp dl, r12b
jne 0x664f65
mov qword [rsp + 0x108], rax
xor eax, eax
mov byte [rsp + 0x4a], al
nop
jmp 0x664e7b
mov qword [rsp + 0x110], rax
mov eax, 0xffffffff
mov byte [rsp + 0x4a], al
jmp 0x664e7b
mov rax, r12
mov rcx, rsi
call fcn.00462f20
lea rbx, [r15 + 8]
mov r10, r8
mov r12, rdi
cmp rbx, rdx
jge 0x664fca
mov r15, rbx
sar rbx, 0x3f
shr rbx, 0x3d
mov rdi, r12
lea r12, [r15 + rbx]
sar r12, 3
cmp r12, rsi
jae 0x6650b0
mov qword [rsp + 0x150], r15
movzx r12d, byte [r12 + rax]
xor ebx, ebx
jmp 0x665011
mov r8, r10
jmp 0x664f86
mov rdx, qword [rsp + 0x180]
mov rbx, r12
mov r9, qword [rsp + 0xa0]
nop dword [rax]
jmp 0x662f06
inc rbx
shl r11d, 1
mov r15, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x90]
mov r13, qword [rsp + 0xb0]
mov r10, r8
mov r12d, r11d
mov r11, qword [rsp + 0x1a0]
cmp rbx, 8
jge 0x664fc5
mov r8, r10
lea r10, [rbx + r15]
nop
cmp rdx, r10
jle 0x664f86
mov r11, qword [r9 + 0x20]
mov rdx, qword [r9 + 0x28]
mov r15, qword [r9 + 0x30]
mov r9, qword [r9 + 0x38]
cmp r11, r10
jg 0x665093
nop
cmp r15, r10
jle 0x665093
cmp r13, rdx
jl 0x665093
cmp r13, r9
jge 0x665093
mov byte [rsp + 0x48], r12b
nop
mov r9, qword [rsp + 0x198]
mov r15, qword [r9 + 8]
mov r12, qword [r9]
sub r13, rdx
mov rdx, qword [r9 + 0x18]
imul rdx, r13
sub r10, r11
add rdx, r10
cmp r15, rdx
jbe 0x6650a5
movzx r10d, byte [rsp + 0x48]
mov r11d, r10d
shr r10b, 7
neg r10d
mov byte [r12 + rdx], r10b
jmp 0x664fe5
mov r9, qword [rsp + 0x198]
mov r11d, r12d
nop
jmp 0x664fe5
mov rax, rdx
mov rcx, r15
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
lea rdi, [r8 + 8]
mov r12, r9
cmp rdi, r15
jge 0x665107
mov r8, rdi
sar rdi, 0x3f
shr rdi, 0x3d
mov r9, r12
lea r12, [r8 + rdi]
sar r12, 3
nop dword [rax]
cmp r12, rsi
jae 0x66521b
mov qword [rsp + 0x148], r8
movzx r12d, byte [r12 + rax]
xor edi, edi
jmp 0x6651c1
mov r10, qword [rsp + 0x1b0]
jmp 0x6650bb
mov rdx, r15
mov r9, qword [rsp + 0x198]
mov r13, rbx
jmp 0x664fca
mov rax, r13
mov rcx, rbx
mov edi, r12d
mov esi, edi
mov r8d, esi
movzx r9d, byte [rsp + 0x4b]
mov rbx, r10
call fcn.00657ea0
mov rdx, qword [rsp + 0x68]
lea rdi, [rdx + 1]
movzx r12d, byte [rsp + 0x49]
shl r12d, 1
mov rdx, qword [rsp + 0x148]
movzx r10d, byte [rsp + 0x3c]
mov rax, qword [rsp + 0x180]
mov r11, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x98]
mov edx, r10d
mov rbx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x150]
mov r8, qword [rsp + 0x148]
mov r9, qword [rsp + 0x1d0]
mov r10, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x180]
mov r15, qword [rsp + 0x90]
cmp rdi, 8
jge 0x6650bb
lea r10, [rdi + r8]
cmp r15, r10
jle 0x6650fd
mov qword [rsp + 0x68], rdi
mov byte [rsp + 0x49], r12b
shr r12b, 7
neg r12d
cmp dl, r12b
jne 0x665205
mov qword [rsp + 0xf8], rax
xor eax, eax
mov byte [rsp + 0x4b], al
nop dword [rax]
jmp 0x66511a
mov qword [rsp + 0x100], rax
mov eax, 0xffffffff
mov byte [rsp + 0x4b], al
jmp 0x66511a
mov rax, r12
mov rcx, rsi
call fcn.00462f20
movzx r15d, byte [rdx + rdi]
shr r15b, 1
add r13d, r15d
mov byte [rax + rdx], r13b
inc rdx
cmp rdx, r12
jge 0x665252
nop dword [rax]
cmp rdx, rsi
jae 0x6652d1
movzx r13d, byte [rdx + rax]
jb 0x665226
jmp 0x6652c6
mov rdx, r12
jmp 0x665280
mov rbx, r15
movzx r15d, byte [r15 + rdi]
add r15, r12
mov r8, r15
shr r15, 0x3f
add r15, r8
sar r15, 1
add r13d, r15d
mov byte [rax + rbx], r13b
lea r12, [rbx + 1]
nop word [rax + rax]
cmp r12, rsi
jge 0x66306f
jae 0x6652bb
movzx r13d, byte [r12 + rax]
mov r15, r12
sub r12, rdx
cmp r12, rsi
jae 0x6652b0
movzx r12d, byte [r12 + rax]
cmp r15, rsi
jb 0x665257
mov rax, r15
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov rax, r12
mov rcx, rsi
call fcn.00462f20
mov rax, rdx
mov rcx, rsi
call fcn.00462f20
mov rax, rdx
mov rcx, rsi
call fcn.00462f20
movzx r13d, byte [rdx + rax]
add r12d, r13d
mov byte [rax + rdx], r12b
inc rdx
cmp rdx, rsi
jge 0x66306f
movzx r12d, byte [rdx + rdi]
jb 0x6652dc
mov rax, rdx
mov rcx, rsi
call fcn.00462f20
movzx r15d, byte [rdx + rax]
add r12d, r15d
mov byte [rax + r13], r12b
lea rdx, [r13 + 1]
cmp rdx, rsi
jge 0x66306f
nop
jae 0x66533d
movzx r12d, byte [rdx + rax]
mov r13, rdx
sub rdx, rbx
cmp rdx, rsi
jb 0x665306
mov rax, rdx
mov rcx, rsi
call fcn.00462f20
mov rax, rdx
mov rcx, rsi
call fcn.00462f20
mov eax, 1
call fcn.00462fe0
mov eax, 1
call fcn.00462fe0
nop dword [rax]
call fcn.004342e0
call fcn.004342e0
mov rax, rdi
mov rcx, r12
call fcn.00462f20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
call fcn.00460840
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
movzx esi, byte [rsp + 0x28]
jmp fcn.00662540