Function at 0x140056bc0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov r14d, r9d
mov qword [rsp + 0x98], r8
mov rbx, rdx
mov r13, rcx
mov r10d, dword [rcx + 0x4018]
test r10, r10
je 0x140056bfc
mov rcx, qword [r13 + 0x4000]
add rcx, r10
jmp 0x140056bfe
xor ecx, ecx
mov edx, dword [rsp + 0x158]
mov edi, dword [r13 + 0x4010]
lea r8d, [rdi + r14]
cmp r8d, 0x80000001
jb 0x140056ce2
mov r8, qword [r13 + 0x4000]
add edi, 0xffff0000
movd xmm0, edi
pshufd xmm0, xmm0, 0
xor r9d, r9d
movdqa xmm1, xmmword [0x1400db800]
movdqa xmm2, xmm0
pxor xmm2, xmm1
nop word cs:[rax + rax]
movdqu xmm3, xmmword [r13 + r9*4]
movdqu xmm4, xmmword [r13 + r9*4 + 0x10]
movdqa xmm5, xmm3
pxor xmm5, xmm1
pcmpgtd xmm5, xmm2
psubd xmm3, xmm0
pand xmm3, xmm5
movdqa xmm5, xmm4
pxor xmm5, xmm1
pcmpgtd xmm5, xmm2
psubd xmm4, xmm0
pand xmm4, xmm5
movdqu xmmword [r13 + r9*4], xmm3
movdqu xmmword [r13 + r9*4 + 0x10], xmm4
add r9, 8
cmp r9, 0x1000
jne 0x140056c50
add r8, r10
mov dword [r13 + 0x4010], 0x10000
mov r10d, dword [r13 + 0x4018]
cmp r10d, 0x10001
jb 0x140056cd0
mov dword [r13 + 0x4018], 0x10000
mov r10d, 0x10000
mov r9d, r10d
sub r8, r9
mov qword [r13 + 0x4000], r8
mov edi, 0x10000
cmp edx, 2
mov r8d, 1
cmovge r8d, edx
cmp r8d, 0x10001
mov r12d, 0x10001
cmovb r12d, r8d
cmp r10d, 3
ja 0x140056d32
test r14d, r14d
jle 0x140056d32
cmp rcx, rbx
je 0x140056d32
cmp qword [r13 + 0x4008], 0
jne 0x140056d32
mov dword [r13 + 0x4018], 0
mov qword [r13 + 0x4000], rbx
xor r10d, r10d
mov rcx, rbx
movsxd rdx, r14d
add rdx, rbx
mov r8, qword [r13 + 0x4000]
cmp rdx, r8
jbe 0x140056d78
cmp rdx, rcx
jae 0x140056d78
mov eax, ecx
sub eax, edx
cmp eax, 0x10000
mov edx, 0x10000
cmovb edx, eax
xor r10d, r10d
cmp edx, 4
cmovae r10d, edx
mov dword [r13 + 0x4018], r10d
mov r8, rcx
sub r8, r10
mov qword [r13 + 0x4000], r8
mov esi, dword [rsp + 0x150]
cmp rcx, rbx
mov qword [rsp + 0x78], r13
je 0x140056f11
mov rax, qword [r13 + 0x4008]
mov qword [rsp + 0x28], rax
test rax, rax
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x88], rdi
je 0x140056f93
cmp r14d, 0x1001
jl 0x1400570fa
mov r8d, 0x4020
mov rcx, r13
mov rdx, qword [rsp + 0x28]
call fcn.1400176a0
xor eax, eax
cmp r14d, 0x7e000000
ja 0x14005a5a3
movabs r8, 0xcf1bbcdcbb000000
mov r15d, dword [r13 + 0x4010]
mov rdi, rbx
sub rdi, r15
mov rdx, qword [r13 + 0x4000]
mov eax, dword [r13 + 0x4018]
lea ecx, [rax + r14]
add rax, rdx
mov r9, rax
sub r9, r15
test rdx, rdx
cmove rax, rdx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x30], rdx
cmove r9, rdx
mov qword [rsp + 0x60], r9
mov eax, r14d
lea rdx, [rbx + rax]
mov qword [rsp + 0xb8], rdx
lea rdx, [rbx + rax - 0xb]
mov qword [rsp + 0x80], rdx
lea rdx, [rbx + rax - 5]
mov qword [rsp + 0x88], rdx
movsxd rdx, esi
mov rsi, r8
mov r8, qword [rsp + 0x98]
add rdx, r8
mov qword [rsp + 0x70], rdx
mov dword [r13 + 0x4018], ecx
lea ecx, [r15 + r14]
mov dword [r13 + 0x4010], ecx
mov dword [r13 + 0x4014], 2
mov rcx, qword [rbx]
imul rcx, rsi
shr rcx, 0x32
and ecx, 0xfffffffc
mov dword [r13 + rcx], r15d
mov edx, r12d
shl edx, 6
lea rcx, [rbx + rax]
add rcx, 0xfffffffffffffff4
mov qword [rsp + 0x28], rcx
lea rcx, [rbx + rax - 8]
mov qword [rsp + 0xd8], rcx
add rax, rbx
add rax, 0xfffffffffffffffa
mov qword [rsp + 0xc8], rax
or edx, 1
mov r14, r15
add r14, 1
lea rax, [rbx + 8]
mov qword [rsp + 0xc0], rax
lea rcx, [rbx + 2]
lea rax, [rbx + 1]
mov r9, rbx
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x44], r12d
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0xb0], edx
jmp 0x1400573c7
cmp r10d, 0xffff
ja 0x140057289
mov eax, edi
sub eax, r10d
mov dword [rsp + 0x28], eax
jbe 0x140057289
xor eax, eax
cmp r14d, 0x7e000000
ja 0x14005a5b1
test r14d, r14d
je 0x140057da3
mov eax, r14d
mov qword [rsp + 0x20], rax
movsxd r11, esi
mov r9, qword [rsp + 0x98]
add r11, r9
lea ecx, [r10 + r14]
mov dword [r13 + 0x4018], ecx
lea ecx, [rdi + r14]
mov dword [r13 + 0x4010], ecx
mov dword [r13 + 0x4014], 2
mov r15, rbx
cmp r14d, 0xd
jae 0x140058f3c
add rbx, qword [rsp + 0x20]
jmp 0x1400572ea
cmp r10d, 0xffff
mov qword [rsp + 0x38], r8
ja 0x140057bfd
mov r15d, edi
sub r15d, r10d
jbe 0x140057bfd
xor eax, eax
cmp r14d, 0x7e000000
ja 0x14005a5a3
test r14d, r14d
je 0x140057d86
mov dword [rsp + 0x44], r12d
mov r12, qword [rsp + 0x98]
mov ebp, edi
mov eax, r10d
add rax, r8
mov qword [rsp + 0x50], rax
sub rax, rbp
test r8, r8
cmove rax, r8
mov qword [rsp + 0x58], rax
mov eax, r14d
mov qword [rsp + 0xb0], rax
movsxd rax, esi
add rax, r12
mov qword [rsp + 0x70], rax
add r10d, r14d
mov dword [r13 + 0x4018], r10d
lea eax, [rdi + r14]
mov dword [r13 + 0x4010], eax
mov dword [r13 + 0x4014], 2
mov r10, rbx
cmp r14d, 0xd
jb 0x14005a4a2
mov rsi, rbx
sub rsi, rbp
mov rax, qword [rsp + 0xb0]
lea rcx, [rbx + rax]
add rcx, 0xfffffffffffffff5
mov qword [rsp + 0x80], rcx
lea rcx, [rbx + rax]
add rcx, 0xfffffffffffffffb
test r8, r8
mov rax, qword [rsp + 0x50]
cmove rax, r8
mov qword [rsp + 0x50], rax
movabs rdx, 0xcf1bbcdcbb000000
mov rax, qword [rbx]
imul rax, rdx
shr rax, 0x32
and eax, 0xfffffffc
mov dword [r13 + rax], edi
mov eax, dword [rsp + 0x44]
shl eax, 6
lea rdx, [rcx - 7]
mov qword [rsp + 0x20], rdx
lea rdx, [rcx - 3]
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xa0], rcx
add rcx, 0xffffffffffffffff
mov qword [rsp + 0xe0], rcx
lea rcx, [rbx + 8]
mov qword [rsp + 0xc8], rcx
or eax, 1
lea r9, [rbx + 2]
add rbp, 1
lea rcx, [rbx + 1]
mov r10, rbx
mov r12, qword [rsp + 0x98]
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x68], r15d
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0xd8], eax
jmp 0x140058720
xor eax, eax
cmp r14d, 0x7e000000
ja 0x14005a5a3
test r14d, r14d
je 0x140057d86
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x4000]
mov edx, dword [rax + 0x4018]
mov eax, dword [rax + 0x4010]
add rdx, rcx
mov qword [rsp + 0xa0], rdx
sub rdx, rax
test rcx, rcx
mov qword [rsp + 0x58], rcx
cmove rdx, rcx
mov qword [rsp + 0x38], rdx
mov ecx, r14d
mov qword [rsp + 0xc0], rcx
movsxd rsi, esi
mov rdx, qword [rsp + 0x98]
add rsi, rdx
mov qword [r13 + 0x4008], 0
mov dword [r13 + 0x4018], r14d
lea ecx, [rdi + r14]
mov dword [r13 + 0x4010], ecx
mov dword [r13 + 0x4014], 2
mov qword [rsp + 0xa8], rdx
mov r9, rbx
cmp r14d, 0xd
jb 0x140059aca
mov r8d, r12d
mov ebp, edi
mov rcx, rbx
sub rcx, rbp
mov qword [rsp + 0x80], rcx
mov ecx, edi
sub ecx, eax
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0xc0]
lea rax, [rbx + rcx]
add rax, 0xfffffffffffffff5
mov qword [rsp + 0x60], rax
lea rdx, [rbx + rcx]
add rdx, 0xfffffffffffffffb
mov rax, qword [rsp + 0x58]
test rax, rax
mov rcx, qword [rsp + 0xa0]
cmove rcx, rax
mov qword [rsp + 0xa0], rcx
movabs rcx, 0xcf1bbcdcbb000000
mov rax, qword [rbx]
imul rax, rcx
shr rax, 0x32
and eax, 0xfffffffc
mov dword [r13 + rax], edi
mov r11d, r12d
shl r11d, 6
lea rax, [rdx - 7]
mov qword [rsp + 0x20], rax
lea rax, [rdx - 3]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xb0], rdx
lea rax, [rdx - 1]
mov qword [rsp + 0xe0], rax
lea rax, [rbx + 8]
mov qword [rsp + 0xc8], rax
or r11d, 1
lea rcx, [rbx + 2]
add rbp, 1
lea rax, [rbx + 1]
mov r9, rbx
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x44], r12d
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x50], r11d
jmp 0x140057df3
xor eax, eax
cmp r14d, 0x7e000000
ja 0x14005a5b1
test r14d, r14d
je 0x140057da3
mov eax, r14d
mov qword [rsp + 0x70], rax
movsxd r11, esi
mov r9, qword [rsp + 0x98]
add r11, r9
lea ecx, [r10 + r14]
mov dword [r13 + 0x4018], ecx
lea ecx, [rdi + r14]
mov dword [r13 + 0x4010], ecx
mov dword [r13 + 0x4014], 2
mov r15, rbx
cmp r14d, 0xd
jae 0x140059518
add rbx, qword [rsp + 0x70]
sub rbx, r15
lea rcx, [r9 + rbx]
lea rax, [rbx + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
lea rax, [rdx + rcx]
add rax, 1
cmp rax, r11
mov rdi, qword [rsp + 0x98]
mov eax, 0
ja 0x14005a5b1
cmp rbx, 0xf
jb 0x140059a9a
lea rax, [rbx - 0xf]
mov byte [r9], 0xf0
lea rcx, [r9 + 1]
cmp rax, 0xff
jb 0x140057386
lea rax, [rbx - 0x10e]
mul r8
mov rsi, rbx
mov rbx, rdx
shr rbx, 7
lea r8, [rbx + 1]
mov dl, 0xff
mov r14, r9
call fcn.1400175c0
mov rax, rbx
shl rax, 8
lea rcx, [rbx + r14]
add rcx, 2
sub rbx, rax
lea rax, [rsi + rbx]
add rax, 0xfffffffffffffef2
mov rbx, rsi
mov byte [rcx], al
mov r9, rcx
jmp 0x140059aa2
mov qword [rsp + 0x50], r8
lea rax, [r9 + 1]
mov r14, rax
sub r14, rdi
lea rcx, [r9 + 2]
cmp rcx, qword [rsp + 0x80]
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x20]
mov edx, dword [rsp + 0xb0]
mov r12d, dword [rsp + 0x44]
ja 0x140057cd3
mov qword [rsp + 0x38], r9
mov r8, qword [r9 + 1]
mov r9d, r12d
jmp 0x140057408
mov r14, r10
sub r14, rdi
mov ecx, r9d
add rcx, r10
lea eax, [rdx + 1]
shr edx, 6
mov r9d, edx
mov edx, eax
mov rax, r10
cmp rcx, qword [rsp + 0x80]
ja 0x14005a5c5
mov r10, rcx
imul r8, rsi
mov rcx, r8
shr rcx, 0x34
mov r11d, dword [r13 + rcx*4]
mov r8, qword [r10]
mov dword [r13 + rcx*4], r14d
lea ecx, [r11 + 0xffff]
cmp ecx, r14d
jb 0x1400573e0
cmp r11d, r15d
mov rcx, rdi
cmovb rcx, qword [rsp + 0x60]
mov edi, dword [rcx + r11]
cmp edi, dword [rax]
mov rdi, qword [rsp + 0x58]
jne 0x1400573e0
add rcx, r11
cmp r11d, r15d
mov r15, rbx
cmovb r15, qword [rsp + 0x30]
sub r14d, r11d
mov r10d, eax
mov rdx, qword [rsp + 0x38]
sub r10d, edx
lea r9d, [r10 - 0xf]
lea r8d, [r10 - 0x10e]
mov dword [rsp + 0xa8], r8d
mov r11d, eax
shl r11b, 4
shl dl, 4
sub r11b, dl
xor ebp, ebp
mov dword [rsp + 0xa0], r9d
mov edx, r9d
nop word cs:[rax + rax]
nop dword [rax]
mov r8d, edx
mov rdi, rbp
mov r9d, r11d
mov ebx, r10d
lea r13, [rcx + rbp]
lea r12, [rax + rbp]
cmp r13, r15
jbe 0x1400574dc
cmp r12, qword [rsp + 0x38]
jbe 0x1400574dc
movzx esi, byte [rax + rdi - 1]
lea edx, [r8 - 1]
lea rbp, [rdi - 1]
lea r11d, [r9 - 0x10]
lea r10d, [rbx - 1]
cmp sil, byte [rcx + rdi - 1]
je 0x1400574a0
mov ecx, eax
mov rdx, qword [rsp + 0x38]
sub ecx, edx
lea ebp, [rdi + rcx]
sub eax, edx
lea r10, [rax + rdi]
mov rsi, qword [rsp + 0x50]
lea rcx, [rsi + rbp]
mov edx, r10d
mov r11d, 0x80808081
imul rdx, r11
shr rdx, 0x27
add rcx, rdx
add rcx, 9
cmp rcx, qword [rsp + 0x70]
ja 0x14005a618
lea rcx, [rsi + 1]
cmp r10d, 0xf
jb 0x1400575c5
mov edx, dword [rsp + 0xa0]
add rdx, rdi
mov byte [rsi], 0xf0
cmp edx, 0xfe
jle 0x1400575a9
cmp r8d, 0x1fd
mov edx, 0x1fd
cmovge r8d, edx
sub eax, r8d
lea r8d, [rax + rdi]
add r8d, 0xef
mov qword [rsp + 0xa0], r8
mov eax, 0x80808081
imul r8, rax
shr r8, 0x27
add r8d, 1
mov dl, 0xff
call fcn.1400175c0
mov eax, dword [rsp + 0xa0]
mov ecx, 0x80808081
imul rax, rcx
shr rax, 0x27
lea rcx, [rsi + rax]
add rcx, 2
mov edx, eax
shl edx, 8
sub eax, edx
mov edx, dword [rsp + 0xa8]
add edx, edi
add edx, eax
movabs rsi, 0xcf1bbcdcbb000000
mov rdi, qword [rsp + 0x58]
mov r10, qword [rsp + 0x28]
mov byte [rcx], dl
add rcx, 1
jmp 0x1400575dc
mov byte [rsi], r9b
movabs rsi, 0xcf1bbcdcbb000000
mov rdi, qword [rsp + 0x58]
mov r10, qword [rsp + 0x28]
add rbp, rcx
lea r11, [rcx + 8]
cmp rbp, r11
mov r8, r11
cmova r8, rbp
mov r9, rcx
not r9
add r8, r9
cmp r8, 0x38
jb 0x1400576a7
mov qword [rsp + 0xa0], rbp
mov rax, rcx
mov rbp, qword [rsp + 0x38]
sub rax, rbp
cmp rax, 0x20
jb 0x1400576b6
shr r8, 3
add r8, 1
mov r10, r8
and r10, 0xfffffffffffffffc
lea rax, [r10*8]
add rax, rbp
lea rdx, [rcx + r10*8]
mov esi, ebx
add rsi, rcx
cmp rsi, r11
cmovbe rsi, r11
add r9, rsi
shr r9, 3
add r9, 1
and r9, 0xfffffffffffffffc
xor r11d, r11d
nop dword [rax]
movdqu xmm0, xmmword [rbp + r11*8]
movdqu xmm1, xmmword [rbp + r11*8 + 0x10]
movdqu xmmword [rcx + r11*8], xmm0
movdqu xmmword [rcx + r11*8 + 0x10], xmm1
add r11, 4
cmp r9, r11
jne 0x140057660
cmp r8, r10
mov rbx, qword [rsp + 0x48]
movabs rsi, 0xcf1bbcdcbb000000
mov r10, qword [rsp + 0x28]
mov rbp, qword [rsp + 0xa0]
jne 0x1400576d0
jmp 0x1400576e3
mov rax, qword [rsp + 0x38]
mov rdx, rcx
mov rbx, qword [rsp + 0x48]
jmp 0x1400576d0
mov rax, rbp
mov rdx, rcx
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0xa0]
nop dword [rax]
mov rcx, qword [rax]
mov qword [rdx], rcx
add rdx, 8
add rax, 8
cmp rdx, rbp
jb 0x1400576d0
mov r9, r12
mov rax, qword [rsp + 0x50]
mov r11, qword [rsp + 0x30]
mov word [rbp], r14w
cmp r15, r11
je 0x140057730
lea rcx, [r9 + 4]
lea rdx, [r13 + 4]
cmp r10, rcx
mov r15, qword [rsp + 0x20]
jbe 0x140057bae
mov r8, qword [rcx]
xor r8, qword [rdx]
je 0x140057790
tzcnt r14, r8
shr r14d, 3
mov r13, qword [rsp + 0x78]
jmp 0x140057832
mov r12, rbp
mov rcx, qword [rsp + 0x68]
sub rcx, r13
add rcx, r9
mov rdx, qword [rsp + 0x88]
cmp rcx, rdx
cmova rcx, rdx
mov rbp, r9
lea rdx, [r9 + 4]
lea r8, [r13 + 4]
lea r9, [rcx - 7]
cmp r9, rdx
mov r15, qword [rsp + 0x20]
jbe 0x140057bb6
mov r10, qword [rdx]
xor r10, qword [r8]
je 0x140057841
tzcnt r14, r10
shr r14d, 3
jmp 0x1400578b5
lea r14, [r9 + 0xc]
add r13, 0xc
mov rdx, r13
mov r12, rbp
cmp r14, r10
jae 0x140057bc7
mov r8d, r14d
mov rbp, r9
sub r8d, r9d
add r8d, 0xfffffffc
mov r13, qword [rsp + 0x78]
nop dword [rax]
mov r9, qword [r14]
xor r9, qword [rdx]
jne 0x140057820
add r14, 8
add rdx, 8
add r8d, 8
cmp r14, r10
jb 0x1400577c0
cmp r14, qword [rsp + 0xd8]
jae 0x1400577f3
mov r8d, dword [rdx]
cmp r8d, dword [r14]
jne 0x1400577f3
add r14, 4
add rdx, 4
cmp r14, qword [rsp + 0xc8]
jae 0x140057b3c
movzx r8d, word [rdx]
cmp r8w, word [r14]
mov r9, rbp
jne 0x140057b3f
add r14, 2
add rdx, 2
jmp 0x140057b3f
tzcnt r14, r9
shr r14, 3
add r14d, r8d
mov r9, rbp
mov rbp, r12
mov ecx, r14d
add r9, rcx
add r9, 4
jmp 0x1400579d0
lea r14, [rbp + 0xc]
lea r8, [r13 + 0xc]
cmp r14, r9
jae 0x140057879
mov r10d, r14d
sub r10d, ebp
add r10d, 0xfffffffc
nop dword [rax + rax]
mov r11, qword [r14]
xor r11, qword [r8]
jne 0x1400578a4
add r14, 8
add r8, 8
add r10d, 8
cmp r14, r9
jb 0x140057860
lea r9, [rcx - 3]
cmp r14, r9
jae 0x140057b64
mov r9d, dword [r8]
cmp r9d, dword [r14]
mov r10, qword [rsp + 0x28]
jne 0x140057b69
add r14, 4
add r8, 4
jmp 0x140057b69
tzcnt r14, r11
shr r14, 3
add r14d, r10d
mov r11, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
mov edx, r14d
lea r9, [rdx + rbp]
add r9, 4
cmp r9, rcx
je 0x1400578d7
mov r13, qword [rsp + 0x78]
mov rbp, r12
jmp 0x1400579d0
mov r8, rbx
mov rdx, rcx
cmp r10, rcx
jbe 0x14005790b
mov rdx, qword [rcx]
xor rdx, qword [rbx]
je 0x1400578ff
tzcnt rdx, rdx
shr edx, 3
mov r13, qword [rsp + 0x78]
mov rbp, r12
jmp 0x1400579c4
lea rdx, [rcx + 8]
mov r8, qword [rsp + 0xc0]
cmp rdx, r10
jae 0x140057be2
add rbp, qword [rsp + 0x68]
sub rbp, r13
mov r9, qword [rsp + 0x88]
cmp rbp, r9
cmovae rbp, r9
mov r9d, edx
sub r9d, ebp
mov r13, qword [rsp + 0x78]
mov rbp, r12
nop dword [rax]
mov r10, qword [rdx]
xor r10, qword [r8]
jne 0x1400579b3
add rdx, 8
add r8, 8
add r9d, 8
mov r10, qword [rsp + 0x28]
cmp rdx, r10
jb 0x140057940
cmp rdx, qword [rsp + 0xd8]
jae 0x140057978
mov r9d, dword [r8]
cmp r9d, dword [rdx]
jne 0x140057978
add rdx, 4
add r8, 4
cmp rdx, qword [rsp + 0xc8]
jae 0x140057994
movzx r9d, word [r8]
cmp r9w, word [rdx]
jne 0x140057994
add rdx, 2
add r8, 2
cmp rdx, qword [rsp + 0x88]
jae 0x1400579af
movzx r8d, byte [r8]
xor r9d, r9d
cmp r8b, byte [rdx]
sete r9b
add rdx, r9
sub edx, ecx
jmp 0x1400579c4
tzcnt rdx, r10
shr rdx, 3
add edx, r9d
mov r10, qword [rsp + 0x28]
add r14d, edx
mov edx, edx
add rcx, rdx
mov r9, rcx
nop
lea ecx, [r14 + 0xf0]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add rcx, rbp
add rcx, 8
cmp rcx, qword [rsp + 0x70]
ja 0x14005a622
lea r8, [rbp + 2]
movzx ecx, byte [rax]
cmp r14d, 0xf
jb 0x140057ab0
add cl, 0xf
mov byte [rax], cl
lea eax, [r14 - 0xf]
mov dword [r8], 0xffffffff
cmp eax, 0x3fc
jb 0x140057a80
lea rcx, [rbp + 6]
add r14d, 0xfffffbf5
mov rsi, r14
mov eax, 0x80808081
imul rsi, rax
shr rsi, 0x29
mov edi, esi
lea r8, [rdi*4 + 4]
mov dl, 0xff
mov r12, rbp
mov rbp, r9
call fcn.1400175c0
mov r9, rbp
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
imul eax, esi, 0x3fc
movabs rsi, 0xcf1bbcdcbb000000
sub r14d, eax
lea r8, [r12 + rdi*4]
add r8, 6
mov rdi, qword [rsp + 0x58]
mov eax, r14d
movzx ecx, ax
imul ecx, ecx, 0x8081
shr ecx, 0x17
mov edx, ecx
add edx, eax
mov byte [r8 + rcx], dl
add r8, rcx
add r8, 1
cmp r9, qword [rsp + 0x80]
jb 0x140057ac3
jmp 0x140057cce
add cl, r14b
mov byte [rax], cl
cmp r9, qword [rsp + 0x80]
jae 0x140057cce
lea rax, [r9 - 2]
mov rcx, qword [r9 - 2]
imul rcx, rsi
sub eax, edi
shr rcx, 0x34
mov dword [r13 + rcx*4], eax
mov rcx, qword [r9]
imul rcx, rsi
shr rcx, 0x34
mov eax, dword [r13 + rcx*4]
mov r14d, r9d
sub r14d, edi
cmp eax, r15d
mov rdx, r13
mov r13, rdi
cmovb r13, qword [rsp + 0x60]
mov r15, rbx
cmovb r15, r11
mov dword [rdx + rcx*4], r14d
lea ecx, [rax + 0xffff]
cmp ecx, r14d
jb 0x140057390
add r13, rax
mov ecx, dword [r13]
cmp ecx, dword [r9]
jne 0x140057390
lea rbp, [r8 + 1]
mov byte [r8], 0
sub r14d, eax
mov rax, r8
jmp 0x1400576f0
mov r9, rbp
mov rbp, r12
cmp r14, qword [rsp + 0x88]
jae 0x140057b5c
movzx edx, byte [rdx]
xor r8d, r8d
cmp dl, byte [r14]
sete r8b
add r14, r8
sub r14d, ecx
jmp 0x140057832
mov r10, qword [rsp + 0x28]
lea r9, [rcx - 1]
cmp r14, r9
jae 0x140057b8b
movzx r9d, word [r8]
cmp r9w, word [r14]
mov r11, qword [rsp + 0x30]
jne 0x140057b90
add r14, 2
add r8, 2
jmp 0x140057b90
mov r11, qword [rsp + 0x30]
cmp r14, rcx
jae 0x140057ba6
movzx r8d, byte [r8]
xor r9d, r9d
cmp r8b, byte [r14]
sete r9b
add r14, r9
sub r14d, edx
jmp 0x1400578ba
mov r14, rcx
jmp 0x14005779b
mov r14, rdx
cmp r14, r9
jb 0x14005784e
jmp 0x140057879
mov rbp, r9
mov r13, qword [rsp + 0x78]
cmp r14, qword [rsp + 0xd8]
jb 0x1400577e3
jmp 0x1400577f3
mov r13, qword [rsp + 0x78]
mov rbp, r12
cmp rdx, qword [rsp + 0xd8]
jb 0x140057968
jmp 0x140057978
xor eax, eax
cmp r14d, 0x7e000000
ja 0x14005a5a3
test r14d, r14d
je 0x140057d86
mov dword [rsp + 0x44], r12d
mov r12, qword [rsp + 0x98]
mov ebp, edi
mov eax, r10d
add rax, r8
mov qword [rsp + 0x68], rax
mov r15, rax
sub r15, rbp
test r8, r8
cmove r15, r8
mov eax, r14d
mov qword [rsp + 0xa8], rax
movsxd rax, esi
add rax, r12
mov qword [rsp + 0x28], rax
add r10d, r14d
mov dword [r13 + 0x4018], r10d
lea eax, [rdi + r14]
mov dword [r13 + 0x4010], eax
mov dword [r13 + 0x4014], 2
mov r9, rbx
cmp r14d, 0xd
jae 0x140059bb3
mov r15, qword [rsp + 0xa8]
add r15, rbx
sub r15, r9
lea rcx, [r12 + r15]
lea rax, [r15 + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
lea rax, [rdx + rcx]
add rax, 1
cmp rax, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x98]
mov eax, 0
jbe 0x14005a4ef
jmp 0x14005a5a3
mov qword [rsp + 0x50], r8
mov rsi, qword [rsp + 0xb8]
sub rsi, r9
mov r15, qword [rsp + 0x50]
lea rcx, [r15 + rsi]
lea rax, [rsi + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
add rcx, rdx
add rcx, 1
xor eax, eax
cmp rcx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x90]
ja 0x14005a5a3
cmp rsi, 0xf
jb 0x140059b86
lea rax, [rsi - 0xf]
mov byte [r15], 0xf0
lea rcx, [r15 + 1]
cmp rax, 0xff
jb 0x140057d7c
lea rax, [rsi - 0x10e]
mul r8
mov r13, rdx
shr r13, 7
lea r8, [r13 + 1]
mov dl, 0xff
mov rdi, r9
call fcn.1400175c0
mov r9, rdi
mov rax, r13
shl rax, 8
lea rcx, [r15 + r13]
add rcx, 2
sub r13, rax
lea rax, [rsi + r13]
add rax, 0xfffffffffffffef2
mov r13, qword [rsp + 0x78]
mov byte [rcx], al
mov r15, rcx
jmp 0x140059b8e
test esi, esi
jle 0x14005a5a3
mov rax, qword [rsp + 0x98]
mov byte [rax], 0
mov eax, 1
jmp 0x14005a5a3
test esi, esi
jle 0x14005a5b1
mov rax, qword [rsp + 0x98]
mov byte [rax], 0
mov eax, 1
jmp 0x14005a5b1
mov qword [rsp + 0xa8], r8
lea rax, [r9 + 1]
mov rbp, rax
sub rbp, qword [rsp + 0x80]
lea rcx, [r9 + 2]
cmp rcx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x90]
ja 0x140059aca
mov qword [rsp + 0x30], r9
mov r10, qword [r9 + 1]
mov edx, r11d
mov r12, qword [rsp + 0x80]
jmp 0x140057e3d
mov rbp, r9
mov r12, qword [rsp + 0x80]
sub rbp, r12
mov ecx, r8d
add rcx, r9
lea eax, [rdx + 1]
shr edx, 6
mov r8d, edx
mov edx, eax
mov rax, r9
cmp rcx, qword [rsp + 0x60]
ja 0x14005a5cf
mov r9, rcx
movabs rcx, 0xcf1bbcdcbb000000
imul r10, rcx
mov rsi, r10
shr rsi, 0x34
mov r11d, dword [r13 + rsi*4]
cmp r11d, edi
jae 0x140057e80
mov rcx, qword [rsp + 0x28]
mov ecx, dword [rcx + rsi*4]
mov r10, qword [rsp + 0x70]
lea r11d, [rcx + r10]
add rcx, qword [rsp + 0x38]
mov r12, qword [rsp + 0x58]
jmp 0x140057e87
lea rcx, [r12 + r11]
mov r12, rbx
mov r10, qword [r9]
mov dword [r13 + rsi*4], ebp
lea esi, [r11 + 0xffff]
cmp esi, ebp
jb 0x140057e10
mov esi, dword [rcx]
cmp esi, dword [rax]
jne 0x140057e10
sub ebp, r11d
mov r10d, eax
mov rdx, qword [rsp + 0x30]
sub r10d, edx
lea r9d, [r10 - 0xf]
lea r8d, [r10 - 0x10e]
mov dword [rsp + 0xd8], r8d
mov r11d, eax
shl r11b, 4
shl dl, 4
sub r11b, dl
xor esi, esi
mov dword [rsp + 0xb8], r9d
mov edx, r9d
nop word cs:[rax + rax]
nop dword [rax]
mov r8d, edx
mov rdi, rsi
mov r9d, r11d
mov ebx, r10d
lea r14, [rcx + rsi]
lea r13, [rax + rsi]
cmp r14, r12
jbe 0x140057f2d
cmp r13, qword [rsp + 0x30]
jbe 0x140057f2d
movzx r15d, byte [rax + rdi - 1]
lea edx, [r8 - 1]
lea rsi, [rdi - 1]
lea r11d, [r9 - 0x10]
lea r10d, [rbx - 1]
cmp r15b, byte [rcx + rdi - 1]
je 0x140057ef0
mov ecx, eax
mov rdx, qword [rsp + 0x30]
sub ecx, edx
lea r15d, [rdi + rcx]
sub eax, edx
lea r10, [rax + rdi]
mov rsi, qword [rsp + 0xa8]
lea rcx, [rsi + r15]
mov edx, r10d
mov r11d, 0x80808081
imul rdx, r11
shr rdx, 0x27
add rcx, rdx
add rcx, 9
mov rdx, qword [rsp + 0x68]
cmp rcx, rdx
ja 0x14005a631
mov r11, rdx
lea rcx, [rsi + 1]
cmp r10d, 0xf
jb 0x14005801e
mov edx, dword [rsp + 0xb8]
add rdx, rdi
mov byte [rsi], 0xf0
cmp edx, 0xfe
jle 0x140058009
cmp r8d, 0x1fd
mov edx, 0x1fd
cmovge r8d, edx
sub eax, r8d
lea r8d, [rax + rdi]
add r8d, 0xef
mov qword [rsp + 0xb8], r8
mov eax, 0x80808081
imul r8, rax
shr r8, 0x27
add r8d, 1
mov dl, 0xff
call fcn.1400175c0
mov eax, dword [rsp + 0xb8]
mov r11, qword [rsp + 0x68]
mov ecx, 0x80808081
imul rax, rcx
shr rax, 0x27
lea rcx, [rsi + rax]
add rcx, 2
mov edx, eax
shl edx, 8
sub eax, edx
mov edx, dword [rsp + 0xd8]
add edx, edi
add edx, eax
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x20]
mov byte [rcx], dl
add rcx, 1
jmp 0x14005802e
mov byte [rsi], r9b
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x20]
mov rsi, r11
add r15, rcx
lea r11, [rcx + 8]
cmp r15, r11
mov r8, r11
cmova r8, r15
mov r9, rcx
not r9
add r8, r9
cmp r8, 0x38
jb 0x1400580f1
mov qword [rsp + 0xb8], r15
mov rax, rcx
mov r15, qword [rsp + 0x30]
sub rax, r15
cmp rax, 0x20
jb 0x140058100
shr r8, 3
add r8, 1
mov r10, r8
and r10, 0xfffffffffffffffc
lea rax, [r15 + r10*8]
lea rdx, [rcx + r10*8]
mov esi, ebx
add rsi, rcx
cmp rsi, r11
cmovbe rsi, r11
add r9, rsi
shr r9, 3
add r9, 1
and r9, 0xfffffffffffffffc
xor r11d, r11d
nop word [rax + rax]
movdqu xmm0, xmmword [r15 + r11*8]
movdqu xmm1, xmmword [r15 + r11*8 + 0x10]
movdqu xmmword [rcx + r11*8], xmm0
movdqu xmmword [rcx + r11*8 + 0x10], xmm1
add r11, 4
cmp r9, r11
jne 0x1400580b0
cmp r8, r10
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
mov r10, qword [rsp + 0x20]
mov r15, qword [rsp + 0xb8]
jne 0x140058120
jmp 0x140058133
mov rax, qword [rsp + 0x30]
mov rdx, rcx
mov rbx, qword [rsp + 0x48]
jmp 0x140058120
mov rax, r15
mov rdx, rcx
mov rbx, qword [rsp + 0x48]
mov r15, qword [rsp + 0xb8]
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, qword [rax]
mov qword [rdx], rcx
add rdx, 8
add rax, 8
cmp rdx, r15
jb 0x140058120
mov r9, r13
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x78]
mov r11d, dword [rsp + 0x50]
nop dword [rax + rax]
mov word [r15], bp
cmp r12, qword [rsp + 0x58]
je 0x1400581a0
lea rcx, [r9 + 4]
lea rdx, [r14 + 4]
cmp r10, rcx
mov r12, qword [rsp + 0x80]
jbe 0x140058690
mov r8, qword [rcx]
xor r8, qword [rdx]
je 0x140058200
tzcnt rbp, r8
shr ebp, 3
mov r14, qword [rsp + 0x90]
jmp 0x1400582cd
mov rsi, r15
mov rcx, qword [rsp + 0xa0]
sub rcx, r14
add rcx, r9
mov rdx, qword [rsp + 0xb0]
cmp rcx, rdx
cmova rcx, rdx
mov r15, r9
lea rdx, [r9 + 4]
lea r8, [r14 + 4]
lea r9, [rcx - 7]
cmp r9, rdx
mov r12, qword [rsp + 0x80]
jbe 0x14005869e
mov r10, qword [rdx]
xor r10, qword [r8]
je 0x1400582db
tzcnt rbp, r10
shr ebp, 3
jmp 0x140058357
mov r11, r12
mov r12, rsi
lea rbp, [r9 + 0xc]
add r14, 0xc
mov rdx, r14
mov rsi, r15
cmp rbp, r10
jae 0x1400586af
mov r8d, ebp
mov r15, r9
sub r8d, r9d
add r8d, 0xfffffffc
mov r14, qword [rsp + 0x90]
nop word cs:[rax + rax]
nop dword [rax]
mov r9, qword [rbp]
xor r9, qword [rdx]
jne 0x1400582b0
add rbp, 8
add rdx, 8
add r8d, 8
cmp rbp, r10
jb 0x140058240
cmp rbp, qword [rsp + 0xd0]
jae 0x140058275
mov r8d, dword [rdx]
cmp r8d, dword [rbp]
jne 0x140058275
add rbp, 4
add rdx, 4
cmp rbp, qword [rsp + 0xe0]
jae 0x140058618
movzx r8d, word [rdx]
cmp r8w, word [rbp]
mov r9, r15
jne 0x14005861b
add rbp, 2
add rdx, 2
jmp 0x14005861b
tzcnt rbp, r9
shr rbp, 3
add ebp, r8d
mov r9, r15
mov r15, rsi
mov rsi, r12
mov r12, r11
mov r11d, dword [rsp + 0x50]
mov ecx, ebp
add r9, rcx
add r9, 4
jmp 0x140058490
lea rbp, [r15 + 0xc]
lea r8, [r14 + 0xc]
cmp rbp, r9
jae 0x14005831a
mov r10d, ebp
sub r10d, r15d
add r10d, 0xfffffffc
nop word cs:[rax + rax]
nop dword [rax]
mov r11, qword [rbp]
xor r11, qword [r8]
jne 0x140058346
add rbp, 8
add r8, 8
add r10d, 8
cmp rbp, r9
jb 0x140058300
lea r9, [rcx - 3]
cmp rbp, r9
jae 0x140058645
mov r9d, dword [r8]
cmp r9d, dword [rbp]
mov r10, qword [rsp + 0x20]
jne 0x14005864a
add rbp, 4
add r8, 4
jmp 0x14005864a
tzcnt rbp, r11
shr rbp, 3
add ebp, r10d
mov r11d, dword [rsp + 0x50]
mov r10, qword [rsp + 0x20]
mov edx, ebp
lea r9, [rdx + r15]
add r9, 4
cmp r9, rcx
je 0x140058380
mov r14, qword [rsp + 0x90]
mov r15, rsi
mov rsi, qword [rsp + 0x68]
jmp 0x140058490
mov r8, rbx
mov rdx, rcx
cmp r10, rcx
jbe 0x1400583bc
mov rdx, qword [rcx]
xor rdx, qword [rbx]
je 0x1400583b0
tzcnt rdx, rdx
shr edx, 3
mov r14, qword [rsp + 0x90]
mov r15, rsi
mov rsi, qword [rsp + 0x68]
jmp 0x140058484
lea rdx, [rcx + 8]
mov r8, qword [rsp + 0xc8]
cmp rdx, r10
jae 0x1400586cd
add r15, qword [rsp + 0xa0]
sub r15, r14
mov r9, qword [rsp + 0xb0]
cmp r15, r9
cmovae r15, r9
mov r9d, edx
sub r9d, r15d
mov r14, qword [rsp + 0x90]
mov r15, rsi
mov rsi, qword [rsp + 0x68]
nop word cs:[rax + rax]
nop
mov r10, qword [rdx]
xor r10, qword [r8]
jne 0x140058473
add rdx, 8
add r8, 8
add r9d, 8
mov r10, qword [rsp + 0x20]
cmp rdx, r10
jb 0x140058400
cmp rdx, qword [rsp + 0xd0]
jae 0x140058438
mov r9d, dword [r8]
cmp r9d, dword [rdx]
jne 0x140058438
add rdx, 4
add r8, 4
cmp rdx, qword [rsp + 0xe0]
jae 0x140058454
movzx r9d, word [r8]
cmp r9w, word [rdx]
jne 0x140058454
add rdx, 2
add r8, 2
cmp rdx, qword [rsp + 0xb0]
jae 0x14005846f
movzx r8d, byte [r8]
xor r9d, r9d
cmp r8b, byte [rdx]
sete r9b
add rdx, r9
sub edx, ecx
jmp 0x140058484
tzcnt rdx, r10
shr rdx, 3
add edx, r9d
mov r10, qword [rsp + 0x20]
add ebp, edx
mov edx, edx
add rcx, rdx
mov r9, rcx
nop
lea ecx, [rbp + 0xf0]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add rcx, r15
add rcx, 8
cmp rcx, rsi
ja 0x14005a610
lea r8, [r15 + 2]
movzx ecx, byte [rax]
cmp ebp, 0xf
jb 0x140058570
add cl, 0xf
mov byte [rax], cl
lea eax, [rbp - 0xf]
mov dword [r8], 0xffffffff
cmp eax, 0x3fc
jb 0x14005854a
lea rcx, [r15 + 6]
add ebp, 0xfffffbf5
mov rsi, rbp
mov eax, 0x80808081
imul rsi, rax
shr rsi, 0x29
mov edi, esi
lea r8, [rdi*4 + 4]
mov dl, 0xff
mov r12, rbx
mov rbx, r14
mov r14, r15
mov r15, r9
call fcn.1400175c0
mov r9, r15
mov r10, qword [rsp + 0x20]
mov r11d, dword [rsp + 0x50]
imul eax, esi, 0x3fc
mov rsi, qword [rsp + 0x68]
sub ebp, eax
lea r8, [r14 + rdi*4]
add r8, 6
mov r14, rbx
mov rbx, r12
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov eax, ebp
movzx ecx, ax
imul ecx, ecx, 0x8081
shr ecx, 0x17
mov edx, ecx
add edx, eax
mov byte [r8 + rcx], dl
add r8, rcx
add r8, 1
jmp 0x140058575
add cl, bpl
mov byte [rax], cl
cmp r9, qword [rsp + 0x60]
jae 0x140059ac2
lea rax, [r9 - 2]
mov rcx, qword [r9 - 2]
movabs rdx, 0xcf1bbcdcbb000000
imul rcx, rdx
sub eax, r12d
shr rcx, 0x34
mov dword [r13 + rcx*4], eax
mov rcx, qword [r9]
imul rcx, rdx
shr rcx, 0x34
mov eax, dword [r13 + rcx*4]
mov ebp, r9d
sub ebp, r12d
cmp eax, edi
jae 0x1400585e0
mov rax, qword [rsp + 0x28]
mov r14d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x70]
add eax, r14d
add r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x58]
jmp 0x1400585e7
lea r14, [r12 + rax]
mov r12, rbx
mov dword [r13 + rcx*4], ebp
lea ecx, [rax + 0xffff]
cmp ecx, ebp
jb 0x140057dc0
mov ecx, dword [r14]
cmp ecx, dword [r9]
jne 0x140057dc0
lea r15, [r8 + 1]
mov byte [r8], 0
sub ebp, eax
mov rax, r8
jmp 0x140058150
mov r9, r15
mov r15, rsi
cmp rbp, qword [rsp + 0xb0]
mov rsi, r12
jae 0x14005863b
movzx edx, byte [rdx]
xor r8d, r8d
cmp dl, byte [rbp]
sete r8b
add rbp, r8
mov r12, r11
sub ebp, ecx
jmp 0x1400582c8
mov r10, qword [rsp + 0x20]
lea r9, [rcx - 1]
cmp rbp, r9
jae 0x14005866d
movzx r9d, word [r8]
cmp r9w, word [rbp]
mov r11d, dword [rsp + 0x50]
jne 0x140058672
add rbp, 2
add r8, 2
jmp 0x140058672
mov r11d, dword [rsp + 0x50]
cmp rbp, rcx
jae 0x140058689
movzx r8d, byte [r8]
xor r9d, r9d
cmp r8b, byte [rbp]
sete r9b
add rbp, r9
sub ebp, edx
jmp 0x14005835c
mov r11, r12
mov r12, rsi
mov rbp, rcx
jmp 0x140058211
mov rbp, rdx
cmp rbp, r9
jb 0x1400582e8
jmp 0x14005831a
mov r15, r9
mov r14, qword [rsp + 0x90]
cmp rbp, qword [rsp + 0xd0]
jb 0x140058264
jmp 0x140058275
mov r14, qword [rsp + 0x90]
mov r15, rsi
mov rsi, qword [rsp + 0x68]
cmp rdx, qword [rsp + 0xd0]
jb 0x140058428
jmp 0x140058438
lea rcx, [r9 + 1]
mov rbp, rcx
mov rsi, qword [rsp + 0x60]
sub rbp, rsi
mov r10, r9
add r9, 2
cmp r9, qword [rsp + 0x80]
mov r15d, dword [rsp + 0x68]
mov eax, dword [rsp + 0xd8]
ja 0x14005a4a2
mov qword [rsp + 0x28], r10
mov r8, qword [r10 + 1]
mov r10d, dword [rsp + 0x44]
mov edx, eax
jmp 0x140058765
mov rbp, rcx
sub rbp, rsi
mov r9d, r10d
add r9, rcx
lea eax, [rdx + 1]
shr edx, 6
mov r10d, edx
mov edx, eax
cmp r9, qword [rsp + 0x80]
ja 0x14005a5fc
mov rax, rcx
mov rcx, r9
movabs r9, 0xcf1bbcdcbb000000
imul r8, r9
mov r9, r8
shr r9, 0x34
mov r11d, dword [r13 + r9*4]
mov r8, qword [rcx]
mov dword [r13 + r9*4], ebp
cmp r11d, r15d
jb 0x140058740
lea r9d, [r11 + 0xffff]
cmp r9d, ebp
jb 0x140058740
cmp r11d, edi
mov r9, rsi
cmovb r9, qword [rsp + 0x58]
mov esi, dword [r9 + r11]
cmp esi, dword [rax]
mov rsi, qword [rsp + 0x60]
jne 0x140058740
mov qword [rsp + 0xa8], r12
add r9, r11
cmp r11d, edi
mov rsi, rbx
cmovb rsi, qword [rsp + 0x38]
sub ebp, r11d
mov ecx, eax
mov rdx, qword [rsp + 0x28]
sub ecx, edx
lea r10d, [rcx - 0xf]
lea r8d, [rcx - 0x10e]
mov dword [rsp + 0xb8], r8d
mov r11d, eax
shl r11b, 4
shl dl, 4
sub r11b, dl
xor r14d, r14d
mov dword [rsp + 0xc0], r10d
mov edx, r10d
nop dword [rax + rax]
mov r8d, edx
mov rdi, r14
mov r10d, r11d
mov ebx, ecx
lea r15, [r9 + r14]
lea r12, [rax + r14]
cmp r15, rsi
jbe 0x14005884b
cmp r12, qword [rsp + 0x28]
jbe 0x14005884b
movzx r13d, byte [rax + rdi - 1]
lea edx, [r8 - 1]
lea r14, [rdi - 1]
lea r11d, [r10 - 0x10]
lea ecx, [rbx - 1]
cmp r13b, byte [r9 + rdi - 1]
je 0x140058810
mov ecx, eax
mov rdx, qword [rsp + 0x28]
sub ecx, edx
add ecx, edi
sub eax, edx
lea r9, [rax + rdi]
mov qword [rsp + 0x30], rcx
mov r13, qword [rsp + 0xa8]
add rcx, r13
mov edx, r9d
mov r11d, 0x80808081
imul rdx, r11
shr rdx, 0x27
add rcx, rdx
add rcx, 9
cmp rcx, qword [rsp + 0x70]
ja 0x14005a631
lea rcx, [r13 + 1]
cmp r9d, 0xf
mov r14, qword [rsp + 0x90]
jb 0x140058941
mov edx, dword [rsp + 0xc0]
add rdx, rdi
mov byte [r13], 0xf0
cmp edx, 0xfe
jle 0x140058927
cmp r8d, 0x1fd
mov edx, 0x1fd
cmovge r8d, edx
sub eax, r8d
lea r14d, [rax + rdi]
add r14d, 0xef
mov r8, r14
mov eax, 0x80808081
imul r8, rax
shr r8, 0x27
add r8d, 1
mov dl, 0xff
call fcn.1400175c0
mov eax, r14d
mov r14, qword [rsp + 0x90]
mov ecx, 0x80808081
imul rax, rcx
shr rax, 0x27
lea rcx, [rax + r13]
add rcx, 2
mov edx, eax
shl edx, 8
sub eax, edx
mov edx, dword [rsp + 0xb8]
add edx, edi
add edx, eax
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x30]
mov byte [rcx], dl
add rcx, 1
jmp 0x140058957
mov byte [r13], r10b
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x30]
add r10, rcx
lea r11, [rcx + 8]
cmp r10, r11
mov r8, r11
cmova r8, r10
mov r9, rcx
not r9
add r8, r9
cmp r8, 0x38
jb 0x140058a21
mov qword [rsp + 0x30], r10
mov rax, rcx
mov r10, qword [rsp + 0x28]
sub rax, r10
cmp rax, 0x20
jb 0x140058a30
shr r8, 3
add r8, 1
mov rdx, r8
and rdx, 0xfffffffffffffffc
lea rax, [r10 + rdx*8]
mov qword [rsp + 0xc0], rdx
lea rdx, [rcx + rdx*8]
mov edi, ebx
add rdi, rcx
cmp rdi, r11
cmovbe rdi, r11
add r9, rdi
shr r9, 3
add r9, 1
and r9, 0xfffffffffffffffc
xor r11d, r11d
nop word cs:[rax + rax]
nop dword [rax]
movdqu xmm0, xmmword [r10 + r11*8]
movdqu xmm1, xmmword [r10 + r11*8 + 0x10]
movdqu xmmword [rcx + r11*8], xmm0
movdqu xmmword [rcx + r11*8 + 0x10], xmm1
add r11, 4
cmp r9, r11
jne 0x1400589e0
cmp r8, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x30]
jne 0x140058a40
jmp 0x140058a53
mov rax, qword [rsp + 0x28]
mov rdx, rcx
mov rbx, qword [rsp + 0x48]
jmp 0x140058a40
mov rax, r10
mov rdx, rcx
mov rbx, qword [rsp + 0x48]
mov r10, qword [rsp + 0x30]
mov rcx, qword [rax]
mov qword [rdx], rcx
add rdx, 8
add rax, 8
cmp rdx, r10
jb 0x140058a40
mov r9, r12
mov rax, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x38]
nop word cs:[rax + rax]
nop dword [rax]
mov word [r10], bp
cmp rsi, r11
je 0x140058aa6
lea rcx, [r9 + 4]
lea rdx, [r15 + 4]
cmp qword [rsp + 0x20], rcx
mov rsi, qword [rsp + 0x60]
jbe 0x140058ec6
mov r8, qword [rcx]
xor r8, qword [rdx]
je 0x140058afb
tzcnt rbp, r8
shr ebp, 3
jmp 0x140058b87
mov qword [rsp + 0x30], r10
mov rcx, qword [rsp + 0x50]
sub rcx, r15
add rcx, r9
mov rdx, qword [rsp + 0xa0]
cmp rcx, rdx
cmova rcx, rdx
mov r12, r9
lea rdx, [r9 + 4]
lea r8, [r15 + 4]
lea r9, [rcx - 7]
cmp r9, rdx
mov rsi, qword [rsp + 0x60]
jbe 0x140058ed1
mov r10, qword [rdx]
xor r10, qword [r8]
je 0x140058b95
tzcnt rbp, r10
shr ebp, 3
jmp 0x140058c07
mov r12, r10
lea rbp, [r9 + 0xc]
add r15, 0xc
mov rdx, r15
mov r10, qword [rsp + 0x20]
cmp rbp, r10
jae 0x140058ee2
mov r8d, ebp
mov r15, r9
sub r8d, r9d
add r8d, 0xfffffffc
nop word cs:[rax + rax]
nop
mov r9, qword [rbp]
xor r9, qword [rdx]
jne 0x140058b75
add rbp, 8
add rdx, 8
add r8d, 8
cmp rbp, r10
jb 0x140058b30
cmp rbp, qword [rsp + 0xd0]
jae 0x140058ef3
mov r8d, dword [rdx]
cmp r8d, dword [rbp]
mov r10, r12
jne 0x140058ef6
add rbp, 4
add rdx, 4
jmp 0x140058ef6
tzcnt rbp, r9
shr rbp, 3
add ebp, r8d
mov r9, r15
mov r10, r12
mov ecx, ebp
add r9, rcx
add r9, 4
jmp 0x140058d10
lea rbp, [r12 + 0xc]
lea r8, [r15 + 0xc]
cmp rbp, r9
jae 0x140058bca
mov r10d, ebp
sub r10d, r12d
add r10d, 0xfffffffc
nop dword [rax]
mov r11, qword [rbp]
xor r11, qword [r8]
jne 0x140058bf6
add rbp, 8
add r8, 8
add r10d, 8
cmp rbp, r9
jb 0x140058bb0
lea r9, [rcx - 3]
cmp rbp, r9
jae 0x140058e7b
mov r9d, dword [r8]
cmp r9d, dword [rbp]
mov r10, qword [rsp + 0x30]
jne 0x140058e80
add rbp, 4
add r8, 4
jmp 0x140058e80
tzcnt rbp, r11
shr rbp, 3
add ebp, r10d
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
mov edx, ebp
add rdx, r12
add rdx, 4
cmp rdx, rcx
je 0x140058c22
mov r9, rdx
jmp 0x140058d10
mov r8, rbx
mov rdx, rcx
cmp qword [rsp + 0x20], rcx
jbe 0x140058c50
mov rdx, qword [rcx]
xor rdx, qword [rbx]
je 0x140058c44
tzcnt rdx, rdx
shr edx, 3
jmp 0x140058d04
lea rdx, [rcx + 8]
mov r8, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0x20]
jae 0x140058c99
add r12, qword [rsp + 0x50]
sub r12, r15
mov r9, qword [rsp + 0xa0]
cmp r12, r9
cmovae r12, r9
mov r9d, edx
sub r9d, r12d
mov r15, qword [rsp + 0x20]
nop dword [rax]
mov r10, qword [rdx]
xor r10, qword [r8]
jne 0x140058cf3
add rdx, 8
add r8, 8
add r9d, 8
cmp rdx, r15
jb 0x140058c80
cmp rdx, qword [rsp + 0xd0]
jae 0x140058cb3
mov r9d, dword [r8]
cmp r9d, dword [rdx]
jne 0x140058cb3
add rdx, 4
add r8, 4
cmp rdx, qword [rsp + 0xe0]
mov r10, qword [rsp + 0x30]
jae 0x140058cd4
movzx r9d, word [r8]
cmp r9w, word [rdx]
jne 0x140058cd4
add rdx, 2
add r8, 2
cmp rdx, qword [rsp + 0xa0]
jae 0x140058cef
movzx r8d, byte [r8]
xor r9d, r9d
cmp r8b, byte [rdx]
sete r9b
add rdx, r9
sub edx, ecx
jmp 0x140058d04
tzcnt rdx, r10
shr rdx, 3
add edx, r9d
mov r10, qword [rsp + 0x30]
add ebp, edx
mov edx, edx
add rcx, rdx
mov r9, rcx
nop
lea ecx, [rbp + 0xf0]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add rcx, r10
add rcx, 8
cmp rcx, qword [rsp + 0x70]
ja 0x14005a610
lea r12, [r10 + 2]
movzx ecx, byte [rax]
cmp ebp, 0xf
jb 0x140058de0
add cl, 0xf
mov byte [rax], cl
lea eax, [rbp - 0xf]
mov dword [r12], 0xffffffff
cmp eax, 0x3fc
jb 0x140058db4
lea rcx, [r10 + 6]
add ebp, 0xfffffbf5
mov rsi, rbp
mov eax, 0x80808081
imul rsi, rax
shr rsi, 0x29
mov edi, esi
lea r8, [rdi*4 + 4]
mov dl, 0xff
mov r15, r9
mov r12, r10
call fcn.1400175c0
mov r9, r15
mov r11, qword [rsp + 0x38]
imul eax, esi, 0x3fc
mov rsi, qword [rsp + 0x60]
sub ebp, eax
lea r12, [r12 + rdi*4]
add r12, 6
mov rdi, qword [rsp + 0x88]
mov eax, ebp
movzx ecx, ax
imul ecx, ecx, 0x8081
shr ecx, 0x17
mov edx, ecx
add edx, eax
mov byte [r12 + rcx], dl
add r12, rcx
add r12, 1
jmp 0x140058de5
add cl, bpl
mov byte [rax], cl
cmp r9, qword [rsp + 0x80]
jae 0x14005a49f
lea rax, [r9 - 2]
mov rcx, qword [r9 - 2]
movabs rdx, 0xcf1bbcdcbb000000
imul rcx, rdx
sub eax, esi
shr rcx, 0x34
mov dword [r13 + rcx*4], eax
mov rcx, qword [r9]
imul rcx, rdx
shr rcx, 0x34
mov eax, dword [r13 + rcx*4]
mov ebp, r9d
sub ebp, esi
cmp eax, edi
mov r15, rsi
cmovb r15, qword [rsp + 0x58]
mov rsi, rbx
cmovb rsi, r11
mov dword [r13 + rcx*4], ebp
cmp eax, dword [rsp + 0x68]
jb 0x1400586f0
lea ecx, [rax + 0xffff]
cmp ecx, ebp
jb 0x1400586f0
add r15, rax
mov ecx, dword [r15]
cmp ecx, dword [r9]
jne 0x1400586f0
lea r10, [r12 + 1]
mov byte [r12], 0
sub ebp, eax
mov rax, r12
jmp 0x140058a70
mov r10, qword [rsp + 0x30]
lea r9, [rcx - 1]
cmp rbp, r9
jae 0x140058ea3
movzx r9d, word [r8]
cmp r9w, word [rbp]
mov r11, qword [rsp + 0x38]
jne 0x140058ea8
add rbp, 2
add r8, 2
jmp 0x140058ea8
mov r11, qword [rsp + 0x38]
cmp rbp, rcx
jae 0x140058ebf
movzx r8d, byte [r8]
xor r9d, r9d
cmp r8b, byte [rbp]
sete r9b
add rbp, r9
sub ebp, edx
jmp 0x140058c0c
mov r12, r10
mov rbp, rcx
jmp 0x140058b09
mov rbp, rdx
cmp rbp, r9
jb 0x140058ba3
jmp 0x140058bca
mov r15, r9
cmp rbp, qword [rsp + 0xd0]
jb 0x140058b58
mov r10, r12
cmp rbp, qword [rsp + 0xe0]
jae 0x140058f18
movzx r8d, word [rdx]
cmp r8w, word [rbp]
mov r9, r15
jne 0x140058f1b
add rbp, 2
add rdx, 2
jmp 0x140058f1b
mov r9, r15
cmp rbp, qword [rsp + 0xa0]
jae 0x140058f35
movzx edx, byte [rdx]
xor r8d, r8d
cmp dl, byte [rbp]
sete r8b
add rbp, r8
sub ebp, ecx
jmp 0x140058b87
mov r8d, r12d
mov ecx, edi
mov r12, rbx
sub r12, rcx
mov eax, r10d
mov rcx, qword [rsp + 0x20]
lea rdx, [rbx + rcx]
add rdx, 0xfffffffffffffff5
mov qword [rsp + 0x80], rdx
add rcx, rbx
add rcx, 0xfffffffffffffffb
mov rdx, rbx
sub rdx, rax
mov qword [rsp + 0x58], rdx
movabs rdx, 0xcf1bbcdcbb000000
mov rax, qword [rbx]
imul rax, rdx
shr rax, 0x32
and eax, 0xfffffffc
mov dword [r13 + rax], edi
mov eax, r8d
shl eax, 6
lea rbp, [rcx - 7]
lea rdx, [rcx - 3]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x68], rcx
add rcx, 0xffffffffffffffff
mov qword [rsp + 0xa0], rcx
or eax, 1
lea rcx, [rbx + 2]
lea rdx, [rbx + 1]
mov r15, rbx
mov r9, qword [rsp + 0x98]
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x44], r8d
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x88], eax
jmp 0x14005900c
lea rdx, [r15 + 1]
lea rcx, [r15 + 2]
cmp rcx, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x60]
mov eax, dword [rsp + 0x88]
ja 0x140056f89
mov qword [rsp + 0x70], r9
mov r9, qword [r15 + 1]
mov r10d, r8d
mov r8d, eax
mov r14d, dword [rsp + 0x28]
jmp 0x140059052
mov ecx, r10d
add rcx, rdx
lea eax, [r8 + 1]
shr r8d, 6
mov r10d, r8d
mov r8d, eax
cmp rcx, qword [rsp + 0x80]
ja 0x14005a5de
mov rax, rdx
mov rdx, rcx
movabs rcx, 0xcf1bbcdcbb000000
imul r9, rcx
mov rsi, r9
shr rsi, 0x34
mov ecx, dword [r13 + rsi*4]
mov r11d, eax
sub r11d, r12d
mov r9, qword [rdx]
mov dword [r13 + rsi*4], r11d
cmp ecx, r14d
jb 0x140059030
lea esi, [rcx + 0xffff]
cmp esi, r11d
jb 0x140059030
mov r11d, dword [r12 + rcx]
cmp r11d, dword [rax]
jne 0x140059030
add rcx, r12
mov r10d, eax
sub r10d, r15d
lea r8d, [r10 - 0xf]
lea edx, [r10 - 0x10e]
mov dword [rsp + 0x30], edx
mov r11d, eax
shl r11b, 4
mov edx, r15d
shl dl, 4
sub r11b, dl
xor esi, esi
mov dword [rsp + 0x90], r8d
mov edx, r8d
nop
mov r8d, edx
mov rbx, rsi
mov r9d, r11d
mov edi, r10d
lea r12, [rcx + rsi]
lea r14, [rax + rsi]
cmp r12, qword [rsp + 0x58]
jbe 0x14005910d
cmp r14, r15
jbe 0x14005910d
movzx r13d, byte [rax + rbx - 1]
lea edx, [r8 - 1]
lea rsi, [rbx - 1]
lea r11d, [r9 - 0x10]
lea r10d, [rdi - 1]
cmp r13b, byte [rcx + rbx - 1]
je 0x1400590d0
mov ecx, eax
sub ecx, r15d
lea esi, [rbx + rcx]
sub eax, r15d
lea r10, [rax + rbx]
mov r13, qword [rsp + 0x70]
lea rcx, [rsi + r13]
mov edx, r10d
mov r11d, 0x80808081
imul rdx, r11
shr rdx, 0x27
add rcx, rdx
add rcx, 9
cmp rcx, qword [rsp + 0x38]
ja 0x14005a614
lea rcx, [r13 + 1]
cmp r10d, 0xf
jb 0x1400591e3
mov edx, dword [rsp + 0x90]
add rdx, rbx
mov byte [r13], 0xf0
cmp edx, 0xfe
jle 0x1400591d1
cmp r8d, 0x1fd
mov edx, 0x1fd
cmovge r8d, edx
sub eax, r8d
lea r13d, [rax + rbx]
add r13d, 0xef
mov r8, r13
mov eax, 0x80808081
imul r8, rax
shr r8, 0x27
add r8d, 1
mov dl, 0xff
call fcn.1400175c0
mov eax, r13d
mov ecx, 0x80808081
imul rax, rcx
shr rax, 0x27
mov rcx, qword [rsp + 0x70]
add rcx, rax
add rcx, 2
mov edx, eax
shl edx, 8
sub eax, edx
mov edx, dword [rsp + 0x30]
add edx, ebx
add edx, eax
mov rbx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x78]
mov byte [rcx], dl
add rcx, 1
jmp 0x1400591f1
mov byte [r13], r9b
mov rbx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x78]
add rsi, rcx
lea r11, [rcx + 8]
cmp rsi, r11
mov r8, r11
cmova r8, rsi
mov r9, rcx
not r9
add r8, r9
cmp r8, 0x38
jb 0x14005928a
mov rax, rcx
sub rax, r15
cmp rax, 0x20
jb 0x14005928a
shr r8, 3
add r8, 1
mov r10, r8
and r10, 0xfffffffffffffffc
lea rax, [r15 + r10*8]
lea rdx, [rcx + r10*8]
mov edi, edi
add rdi, rcx
cmp rdi, r11
cmovbe rdi, r11
add r9, rdi
shr r9, 3
add r9, 1
and r9, 0xfffffffffffffffc
xor r11d, r11d
nop word cs:[rax + rax]
nop dword [rax]
movdqu xmm0, xmmword [r15 + r11*8]
movdqu xmm1, xmmword [r15 + r11*8 + 0x10]
movdqu xmmword [rcx + r11*8], xmm0
movdqu xmmword [rcx + r11*8 + 0x10], xmm1
add r11, 4
cmp r9, r11
jne 0x140059260
cmp r8, r10
jne 0x140059290
jmp 0x1400592a3
mov rax, r15
mov rdx, rcx
mov rcx, qword [rax]
mov qword [rdx], rcx
add rdx, 8
add rax, 8
cmp rdx, rsi
jb 0x140059290
mov r15, r14
mov rax, qword [rsp + 0x70]
mov r11, qword [rsp + 0x38]
mov ecx, r15d
sub ecx, r12d
mov word [rsi], cx
lea rcx, [r15 + 4]
lea rdx, [r12 + 4]
cmp rbp, rcx
jbe 0x1400594f7
mov r8, qword [rcx]
xor r8, qword [rdx]
je 0x1400592f0
tzcnt r14, r8
shr r14d, 3
mov r10, qword [rsp + 0x60]
jmp 0x14005939c
lea r14, [r15 + 0xc]
add r12, 0xc
mov rdx, r12
cmp r14, rbp
jae 0x140059503
mov r8d, r14d
sub r8d, r15d
add r8d, 0xfffffffc
mov r10, qword [rsp + 0x60]
nop word cs:[rax + rax]
nop dword [rax]
mov r9, qword [r14]
xor r9, qword [rdx]
jne 0x140059390
add r14, 8
add rdx, 8
add r8d, 8
cmp r14, rbp
jb 0x140059320
cmp r14, qword [rsp + 0x50]
jae 0x140059350
mov r8d, dword [rdx]
cmp r8d, dword [r14]
jne 0x140059350
add r14, 4
add rdx, 4
cmp r14, qword [rsp + 0xa0]
jae 0x14005936c
movzx r8d, word [rdx]
cmp r8w, word [r14]
jne 0x14005936c
add r14, 2
add rdx, 2
cmp r14, qword [rsp + 0x68]
jae 0x140059383
movzx edx, byte [rdx]
xor r8d, r8d
cmp dl, byte [r14]
sete r8b
add r14, r8
sub r14d, ecx
jmp 0x14005939c
tzcnt r14, r9
shr r14, 3
add r14d, r8d
lea ecx, [r14 + 0xf0]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add rcx, rsi
add rcx, 8
cmp rcx, r11
ja 0x14005a614
lea r9, [rsi + 2]
movzx ecx, byte [rax]
cmp r14d, 0xf
jb 0x140059460
add cl, 0xf
mov byte [rax], cl
lea edi, [r14 - 0xf]
mov dword [r9], 0xffffffff
cmp edi, 0x3fc
jb 0x140059435
lea rcx, [rsi + 6]
lea edi, [r14 - 0x40b]
mov rbx, rdi
mov eax, 0x80808081
imul rbx, rax
shr rbx, 0x29
mov r12d, ebx
lea r8, [r12*4 + 4]
mov dl, 0xff
call fcn.1400175c0
mov r11, qword [rsp + 0x38]
imul eax, ebx, 0x3fc
mov rbx, qword [rsp + 0x48]
sub edi, eax
lea r9, [rsi + r12*4]
add r9, 6
mov r10, qword [rsp + 0x60]
movzx eax, di
imul eax, eax, 0x8081
shr eax, 0x17
mov ecx, eax
add ecx, edi
mov byte [r9 + rax], cl
add r9, rax
add r9, 1
jmp 0x140059465
add cl, r14b
mov byte [rax], cl
mov eax, r14d
add r15, rax
add r15, 4
cmp r15, qword [rsp + 0x80]
jae 0x140056f89
lea rax, [r15 - 2]
mov rcx, qword [r15 - 2]
movabs rdx, 0xcf1bbcdcbb000000
imul rcx, rdx
sub eax, r10d
shr rcx, 0x34
mov dword [r13 + rcx*4], eax
mov rcx, qword [r15]
imul rcx, rdx
shr rcx, 0x34
mov r12d, dword [r13 + rcx*4]
mov eax, r15d
sub eax, r10d
mov dword [r13 + rcx*4], eax
cmp r12d, dword [rsp + 0x28]
jb 0x140058fe5
lea ecx, [r12 + 0xffff]
cmp ecx, eax
jb 0x140058fe5
add r12, qword [rsp + 0x60]
mov eax, dword [r12]
cmp eax, dword [r15]
jne 0x140058fe5
lea rsi, [r9 + 1]
mov byte [r9], 0
mov rax, r9
jmp 0x1400592b0
mov r14, rcx
cmp r14, rbp
jb 0x140059304
mov r10, qword [rsp + 0x60]
cmp r14, qword [rsp + 0x50]
jb 0x140059340
jmp 0x140059350
mov ecx, edi
mov rdx, rbx
sub rdx, rcx
mov eax, r10d
mov rcx, qword [rsp + 0x70]
lea r14, [rbx + rcx]
add r14, 0xfffffffffffffff5
add rcx, rbx
add rcx, 0xfffffffffffffffb
mov r8, rbx
sub r8, rax
mov qword [rsp + 0x80], r8
movabs r8, 0xcf1bbcdcbb000000
mov rax, qword [rbx]
imul rax, r8
shr rax, 0x32
and eax, 0xfffffffc
mov dword [r13 + rax], edi
mov rdi, rdx
mov edx, r12d
shl edx, 6
lea rbp, [rcx - 7]
lea rax, [rcx - 3]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x88], rcx
lea rax, [rcx - 1]
mov qword [rsp + 0x50], rax
or edx, 1
lea rcx, [rbx + 2]
lea rax, [rbx + 1]
mov r15, rbx
mov r9, qword [rsp + 0x98]
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x44], r12d
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x30], edx
jmp 0x1400595d3
lea rax, [r15 + 1]
lea rcx, [r15 + 2]
cmp rcx, r14
mov edx, dword [rsp + 0x30]
ja 0x1400572e5
mov qword [rsp + 0x38], r9
mov r8, qword [r15 + 1]
mov r9d, r12d
jmp 0x14005960d
mov ecx, r9d
add rcx, r10
lea eax, [rdx + 1]
shr edx, 6
mov r9d, edx
mov edx, eax
mov rax, r10
cmp rcx, r14
ja 0x14005a5ed
mov r10, rcx
movabs rcx, 0xcf1bbcdcbb000000
imul r8, rcx
mov r11, r8
shr r11, 0x34
mov ecx, dword [r13 + r11*4]
mov esi, eax
sub esi, edi
mov r8, qword [r10]
mov dword [r13 + r11*4], esi
lea r11d, [rcx + 0xffff]
cmp r11d, esi
jb 0x1400595f0
mov r11d, dword [rdi + rcx]
cmp r11d, dword [rax]
jne 0x1400595f0
add rcx, rdi
mov r10d, eax
sub r10d, r15d
lea r8d, [r10 - 0xf]
lea edx, [r10 - 0x10e]
mov dword [rsp + 0x90], edx
mov r11d, eax
shl r11b, 4
mov edx, r15d
shl dl, 4
sub r11b, dl
xor r14d, r14d
mov dword [rsp + 0x20], r8d
mov edx, r8d
nop word cs:[rax + rax]
nop dword [rax + rax]
mov r8d, edx
mov rbx, r14
mov r9d, r11d
mov edi, r10d
lea rsi, [rcx + r14]
lea r13, [rax + r14]
cmp rsi, qword [rsp + 0x80]
jbe 0x1400596d0
cmp r13, r15
jbe 0x1400596d0
movzx r12d, byte [rax + rbx - 1]
lea edx, [r8 - 1]
lea r14, [rbx - 1]
lea r11d, [r9 - 0x10]
lea r10d, [rdi - 1]
cmp r12b, byte [rcx + rbx - 1]
je 0x140059690
mov ecx, eax
sub ecx, r15d
lea r14d, [rbx + rcx]
sub eax, r15d
lea r10, [rax + rbx]
mov r12, qword [rsp + 0x38]
lea rcx, [r12 + r14]
mov edx, r10d
mov r11d, 0x80808081
imul rdx, r11
shr rdx, 0x27
add rcx, rdx
add rcx, 9
cmp rcx, qword [rsp + 0x58]
ja 0x14005a614
lea rcx, [r12 + 1]
cmp r10d, 0xf
jb 0x1400597aa
mov edx, dword [rsp + 0x20]
add rdx, rbx
mov byte [r12], 0xf0
cmp edx, 0xfe
mov r10d, 0x80808081
jle 0x140059798
cmp r8d, 0x1fd
mov edx, 0x1fd
cmovge r8d, edx
sub eax, r8d
lea r12d, [rax + rbx]
add r12d, 0xef
mov r8, r12
imul r8, r10
shr r8, 0x27
add r8d, 1
mov dl, 0xff
call fcn.1400175c0
mov r10d, 0x80808081
mov eax, r12d
imul rax, r10
shr rax, 0x27
mov rcx, qword [rsp + 0x38]
add rcx, rax
add rcx, 2
mov edx, eax
shl edx, 8
sub eax, edx
mov edx, dword [rsp + 0x90]
add edx, ebx
add edx, eax
mov rbx, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x44]
mov byte [rcx], dl
add rcx, 1
jmp 0x1400597be
mov byte [r12], r9b
mov rbx, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x44]
mov r10d, 0x80808081
add r14, rcx
lea r11, [rcx + 8]
cmp r14, r11
mov r8, r11
cmova r8, r14
mov r9, rcx
not r9
add r8, r9
cmp r8, 0x38
jb 0x140059855
mov rax, rcx
sub rax, r15
cmp rax, 0x20
jb 0x140059855
shr r8, 3
add r8, 1
mov r10, r8
and r10, 0xfffffffffffffffc
lea rax, [r15 + r10*8]
lea rdx, [rcx + r10*8]
mov edi, edi
add rdi, rcx
cmp rdi, r11
cmovbe rdi, r11
add r9, rdi
shr r9, 3
add r9, 1
and r9, 0xfffffffffffffffc
xor r11d, r11d
nop
movdqu xmm0, xmmword [r15 + r11*8]
movdqu xmm1, xmmword [r15 + r11*8 + 0x10]
movdqu xmmword [rcx + r11*8], xmm0
movdqu xmmword [rcx + r11*8 + 0x10], xmm1
add r11, 4
cmp r9, r11
jne 0x140059820
cmp r8, r10
mov rdi, qword [rsp + 0x28]
mov r10d, 0x80808081
jne 0x140059860
jmp 0x140059873
mov rax, r15
mov rdx, rcx
mov rdi, qword [rsp + 0x28]
mov rcx, qword [rax]
mov qword [rdx], rcx
add rdx, 8
add rax, 8
cmp rdx, r14
jb 0x140059860
mov r15, r13
mov rax, qword [rsp + 0x38]
mov r11, qword [rsp + 0x58]
mov ecx, r15d
sub ecx, esi
mov word [r14], cx
lea rcx, [r15 + 4]
lea rdx, [rsi + 4]
cmp rbp, rcx
jbe 0x140059a89
mov r8, qword [rcx]
xor r8, qword [rdx]
je 0x1400598b0
tzcnt r13, r8
shr r13d, 3
jmp 0x14005994c
lea r13, [r15 + 0xc]
add rsi, 0xc
mov rdx, rsi
cmp r13, rbp
jae 0x1400598ea
mov r8d, r13d
sub r8d, r15d
add r8d, 0xfffffffc
nop word [rax + rax]
mov r9, qword [r13]
xor r9, qword [rdx]
jne 0x140059940
add r13, 8
add rdx, 8
add r8d, 8
cmp r13, rbp
jb 0x1400598d0
cmp r13, qword [rsp + 0x68]
jae 0x140059902
mov r8d, dword [rdx]
cmp r8d, dword [r13]
jne 0x140059902
add r13, 4
add rdx, 4
cmp r13, qword [rsp + 0x50]
jae 0x14005991c
movzx r8d, word [rdx]
cmp r8w, word [r13]
jne 0x14005991c
add r13, 2
add rdx, 2
cmp r13, qword [rsp + 0x88]
jae 0x140059937
movzx edx, byte [rdx]
xor r8d, r8d
cmp dl, byte [r13]
sete r8b
add r13, r8
sub r13d, ecx
jmp 0x14005994c
tzcnt r13, r9
shr r13, 3
add r13d, r8d
lea ecx, [r13 + 0xf0]
imul rcx, r10
shr rcx, 0x27
add rcx, r14
add rcx, 8
cmp rcx, r11
ja 0x14005a614
lea r9, [r14 + 2]
movzx ecx, byte [rax]
cmp r13d, 0xf
jb 0x140059a00
add cl, 0xf
mov byte [rax], cl
lea esi, [r13 - 0xf]
mov dword [r9], 0xffffffff
cmp esi, 0x3fc
jb 0x1400599e0
lea rcx, [r14 + 6]
lea esi, [r13 - 0x40b]
mov rdi, rsi
imul rdi, r10
shr rdi, 0x29
mov ebx, edi
lea r8, [rbx*4 + 4]
mov dl, 0xff
call fcn.1400175c0
mov r10d, 0x80808081
mov r11, qword [rsp + 0x58]
imul eax, edi, 0x3fc
mov rdi, qword [rsp + 0x28]
sub esi, eax
lea r9, [r14 + rbx*4]
add r9, 6
mov rbx, qword [rsp + 0x48]
movzx eax, si
imul eax, eax, 0x8081
shr eax, 0x17
mov ecx, eax
add ecx, esi
mov byte [r9 + rax], cl
add r9, rax
add r9, 1
jmp 0x140059a05
add cl, r13b
mov byte [rax], cl
mov eax, r13d
add r15, rax
add r15, 4
mov r14, qword [rsp + 0x60]
cmp r15, r14
jae 0x1400572e5
lea rax, [r15 - 2]
mov rcx, qword [r15 - 2]
movabs rdx, 0xcf1bbcdcbb000000
imul rcx, rdx
sub eax, edi
shr rcx, 0x34
mov r13, qword [rsp + 0x78]
mov dword [r13 + rcx*4], eax
mov rax, qword [r15]
imul rax, rdx
shr rax, 0x34
mov esi, dword [r13 + rax*4]
mov ecx, r15d
sub ecx, edi
mov dword [r13 + rax*4], ecx
lea eax, [rsi + 0xffff]
cmp eax, ecx
jb 0x1400595be
add rsi, rdi
mov eax, dword [rsi]
cmp eax, dword [r15]
jne 0x1400595be
lea r14, [r9 + 1]
mov byte [r9], 0
mov rax, r9
jmp 0x140059880
mov r13, rcx
cmp r13, rbp
jb 0x1400598c0
jmp 0x1400598ea
mov eax, ebx
shl al, 4
mov byte [r9], al
add r9, 1
mov rcx, r9
mov rdx, r15
mov r8, rbx
mov rsi, r9
call fcn.1400176a0
add esi, ebx
sub esi, edi
mov eax, esi
jmp 0x14005a5b1
mov qword [rsp + 0xa8], r8
mov r15, qword [rsp + 0xc0]
add r15, rbx
sub r15, r9
mov rax, qword [rsp + 0xa8]
lea rcx, [rax + r15]
lea rax, [r15 + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
lea rax, [rdx + rcx]
add rax, 1
cmp rax, rsi
mov rsi, qword [rsp + 0x98]
mov eax, 0
ja 0x14005a5a3
cmp r15, 0xf
jb 0x14005a57a
lea rax, [r15 - 0xf]
mov rbp, qword [rsp + 0xa8]
mov byte [rbp], 0xf0
lea rcx, [rbp + 1]
cmp rax, 0xff
jb 0x140059b7f
lea rax, [r15 - 0x10e]
mul r8
mov r12, rdx
shr r12, 7
lea r8, [r12 + 1]
mov dl, 0xff
mov rdi, r9
call fcn.1400175c0
mov r9, rdi
mov rax, r12
shl rax, 8
lea rcx, [r12 + rbp]
add rcx, 2
sub r12, rax
lea rax, [r15 + r12]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
jmp 0x14005a58a
mov eax, esi
shl al, 4
mov byte [r15], al
add r15, 1
mov rcx, r15
mov rdx, r9
mov r8, rsi
call fcn.1400176a0
add r15d, esi
sub r15d, dword [rsp + 0x98]
mov eax, r15d
jmp 0x14005a5a3
mov rsi, rbx
sub rsi, rbp
mov rax, qword [rsp + 0xa8]
lea rcx, [rbx + rax]
add rcx, 0xfffffffffffffff5
mov qword [rsp + 0x80], rcx
lea rcx, [rbx + rax]
add rcx, 0xfffffffffffffffb
test r8, r8
mov rax, qword [rsp + 0x68]
cmove rax, r8
mov qword [rsp + 0x68], rax
movabs rdx, 0xcf1bbcdcbb000000
mov rax, qword [rbx]
imul rax, rdx
shr rax, 0x32
and eax, 0xfffffffc
mov dword [r13 + rax], edi
mov edx, dword [rsp + 0x44]
shl edx, 6
lea rax, [rcx - 7]
mov qword [rsp + 0x70], rax
lea rax, [rcx - 3]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x50], rcx
lea rax, [rcx - 1]
mov qword [rsp + 0xd0], rax
lea rax, [rbx + 8]
mov qword [rsp + 0xd8], rax
or edx, 1
lea rcx, [rbx + 2]
add rbp, 1
lea rax, [rbx + 1]
mov r9, rbx
mov r12, qword [rsp + 0x98]
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0xb8], edx
jmp 0x140059c9f
lea rax, [r9 + 1]
mov rbp, rax
mov rsi, qword [rsp + 0x60]
sub rbp, rsi
lea rcx, [r9 + 2]
cmp rcx, qword [rsp + 0x80]
mov r15, qword [rsp + 0x30]
mov edx, dword [rsp + 0xb8]
ja 0x140057c7f
mov qword [rsp + 0x58], r9
mov r8, qword [r9 + 1]
mov r9d, dword [rsp + 0x44]
jmp 0x140059cd8
mov rbp, r10
sub rbp, rsi
mov ecx, r9d
add rcx, r10
lea eax, [rdx + 1]
shr edx, 6
mov r9d, edx
mov edx, eax
mov rax, r10
cmp rcx, qword [rsp + 0x80]
ja 0x14005a606
mov r10, rcx
movabs rcx, 0xcf1bbcdcbb000000
imul r8, rcx
mov rcx, r8
shr rcx, 0x34
mov r11d, dword [r13 + rcx*4]
mov r8, qword [r10]
mov dword [r13 + rcx*4], ebp
lea ecx, [r11 + 0xffff]
cmp ecx, ebp
jb 0x140059cb0
cmp r11d, edi
mov rcx, rsi
cmovb rcx, r15
mov esi, dword [rcx + r11]
cmp esi, dword [rax]
mov rsi, qword [rsp + 0x60]
jne 0x140059cb0
mov qword [rsp + 0xa0], r12
add rcx, r11
cmp r11d, edi
mov rsi, rbx
cmovb rsi, qword [rsp + 0x38]
sub ebp, r11d
mov r10d, eax
mov rdx, qword [rsp + 0x58]
sub r10d, edx
lea r9d, [r10 - 0xf]
lea r8d, [r10 - 0x10e]
mov dword [rsp + 0xc0], r8d
mov r11d, eax
shl r11b, 4
shl dl, 4
sub r11b, dl
xor r14d, r14d
mov dword [rsp + 0xb0], r9d
mov edx, r9d
nop word cs:[rax + rax]
nop dword [rax]
mov r8d, edx
mov rdi, r14
mov r9d, r11d
mov ebx, r10d
lea r15, [rcx + r14]
lea r12, [rax + r14]
cmp r15, rsi
jbe 0x140059dbd
cmp r12, qword [rsp + 0x58]
jbe 0x140059dbd
movzx r13d, byte [rax + rdi - 1]
lea edx, [r8 - 1]
lea r14, [rdi - 1]
lea r11d, [r9 - 0x10]
lea r10d, [rbx - 1]
cmp r13b, byte [rcx + rdi - 1]
je 0x140059d80
mov ecx, eax
mov rdx, qword [rsp + 0x58]
sub ecx, edx
add ecx, edi
sub eax, edx
lea r10, [rax + rdi]
mov qword [rsp + 0x20], rcx
mov r13, qword [rsp + 0xa0]
add rcx, r13
mov edx, r10d
mov r11d, 0x80808081
imul rdx, r11
shr rdx, 0x27
add rcx, rdx
add rcx, 9
cmp rcx, qword [rsp + 0x28]
ja 0x14005a631
lea rcx, [r13 + 1]
cmp r10d, 0xf
mov r14, qword [rsp + 0x90]
jb 0x140059eb3
mov edx, dword [rsp + 0xb0]
add rdx, rdi
mov byte [r13], 0xf0
cmp edx, 0xfe
jle 0x140059e99
cmp r8d, 0x1fd
mov edx, 0x1fd
cmovge r8d, edx
sub eax, r8d
lea r14d, [rax + rdi]
add r14d, 0xef
mov r8, r14
mov eax, 0x80808081
imul r8, rax
shr r8, 0x27
add r8d, 1
mov dl, 0xff
call fcn.1400175c0
mov eax, r14d
mov r14, qword [rsp + 0x90]
mov ecx, 0x80808081
imul rax, rcx
shr rax, 0x27
lea rcx, [rax + r13]
add rcx, 2
mov edx, eax
shl edx, 8
sub eax, edx
mov edx, dword [rsp + 0xc0]
add edx, edi
add edx, eax
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x20]
mov byte [rcx], dl
add rcx, 1
jmp 0x140059ec9
mov byte [r13], r9b
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x20]
add r10, rcx
lea r11, [rcx + 8]
cmp r10, r11
mov r8, r11
cmova r8, r10
mov r9, rcx
not r9
add r8, r9
cmp r8, 0x38
jb 0x140059f91
mov qword [rsp + 0x20], r10
mov rax, rcx
mov r10, qword [rsp + 0x58]
sub rax, r10
cmp rax, 0x20
jb 0x140059fa0
shr r8, 3
add r8, 1
mov rdx, r8
and rdx, 0xfffffffffffffffc
lea rax, [r10 + rdx*8]
mov qword [rsp + 0xb0], rdx
lea rdx, [rcx + rdx*8]
mov edi, ebx
add rdi, rcx
cmp rdi, r11
cmovbe rdi, r11
add r9, rdi
shr r9, 3
add r9, 1
and r9, 0xfffffffffffffffc
xor r11d, r11d
nop word cs:[rax + rax]
nop
movdqu xmm0, xmmword [r10 + r11*8]
movdqu xmm1, xmmword [r10 + r11*8 + 0x10]
movdqu xmmword [rcx + r11*8], xmm0
movdqu xmmword [rcx + r11*8 + 0x10], xmm1
add r11, 4
cmp r9, r11
jne 0x140059f50
cmp r8, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x20]
jne 0x140059fb0
jmp 0x140059fc3
mov rax, qword [rsp + 0x58]
mov rdx, rcx
mov rbx, qword [rsp + 0x48]
jmp 0x140059fb0
mov rax, r10
mov rdx, rcx
mov rbx, qword [rsp + 0x48]
mov r10, qword [rsp + 0x20]
mov rcx, qword [rax]
mov qword [rdx], rcx
add rdx, 8
add rax, 8
cmp rdx, r10
jb 0x140059fb0
mov r9, r12
mov rax, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x38]
nop word cs:[rax + rax]
nop dword [rax]
mov word [r10], bp
cmp rsi, r11
je 0x14005a016
lea rcx, [r9 + 4]
lea rdx, [r15 + 4]
cmp qword [rsp + 0x70], rcx
mov rsi, qword [rsp + 0x60]
jbe 0x14005a42c
mov r8, qword [rcx]
xor r8, qword [rdx]
je 0x14005a068
tzcnt rbp, r8
shr ebp, 3
jmp 0x14005a0f7
mov qword [rsp + 0x20], r10
mov rcx, qword [rsp + 0x68]
sub rcx, r15
add rcx, r9
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
cmova rcx, rdx
mov r12, r9
lea rdx, [r9 + 4]
lea r8, [r15 + 4]
lea r9, [rcx - 7]
cmp r9, rdx
mov rsi, qword [rsp + 0x60]
jbe 0x14005a437
mov r10, qword [rdx]
xor r10, qword [r8]
je 0x14005a105
tzcnt rbp, r10
shr ebp, 3
jmp 0x14005a177
mov r12, r10
lea rbp, [r9 + 0xc]
add r15, 0xc
mov rdx, r15
mov r10, qword [rsp + 0x70]
cmp rbp, r10
jae 0x14005a448
mov r8d, ebp
mov r15, r9
sub r8d, r9d
add r8d, 0xfffffffc
nop word cs:[rax + rax]
nop dword [rax + rax]
mov r9, qword [rbp]
xor r9, qword [rdx]
jne 0x14005a0e5
add rbp, 8
add rdx, 8
add r8d, 8
cmp rbp, r10
jb 0x14005a0a0
cmp rbp, qword [rsp + 0xc8]
jae 0x14005a459
mov r8d, dword [rdx]
cmp r8d, dword [rbp]
mov r10, r12
jne 0x14005a45c
add rbp, 4
add rdx, 4
jmp 0x14005a45c
tzcnt rbp, r9
shr rbp, 3
add ebp, r8d
mov r9, r15
mov r10, r12
mov ecx, ebp
add r9, rcx
add r9, 4
jmp 0x14005a280
lea rbp, [r12 + 0xc]
lea r8, [r15 + 0xc]
cmp rbp, r9
jae 0x14005a13a
mov r10d, ebp
sub r10d, r12d
add r10d, 0xfffffffc
nop dword [rax]
mov r11, qword [rbp]
xor r11, qword [r8]
jne 0x14005a166
add rbp, 8
add r8, 8
add r10d, 8
cmp rbp, r9
jb 0x14005a120
lea r9, [rcx - 3]
cmp rbp, r9
jae 0x14005a3e1
mov r9d, dword [r8]
cmp r9d, dword [rbp]
mov r10, qword [rsp + 0x20]
jne 0x14005a3e6
add rbp, 4
add r8, 4
jmp 0x14005a3e6
tzcnt rbp, r11
shr rbp, 3
add ebp, r10d
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x20]
mov edx, ebp
lea r9, [rdx + r12]
add r9, 4
cmp r9, rcx
jne 0x14005a280
mov r8, rbx
mov rdx, rcx
cmp qword [rsp + 0x70], rcx
jbe 0x14005a1bd
mov rdx, qword [rcx]
xor rdx, qword [rbx]
je 0x14005a1b1
tzcnt rdx, rdx
shr edx, 3
jmp 0x14005a271
lea rdx, [rcx + 8]
mov r8, qword [rsp + 0xd8]
cmp rdx, qword [rsp + 0x70]
jae 0x14005a209
add r12, qword [rsp + 0x68]
sub r12, r15
mov r9, qword [rsp + 0x50]
cmp r12, r9
cmovae r12, r9
mov r9d, edx
sub r9d, r12d
mov r15, qword [rsp + 0x70]
nop word cs:[rax + rax]
nop dword [rax]
mov r10, qword [rdx]
xor r10, qword [r8]
jne 0x14005a260
add rdx, 8
add r8, 8
add r9d, 8
cmp rdx, r15
jb 0x14005a1f0
cmp rdx, qword [rsp + 0xc8]
jae 0x14005a223
mov r9d, dword [r8]
cmp r9d, dword [rdx]
jne 0x14005a223
add rdx, 4
add r8, 4
cmp rdx, qword [rsp + 0xd0]
mov r10, qword [rsp + 0x20]
jae 0x14005a244
movzx r9d, word [r8]
cmp r9w, word [rdx]
jne 0x14005a244
add rdx, 2
add r8, 2
cmp rdx, qword [rsp + 0x50]
jae 0x14005a25c
movzx r8d, byte [r8]
xor r9d, r9d
cmp r8b, byte [rdx]
sete r9b
add rdx, r9
sub edx, ecx
jmp 0x14005a271
tzcnt rdx, r10
shr rdx, 3
add edx, r9d
mov r10, qword [rsp + 0x20]
add ebp, edx
mov edx, edx
add rcx, rdx
mov r9, rcx
nop dword [rax + rax]
lea ecx, [rbp + 0xf0]
mov edx, 0x80808081
imul rcx, rdx
shr rcx, 0x27
add rcx, r10
add rcx, 8
cmp rcx, qword [rsp + 0x28]
ja 0x14005a610
lea r12, [r10 + 2]
movzx ecx, byte [rax]
cmp ebp, 0xf
jb 0x14005a350
add cl, 0xf
mov byte [rax], cl
lea eax, [rbp - 0xf]
mov dword [r12], 0xffffffff
cmp eax, 0x3fc
jb 0x14005a324
lea rcx, [r10 + 6]
add ebp, 0xfffffbf5
mov rsi, rbp
mov eax, 0x80808081
imul rsi, rax
shr rsi, 0x29
mov edi, esi
lea r8, [rdi*4 + 4]
mov dl, 0xff
mov r15, r9
mov r12, r10
call fcn.1400175c0
mov r9, r15
mov r11, qword [rsp + 0x38]
imul eax, esi, 0x3fc
mov rsi, qword [rsp + 0x60]
sub ebp, eax
lea r12, [r12 + rdi*4]
add r12, 6
mov rdi, qword [rsp + 0x88]
mov eax, ebp
movzx ecx, ax
imul ecx, ecx, 0x8081
shr ecx, 0x17
mov edx, ecx
add edx, eax
mov byte [r12 + rcx], dl
add r12, rcx
add r12, 1
jmp 0x14005a355
add cl, bpl
mov byte [rax], cl
cmp r9, qword [rsp + 0x80]
jae 0x140057c7f
lea rax, [r9 - 2]
mov rcx, qword [r9 - 2]
movabs rdx, 0xcf1bbcdcbb000000
imul rcx, rdx
sub eax, esi
shr rcx, 0x34
mov dword [r13 + rcx*4], eax
mov rcx, qword [r9]
imul rcx, rdx
shr rcx, 0x34
mov eax, dword [r13 + rcx*4]
mov ebp, r9d
sub ebp, esi
cmp eax, edi
mov r15, rsi
cmovb r15, qword [rsp + 0x30]
mov rsi, rbx
cmovb rsi, r11
mov dword [r13 + rcx*4], ebp
lea ecx, [rax + 0xffff]
cmp ecx, ebp
jb 0x140059c72
add r15, rax
mov ecx, dword [r15]
cmp ecx, dword [r9]
jne 0x140059c72
lea r10, [r12 + 1]
mov byte [r12], 0
sub ebp, eax
mov rax, r12
jmp 0x140059fe0
mov r10, qword [rsp + 0x20]
lea r9, [rcx - 1]
cmp rbp, r9
jae 0x14005a409
movzx r9d, word [r8]
cmp r9w, word [rbp]
mov r11, qword [rsp + 0x38]
jne 0x14005a40e
add rbp, 2
add r8, 2
jmp 0x14005a40e
mov r11, qword [rsp + 0x38]
cmp rbp, rcx
jae 0x14005a425
movzx r8d, byte [r8]
xor r9d, r9d
cmp r8b, byte [rbp]
sete r9b
add rbp, r9
sub ebp, edx
jmp 0x14005a17c
mov r12, r10
mov rbp, rcx
jmp 0x14005a076
mov rbp, rdx
cmp rbp, r9
jb 0x14005a113
jmp 0x14005a13a
mov r15, r9
cmp rbp, qword [rsp + 0xc8]
jb 0x14005a0c8
mov r10, r12
cmp rbp, qword [rsp + 0xd0]
jae 0x14005a47e
movzx r8d, word [rdx]
cmp r8w, word [rbp]
mov r9, r15
jne 0x14005a481
add rbp, 2
add rdx, 2
jmp 0x14005a481
mov r9, r15
cmp rbp, qword [rsp + 0x50]
jae 0x14005a498
movzx edx, byte [rdx]
xor r8d, r8d
cmp dl, byte [rbp]
sete r8b
add rbp, r8
sub ebp, ecx
jmp 0x14005a0f7
mov r10, r9
mov r15, qword [rsp + 0xb0]
add r15, rbx
sub r15, r10
lea rcx, [r12 + r15]
lea rax, [r15 + 0xf0]
movabs r8, 0x8080808080808081
mul r8
shr rdx, 7
lea rax, [rdx + rcx]
add rax, 1
cmp rax, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x98]
mov eax, 0
ja 0x14005a5a3
mov r9, r10
cmp r15, 0xf
jb 0x14005a553
lea rax, [r15 - 0xf]
mov byte [r12], 0xf0
lea rcx, [r12 + 1]
cmp rax, 0xff
jb 0x14005a54c
lea rax, [r15 - 0x10e]
mul r8
mov rsi, rdx
shr rsi, 7
lea r8, [rsi + 1]
mov dl, 0xff
mov rbp, r12
mov r12, r9
call fcn.1400175c0
mov r9, r12
mov rax, rsi
shl rax, 8
lea rcx, [rsi + rbp]
add rcx, 2
sub rsi, rax
lea rax, [r15 + rsi]
add rax, 0xfffffffffffffef2
mov byte [rcx], al
mov r12, rcx
jmp 0x14005a55d
mov eax, r15d
shl al, 4
mov byte [r12], al
add r12, 1
mov rcx, r12
mov rdx, r9
mov r8, r15
call fcn.1400176a0
add r12d, r15d
sub r12d, edi
mov eax, r12d
jmp 0x14005a5a3
mov eax, r15d
shl al, 4
mov rcx, qword [rsp + 0xa8]
mov byte [rcx], al
add rcx, 1
mov rdx, r9
mov rdi, rcx
mov r8, r15
call fcn.1400176a0
add edi, r15d
sub edi, esi
mov eax, edi
mov qword [r13 + 0x4000], rbx
mov dword [r13 + 0x4018], r14d
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r9, qword [rsp + 0x38]
jmp 0x140057cd3
mov rsi, qword [rsp + 0x68]
mov r9, qword [rsp + 0x30]
jmp 0x140059aca
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x70]
jmp 0x140056f89
mov r11, qword [rsp + 0x58]
mov r9, qword [rsp + 0x38]
jmp 0x1400572e5
mov r10, qword [rsp + 0x28]
jmp 0x14005a4a2
mov r9, qword [rsp + 0x58]
jmp 0x140057c7f
xor eax, eax
jmp 0x14005a5a3
xor eax, eax
jmp 0x14005a5b1
mov rbx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x78]
xor eax, eax
mov r14, qword [rsp + 0x90]
jmp 0x14005a5a3
xor eax, eax
mov rbx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x90]
jmp 0x14005a5a3