Function at 0x1002679e0
Capabilities:
Encode data using xor
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1e8
mov rax, qword [0x1004946a0]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
lea rbx, [0x100000000]
lea r15, [0x100000000]
mov rsi, r8
mov qword [rsp + 0xd0], rdx
mov rdi, r9
mov r11d, 0xfffffff
mov qword [rsp + 0xd8], rcx
xor r12d, r12d
cmp r9, r15
lea ebp, [r12 + 0x3f]
jb 0x10026868f
movsxd rdx, dword [0x10000003c]
lea rax, [r15 + rdx]
mov ecx, dword [rax + 0x50]
add rcx, r15
cmp r9, rcx
jae 0x100268695
mov r8d, r9d
sub r8d, r15d
mov ecx, dword [0x1002ebdfc]
mov r9d, r12d
sub ecx, 1
js 0x100267aa0
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x40459c]
and eax, r11d
cmp r8d, eax
mov r10, rdx
jae 0x100267a91
lea ecx, [rdx - 1]
jmp 0x100267a9b
jbe 0x100267c2a
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x100267a6e
mov rdx, r12
cmp rdx, r12
je 0x10026868f
mov r8, r12
mov al, byte [rdx]
mov r13d, dword [rdx + 4]
shr al, 2
and r13, r11
mov r9d, dword [0x1002f3aa4]
and eax, 7
lea rdi, [rax + rdx + 8]
mov qword [rsp + 0x50], r13
mov r14d, edi
mov qword [rsp + 0x40], rdi
sub r9, r13
add r9, 1
mov r10, r9
sub r14d, r15d
mov dword [rsp + 0x58], r14d
cmp r9, r12
je 0x100267b20
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
shr r10, 0x10
jne 0x100267af5
mov qword [0x100495210], rax
mov rax, r8
mov ecx, r14d
xor edx, edx
div r9
lea rbp, [rsi + rdx]
mov r8, rbp
mov rdx, r13
mov qword [rsp + 0x78], rbp
mov eax, 0x6efa9d65
mov r11, qword [rdi + r13]
mov bl, r12b
mov qword [rsp + 0x130], r11
lea rcx, [rsp + 0x130]
mov eax, 0xc37b6c70
mov r9d, dword [rsp + 0x134]
mov rcx, r15
mov esi, 4
mov r11, qword [rsp + 0x130]
mov eax, 0xfffffff
and r11, rax
and r9, rax
add r11, r15
mov rax, qword [0x1003f4900]
mov qword [rsp + 0x98], r12
sub rcx, rax
mov qword [rsp + 0x38], rcx
mov r15, 0xfffffffffffff000
lea r12d, [rsi + 4]
jne 0x100267c48
xor r10d, r10d
test r9, r9
je 0x100267f76
mov r8d, dword [rsp + 0x98]
mov edx, dword [rsp + 0x9c]
mov r13d, 0xdf2e6555
movzx eax, byte [r10 + r11]
add r10, 1
sub eax, 0x20d19aab
add r8d, eax
add eax, edx
imul rax, r13
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 0x20
add ecx, eax
mov edx, ecx
imul edx, edx, 0x7b1f
rol edx, 5
ror ecx, 5
xor edx, ecx
imul edx, edx, 0xdf2e6555
ror edx, 0x1f
mov dword [rsp + 0x9c], edx
add r8d, edx
mov dword [rsp + 0x98], r8d
cmp r10, r9
jb 0x100267bca
mov r13, qword [rsp + 0x50]
jmp 0x100267f76
mov edx, dword [rbx + rdx*8 + 0x40459c]
mov eax, dword [rbx + r10*8 + 0x404598]
and edx, r11d
and eax, ebp
add edx, eax
add rdx, r15
jmp 0x100267aa3
lea rax, [r11 + r9]
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x30], rax
mov eax, r11d
sub eax, edx
mov r14d, eax
add r8, rdx
and r14, r15
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
sub rax, r14
mov qword [rsp + 0x20], rax
lea rax, [rcx + r9]
mov rcx, rax
and rcx, r15
sub rax, rcx
add rdx, r8
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x70], rax
jmp 0x100267cb6
mov eax, dword [r8]
cmp rax, r14
jae 0x100267cbb
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rdx
jne 0x100267ca7
xor edi, edi
mov r10d, 0xfff
cmp r8, rdx
je 0x100267cfd
mov eax, dword [r8]
cmp rax, r14
jne 0x100267cfd
mov ecx, dword [r8 + 4]
sub rcx, r12
shr rcx, 1
je 0x100267cf8
mov rdx, qword [rsp + 0x20]
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, rdx
jae 0x100267cf8
add rdi, 1
cmp rdi, rcx
jne 0x100267ce1
mov rcx, qword [rsp + 0x48]
mov r15d, 0xdf2e6555
mov edx, dword [rsp + 0x9c]
mov r9d, dword [rsp + 0x98]
mov rbp, qword [rsp + 0x38]
mov r13, qword [rsp + 0x60]
cmp r8, r13
je 0x100267eef
mov eax, dword [r8]
cmp rax, rcx
ja 0x100267eef
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp rdi, rax
jne 0x100267d5d
add r8, rbx
cmp r8, r13
je 0x100267eef
mov eax, dword [r8]
cmp rax, rcx
ja 0x100267eef
xor edi, edi
jmp 0x100267d31
mov eax, dword [r8]
cmp rax, rcx
jne 0x100267d79
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x70]
jae 0x100267eef
mov rax, rdi
add rdi, 1
test word [r8 + rax*2 + 8], 0xf000
mov qword [rsp + 0x38], rax
je 0x100267d1c
xor r13d, r13d
mov ax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
mov r14d, eax
lea rax, [0x100000000]
add r14, rax
mov rax, r14
sub rax, r11
je 0x100267e0d
mov rbx, rax
movzx eax, byte [r13 + r11]
add r13, 1
sub eax, 0x20d19aab
add r9d, eax
add eax, edx
imul rax, r15
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov edx, ecx
imul edx, edx, 0x7b1f
rol edx, 5
ror ecx, 5
xor edx, ecx
imul edx, edx, 0xdf2e6555
ror edx, 0x1f
mov dword [rsp + 0x9c], edx
add r9d, edx
mov dword [rsp + 0x98], r9d
cmp r13, rbx
jb 0x100267db6
mov rax, qword [r14]
mov rcx, qword [rsp + 0x38]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
cmp ecx, 3
mov qword [rsp + 0x100], rax
je 0x100267e39
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x100267e3f
mov r11d, 2
mov rcx, rbp
neg rcx
sub r11d, 2
mov qword [rsp + 0x38], rcx
je 0x100267e71
cmp r11d, 1
je 0x100267e5c
or r11, 0xffffffffffffffff
jmp 0x100267e80
mov r11, r12
mov rcx, qword [rsp + 0x38]
add rax, rcx
mov qword [rsp + 0x100], rax
jmp 0x100267e80
mov rcx, qword [rsp + 0x38]
add dword [rsp + 0x100], ecx
mov r11, rsi
xor r13d, r13d
test r11, r11
je 0x100267ee2
movzx eax, byte [rsp + r13 + 0x100]
add r13, 1
sub eax, 0x20d19aab
add r9d, eax
add eax, edx
imul rax, r15
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov edx, ecx
imul edx, edx, 0x7b1f
rol edx, 5
ror ecx, 5
xor edx, ecx
imul edx, edx, 0xdf2e6555
ror edx, 0x1f
add r9d, edx
cmp r13, r11
jb 0x100267e88
mov dword [rsp + 0x9c], edx
mov dword [rsp + 0x98], r9d
mov rcx, qword [rsp + 0x48]
add r11, r14
jmp 0x100267d17
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x78]
mov r10, qword [rsp + 0x30]
xor r8d, r8d
sub r10, r11
mov r15, 0xfffffffffffff000
mov bl, r8b
je 0x100267f6c
mov r14d, 0xdf2e6555
movzx eax, byte [r8 + r11]
add r8, 1
sub eax, 0x20d19aab
add r9d, eax
add eax, edx
imul rax, r14
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov edx, ecx
imul edx, edx, 0x7b1f
rol edx, 5
ror ecx, 5
xor edx, ecx
imul edx, edx, 0xdf2e6555
ror edx, 0x1f
mov dword [rsp + 0x9c], edx
add r9d, edx
mov dword [rsp + 0x98], r9d
cmp r8, r10
jb 0x100267f16
mov rdi, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x58]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
mov al, byte [rsp + rax + 0x98]
cmp rcx, r12
mov byte [rsp + rcx + 0x17f], al
jb 0x100267f78
mov eax, 0x8c68b9b3
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x48], rdi
mov r9b, r13b
mov qword [rsp + 0x70], rbp
and r9d, 7
mov qword [rsp + 0x20], r9
je 0x100268546
mov r13d, r14d
not r13d
xor r10d, r10d
mov dword [rsp + 0x68], r10d
xor edi, edi
xor r11d, r11d
test r9d, r9d
mov dword [rsp + 0x30], edi
jle 0x100268022
mov rax, qword [rsp + 0x48]
lea r8d, [r10 + 0x38]
cmp r11d, esi
movzx edx, byte [rax]
jge 0x100267ff4
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x100267ffc
mov ecx, r8d
shl edx, cl
or r10d, edx
add r11d, 1
add rax, 1
sub r8d, r12d
cmp r11d, r9d
jl 0x100267fe2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x180]
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x68], r10d
mov r14d, dword [rsp + 0x184]
movzx r10d, word [rsp + 0x184]
movzx r9d, word [rsp + 0x182]
movzx r11d, word [rsp + 0x186]
movzx edi, ax
mov ecx, eax
xor ecx, r13d
sub r14d, ecx
xor r14d, dword [rsp + 0x58]
mov edx, r14d
mov ecx, edi
xor ecx, r14d
ror edx, 9
imul ecx, r11d
add edx, ecx
mov ecx, r11d
xor r13d, edx
mov edx, r13d
xor ecx, r13d
ror edx, 5
imul ecx, r10d
xor edx, ecx
xor r14d, edx
mov ecx, r14d
sub ecx, r9d
xor ecx, dword [rsp + 0x184]
xor r13d, ecx
mov ecx, r13d
ror ecx, 7
sub ecx, edi
imul ecx, r9d
xor r14d, ecx
mov edx, r14d
mov r8d, r14d
mov ecx, r11d
sub r8d, eax
ror r8d, 7
rol edx, 4
imul ecx, r8d
sub ecx, edx
xor r13d, ecx
mov ecx, r10d
mov r8d, r9d
xor r8d, r13d
rol r8d, 6
mov edx, r13d
ror edx, 0xf
imul ecx, r8d
mov r8d, dword [rsp + 0x184]
sub ecx, edx
xor r14d, ecx
mov ecx, r9d
mov edx, r14d
sub r8d, r14d
ror r8d, 4
ror edx, 2
imul ecx, r8d
add edx, ecx
mov ecx, edi
mov r8d, dword [rsp + 0x184]
xor r13d, edx
xor r8d, r13d
mov edx, r13d
ror r8d, 7
ror edx, 0x10
imul ecx, r8d
xor edx, ecx
mov ecx, r11d
mov r8d, eax
xor r14d, edx
mov edx, r14d
sub r8d, r14d
ror r8d, 6
rol edx, 0xe
imul ecx, r8d
sub ecx, edx
xor r13d, ecx
mov ecx, r13d
sub ecx, r10d
sub ecx, eax
xor r14d, ecx
mov ecx, r14d
xor r11d, r14d
shr ecx, 0xb
imul r11d, r9d
xor r11d, ecx
xor r9d, r9d
xor r13d, r11d
mov ecx, r13d
sub ecx, r10d
rol ecx, 4
imul edi, ecx
mov ecx, r13d
xor r13d, dword [rsp + 0x68]
shr ecx, 3
xor edi, ecx
mov ecx, dword [rsp + 0x30]
xor edi, ecx
mov rcx, qword [rsp + 0x20]
xor r14d, edi
test ecx, ecx
mov r8d, r13d
mov edx, r14d
jle 0x1002681bd
mov rax, rbp
cmp r9d, esi
jge 0x100268199
rol edx, 8
mov byte [rax], dl
add rax, 1
xor bl, dl
jmp 0x1002681a7
rol r8d, 8
mov byte [rax], r8b
add rax, 1
xor bl, r8b
add r9d, 1
cmp r9d, ecx
jl 0x100268187
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x180]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x10026852b
sub esi, ecx
shl esi, 3
mov ecx, esi
shr r13d, cl
shl r13d, cl
mov esi, dword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov rcx, r11
shr rcx, 3
mov qword [rsp + 0x20], rcx
je 0x100268475
mov rbp, qword [rsp + 0x20]
movzx r8d, word [rsp + 0x184]
mov r11, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
movzx ecx, word [rsp + 0x186]
mov dword [rsp + 0x60], ecx
mov ecx, r8d
neg ecx
mov dword [rsp + 0x58], ecx
movzx ecx, ax
mov dword [rsp + 0x68], ecx
mov edx, dword [rsp + 0x184]
movzx ecx, byte [rdi + 1]
movzx r10d, byte [rdi]
shl r10d, 8
movzx r9d, byte [rdi + 4]
shl r9d, 8
or r10d, ecx
movzx ecx, byte [rdi + 2]
shl r10d, 8
or r10d, ecx
shl r10d, 8
movzx ecx, byte [rdi + 3]
or r10d, ecx
movzx ecx, byte [rdi + 5]
or r9d, ecx
movzx ecx, byte [rdi + 6]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [rdi + 7]
add rdi, r12
shl r9d, 8
or r9d, ecx
mov ecx, eax
xor r13d, r9d
xor ecx, r13d
sub edx, ecx
xor edx, r10d
mov ecx, dword [rsp + 0x68]
xor r14d, edx
mov edx, r14d
xor ecx, r14d
ror edx, 9
imul ecx, dword [rsp + 0x60]
add edx, ecx
movzx ecx, word [rsp + 0x186]
xor r13d, edx
mov edx, r13d
xor ecx, r13d
ror edx, 5
imul ecx, r8d
xor edx, ecx
xor r14d, edx
movzx edx, word [rsp + 0x182]
mov ecx, r14d
sub ecx, edx
xor ecx, dword [rsp + 0x184]
xor r13d, ecx
mov ecx, r13d
ror ecx, 7
sub ecx, dword [rsp + 0x68]
imul ecx, edx
xor r14d, ecx
movzx ecx, word [rsp + 0x186]
mov r8d, r14d
mov edx, r14d
sub r8d, eax
ror r8d, 7
rol edx, 4
imul ecx, r8d
sub ecx, edx
xor r13d, ecx
mov edx, r13d
movzx ecx, word [rsp + 0x184]
movzx r8d, word [rsp + 0x182]
xor r8d, r13d
rol r8d, 6
ror edx, 0xf
imul ecx, r8d
mov r8d, dword [rsp + 0x184]
sub ecx, edx
xor r14d, ecx
movzx ecx, word [rsp + 0x182]
mov edx, r14d
sub r8d, r14d
ror r8d, 4
ror edx, 2
imul ecx, r8d
mov r8d, dword [rsp + 0x184]
add edx, ecx
mov ecx, dword [rsp + 0x68]
xor r13d, edx
xor r8d, r13d
ror r8d, 7
mov edx, r13d
ror edx, 0x10
imul ecx, r8d
mov r8d, eax
xor edx, ecx
xor r14d, edx
mov edx, r14d
sub r8d, r14d
ror r8d, 6
rol edx, 0xe
movzx ecx, word [rsp + 0x186]
imul ecx, r8d
movzx r8d, word [rsp + 0x184]
sub ecx, edx
movzx edx, word [rsp + 0x186]
xor r13d, ecx
mov ecx, r13d
sub ecx, r8d
sub ecx, eax
xor r14d, ecx
xor edx, r14d
movzx ecx, word [rsp + 0x182]
imul edx, ecx
mov ecx, r14d
shr ecx, 0xb
xor edx, ecx
xor r13d, edx
mov edx, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x58]
add ecx, r13d
rol ecx, 4
imul edx, ecx
mov ecx, r13d
xor r13d, esi
mov esi, r9d
shr ecx, 3
xor edx, ecx
xor edx, r15d
mov r15d, r10d
xor r14d, edx
mov byte [r11 + 3], r14b
mov byte [r11 + 7], r13b
xor bl, r14b
xor bl, r13b
ror r14d, 8
ror r13d, 8
mov byte [r11 + 2], r14b
mov byte [r11 + 6], r13b
xor bl, r14b
ror r14d, 8
mov byte [r11 + 1], r14b
xor bl, r13b
ror r13d, 8
mov byte [r11 + 5], r13b
xor bl, r14b
ror r14d, 8
xor bl, r13b
mov byte [r11], r14b
ror r13d, 8
mov cl, r13b
mov byte [r11 + 4], r13b
xor cl, r14b
add r11, r12
xor bl, cl
ror r14d, 8
ror r13d, 8
sub rbp, 1
jne 0x10026822e
mov r15, 0xfffffffffffff000
mov rbp, qword [rsp + 0x78]
mov r11, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x40]
cmp bl, byte [rdi + r11 + 8]
je 0x100268570
call fcn.1002d3e40
mov rbx, rax
mov r8d, 0xffff
lea rbp, [0x1003e8888]
mov rax, qword [rsp + 0xd8]
lea r10, [rax + 0x18]
mov qword [rax + 0x10], rbp
and rbx, r15
and r10, 0xfffffffffffffff8
mov rax, qword [0x100495210]
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
shr r8, 0x10
jne 0x1002684c0
mov qword [0x100495210], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd0]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
add r9, 1
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], 0
jmp 0x100268566
xor r13d, r13d
test ecx, ecx
jns 0x1002681d5
neg ecx
shl ecx, 3
shr r14d, cl
shl r14d, cl
jmp 0x1002681d5
mov dword [rsp + 0x30], r14d
xor r13d, r13d
mov esi, r14d
not esi
xor r14d, r14d
jmp 0x1002681de
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r12
cmp r10, r11
jb 0x10026855b
jmp 0x100268687
mov rax, qword [0x1003f4900]
lea r14, [0x100000000]
mov rsi, rdi
sub rsi, rbp
mov r12, r14
sub r12, rax
jne 0x100268595
test rsi, rsi
je 0x10026867c
mov rbx, rbp
xor r8d, r8d
sub rbx, rdi
mov rcx, qword [0x1000016e8]
lea r9d, [rcx - 1]
sub edi, r14d
lea r13d, [rdi + r11]
lea r15, [0x100000000]
test r9d, r9d
js 0x1002685ed
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x16ec]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x1002685e2
lea r9d, [rdx - 1]
jmp 0x1002685e8
jbe 0x1002685f2
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1002685bc
movsxd r11, r8d
jmp 0x100268671
mov r11, rdx
jmp 0x100268671
mov edx, dword [r15 + r11*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, r13d
jae 0x10026867c
mov r9, rdx
mov r8d, edx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r14
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x10026864c
sub r8d, 1
je 0x100268647
cmp r8d, 1
jne 0x100268652
mov r10, r12
jmp 0x100268652
mov r10, rsi
jmp 0x100268652
mov r10, r12
sub r10, rsi
sub edx, 2
je 0x100268662
cmp edx, 1
jne 0x10026866d
add qword [r9 + rbx], r10
jmp 0x100268666
add dword [r9 + rbx], r10d
mov rcx, qword [0x1000016e8]
add r11, 1
mov eax, ecx
cmp r11, rax
jb 0x1002685f7
mov eax, dword [0x1002f3aa4]
mov eax, 0x83d0d936
mov rax, rbp
jmp 0x10026f449
mov edx, dword [0x10000003c]
cmp rdi, r15
jb 0x10026f39c
movsxd rax, edx
add rax, r15
mov ecx, dword [rax + 0x50]
add rcx, r15
cmp rdi, rcx
jae 0x100269362
mov r9d, r12d
mov ecx, dword [0x10005e81c]
mov r8d, edi
sub r8d, r15d
sub ecx, 1
js 0x1002686f9
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x3d24f4]
and eax, r11d
mov r10, rdx
cmp r8d, eax
jae 0x1002686ea
lea ecx, [rdx - 1]
jmp 0x1002686f4
jbe 0x1002688bd
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1002686c7
mov rdx, r12
cmp rdx, r12
je 0x10026935c
mov r13d, dword [rdx + 4]
mov r8, r12
mov r9d, dword [0x1002f3aa4]
mov al, byte [rdx]
and r13, r11
and eax, 7
sub r9, r13
lea rdi, [rax + rdx + 8]
add r9, 1
mov r10, r9
mov r14d, edi
sub r14d, r15d
cmp r9, r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], r14d
je 0x100268776
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
shr r10, 0x10
jne 0x10026874b
mov qword [0x100495210], rax
mov rax, r8
xor edx, edx
div r9
mov ecx, r14d
lea rbp, [rsi + rdx]
mov r8, rbp
mov qword [rsp + 0x78], rbp
mov rdx, r13
mov eax, 0xb676d183
mov r11, qword [r13 + rdi]
mov bl, r12b
mov qword [rsp + 0x160], r11
lea rcx, [rsp + 0x160]
mov eax, 0x73417b9d
mov r9d, dword [rsp + 0x164]
mov eax, 0xfffffff
mov esi, 4
mov r11, qword [rsp + 0x160]
mov rcx, r15
and r11, rax
and r9, rax
add r11, r15
mov r15, 0xfffffffffffff000
mov rax, qword [0x1003f4900]
sub rcx, rax
mov qword [rsp + 0xa0], r12
lea r12d, [rsi + 4]
mov qword [rsp + 0x20], rcx
jne 0x1002688db
xor r10d, r10d
test r9, r9
je 0x100268cd9
mov r8d, dword [rsp + 0xa0]
mov r14d, 0xf7df258b
mov eax, dword [rsp + 0xa4]
movzx ecx, byte [r11 + r10]
add r10, 1
sub ecx, 0x820da75
add r8d, ecx
add ecx, eax
mov eax, ecx
imul eax, eax, 0xa5eb
rol eax, 0xb
ror ecx, 0xb
xor eax, ecx
imul rax, r14
mov qword [rsp + 0x40], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x40]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, r14
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x40]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
add r8d, eax
cmp r10, r9
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0xa0], r8d
jb 0x100268821
jmp 0x100268cd4
mov eax, dword [rbx + r10*8 + 0x3d24f0]
mov edx, dword [rbx + rdx*8 + 0x3d24f4]
and edx, r11d
and eax, ebp
add edx, eax
add rdx, r15
jmp 0x1002686fc
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
lea rax, [r11 + r9]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x68], rax
mov eax, r11d
sub eax, edx
mov edi, eax
mov r14d, eax
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
add rax, r9
mov rcx, rax
and rdi, r15
and rcx, r15
mov qword [rsp + 0x60], rcx
sub r14, rdi
sub rax, rcx
add rdx, r8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x70], rax
jmp 0x100268943
mov eax, dword [r8]
cmp rax, rdi
jae 0x100268948
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rdx
jne 0x100268934
xor r13d, r13d
cmp r8, rdx
mov r10d, 0xfff
je 0x100268986
mov eax, dword [r8]
cmp rax, rdi
jne 0x100268986
mov ecx, dword [r8 + 4]
sub rcx, r12
shr rcx, 1
je 0x100268981
mov ax, word [r8 + r13*2 + 8]
and rax, r10
cmp rax, r14
jae 0x100268981
add r13, 1
cmp r13, rcx
jne 0x10026896a
mov rcx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x20]
mov r14d, 0xf7df258b
mov edi, dword [rsp + 0xa0]
mov r9d, dword [rsp + 0xa4]
cmp r8, rdx
je 0x100268c0f
mov eax, dword [r8]
cmp rax, rcx
ja 0x100268c0f
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp r13, rax
jne 0x1002689e2
add r8, rbx
cmp r8, rdx
je 0x100268c0f
mov eax, dword [r8]
cmp rax, rcx
ja 0x100268c0f
xor r13d, r13d
jmp 0x1002689b5
mov eax, dword [r8]
cmp rax, rcx
jne 0x1002689fe
mov ax, word [r8 + r13*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x70]
jae 0x100268c0f
mov rax, r13
add r13, 1
test word [r8 + rax*2 + 8], 0xf000
mov qword [rsp + 0x40], rax
je 0x1002689a0
lea rcx, [0x100000000]
xor r15d, r15d
mov ax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
add rax, rcx
mov qword [rsp + 0x38], rax
mov rcx, rax
sub rcx, r11
je 0x100268aed
mov rbx, rcx
movzx ecx, byte [r15 + r11]
add r15, 1
sub ecx, 0x820da75
add edi, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0xa5eb
rol eax, 0xb
ror ecx, 0xb
xor eax, ecx
imul rax, r14
mov qword [rsp + 0xe0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xe0]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, r14
mov qword [rsp + 0xe0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xe0]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov r9d, edx
sar r9d, 0x1f
btr r9d, 0x1f
add r9d, edx
add edi, r9d
mov dword [rsp + 0xa4], r9d
cmp r15, rbx
mov dword [rsp + 0xa0], edi
jb 0x100268a41
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
mov qword [rsp + 0xe0], rax
cmp ecx, 3
je 0x100268b17
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x100268b1c
mov edx, 2
mov r11, rbp
neg r11
sub edx, 2
je 0x100268b42
cmp edx, 1
je 0x100268b32
or r11, 0xffffffffffffffff
jmp 0x100268b4d
add rax, r11
mov qword [rsp + 0xe0], rax
mov r11, r12
jmp 0x100268b4d
add dword [rsp + 0xe0], r11d
mov r11, rsi
xor r15d, r15d
test r11, r11
je 0x100268bf8
movzx ecx, byte [rsp + r15 + 0xe0]
add r15, 1
sub ecx, 0x820da75
add edi, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0xa5eb
rol eax, 0xb
ror ecx, 0xb
xor eax, ecx
imul rax, r14
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x40]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, r14
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x40]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov r9d, edx
sar r9d, 0x1f
btr r9d, 0x1f
add r9d, edx
add edi, r9d
cmp r15, r11
jb 0x100268b59
mov dword [rsp + 0xa4], r9d
mov dword [rsp + 0xa0], edi
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
add r11, rax
jmp 0x1002689a0
mov r10, qword [rsp + 0x68]
mov r15, 0xfffffffffffff000
mov rbp, qword [rsp + 0x78]
xor r8d, r8d
mov bl, r8b
sub r10, r11
je 0x100268cca
movzx ecx, byte [r11 + r8]
add r8, 1
sub ecx, 0x820da75
add edi, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0xa5eb
rol eax, 0xb
ror ecx, 0xb
xor eax, ecx
imul rax, r14
mov qword [rsp + 0x40], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x40]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, r14
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x40]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov r9d, edx
sar r9d, 0x1f
btr r9d, 0x1f
add r9d, edx
add edi, r9d
cmp r8, r10
mov dword [rsp + 0xa4], r9d
mov dword [rsp + 0xa0], edi
jb 0x100268c2f
mov rdi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x48]
mov r14d, dword [rsp + 0x58]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
mov al, byte [rsp + rax + 0xa0]
cmp rcx, r12
mov byte [rsp + rcx + 0x1c7], al
jb 0x100268cdb
mov eax, 0x6cabf8e3
mov r11, rdi
mov rax, qword [rsp + 0x1c8]
mov r9b, r13b
mov qword [rsp + 0x40], rdi
and r9d, 7
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x38], rbp
je 0x10026921a
xor r10d, r10d
mov r13d, r14d
xor edi, edi
not r13d
and dword [rsp + 0x30], r10d
mov dword [rsp + 0x68], r10d
test r9d, r9d
jle 0x100268d76
lea r8d, [r10 + 0x38]
movzx edx, byte [r11]
cmp edi, esi
jge 0x100268d55
lea ecx, [r8 - 0x20]
shl edx, cl
or dword [rsp + 0x30], edx
jmp 0x100268d5d
mov ecx, r8d
shl edx, cl
or r10d, edx
add edi, 1
add r11, 1
sub r8d, r12d
cmp edi, r9d
jl 0x100268d41
mov dword [rsp + 0x68], r10d
mov qword [rsp + 0x40], r11
movzx r10d, ax
movzx r8d, word [rsp + 0x1ca]
mov ecx, r14d
movzx r11d, word [rsp + 0x1ce]
mov edx, dword [rsp + 0x1cc]
movzx edi, dx
ror ecx, 1
xor ecx, r11d
imul ecx, edi
xor r13d, ecx
mov ecx, r13d
mov r9d, r13d
xor r9d, eax
rol r9d, 4
rol ecx, 1
imul r9d, edi
sub r9d, ecx
xor r9d, r14d
mov ecx, r9d
add edx, r9d
rol edx, 7
ror ecx, 2
imul edx, r8d
add ecx, edx
xor r13d, ecx
mov edx, r13d
xor edx, r8d
rol edx, 7
mov ecx, r13d
ror ecx, 8
imul edx, r10d
xor ecx, edx
xor r9d, ecx
mov ecx, r9d
mov edx, r9d
sub edx, eax
rol edx, 1
rol ecx, 8
imul edx, r11d
sub edx, ecx
xor r13d, edx
mov r14d, r13d
sub r14d, edi
xor r14d, r9d
xor r14d, eax
mov ecx, r14d
mov r9d, dword [rsp + 0x1cc]
mov edx, r9d
sub edx, r14d
ror edx, 0xf
rol ecx, 0xc
imul edx, r8d
xor ecx, edx
mov edx, r9d
xor r13d, ecx
sub edx, r13d
rol edx, 0xf
mov ecx, r13d
rol ecx, 2
imul edx, r10d
add ecx, edx
xor r14d, ecx
mov ecx, r14d
mov edx, r14d
sub edx, edi
shr ecx, 0xe
imul edx, r11d
sub edx, ecx
xor r13d, edx
mov ecx, r13d
mov edx, r13d
sub edx, r11d
shr ecx, 0xa
rol edx, 3
imul edx, edi
xor edx, ecx
xor r14d, edx
xor r13d, r14d
xor r13d, eax
xor r13d, r9d
mov ecx, r13d
mov edx, r13d
ror edx, 9
xor r13d, dword [rsp + 0x68]
mov r8d, r13d
xor ecx, edi
xor r9d, r9d
imul ecx, r10d
xor edx, ecx
xor edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
xor r14d, edx
mov edx, r14d
test ecx, ecx
jle 0x100268ee0
mov rax, rbp
cmp r9d, esi
jge 0x100268ebc
rol edx, 8
mov byte [rax], dl
add rax, 1
xor bl, dl
jmp 0x100268eca
rol r8d, 8
mov byte [rax], r8b
add rax, 1
xor bl, r8b
add r9d, 1
cmp r9d, ecx
jl 0x100268eaa
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x1c8]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1002691ff
sub esi, ecx
shl esi, 3
mov ecx, esi
shr r13d, cl
shl r13d, cl
mov r11, qword [rsp + 0x40]
mov esi, dword [rsp + 0x68]
mov rdi, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov rcx, r10
shr rcx, 3
mov qword [rsp + 0x20], rcx
je 0x100269149
mov ebp, dword [rsp + 0x1cc]
movzx edx, word [rsp + 0x1ce]
movzx ecx, word [rsp + 0x1ca]
mov rdi, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x20]
mov dword [rsp + 0x60], ecx
mov ecx, edx
mov dword [rsp + 0x70], edx
neg ecx
mov dword [rsp + 0x40], ecx
movzx ecx, bp
mov dword [rsp + 0x68], ecx
movzx ecx, ax
mov dword [rsp + 0x58], ecx
movzx r8d, byte [r11 + 4]
movzx ecx, byte [r11 + 1]
movzx r9d, byte [r11]
shl r9d, 8
shl r8d, 8
or r9d, ecx
movzx ecx, byte [r11 + 2]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 3]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 5]
or r8d, ecx
xor r14d, r9d
movzx ecx, byte [r11 + 6]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r11 + 7]
add r11, r12
shl r8d, 8
or r8d, ecx
mov ecx, r14d
ror ecx, 1
xor ecx, edx
imul ecx, dword [rsp + 0x68]
xor ecx, r8d
xor r13d, ecx
mov ecx, r13d
mov edx, r13d
xor edx, eax
rol edx, 4
rol ecx, 1
imul edx, dword [rsp + 0x68]
sub edx, ecx
xor r14d, edx
lea edx, [r14 + rbp]
mov ecx, r14d
rol edx, 7
ror ecx, 2
imul edx, dword [rsp + 0x60]
add ecx, edx
xor r13d, ecx
mov edx, r13d
movzx ecx, word [rsp + 0x1ca]
xor edx, ecx
mov ecx, r13d
rol edx, 7
ror ecx, 8
imul edx, dword [rsp + 0x58]
xor ecx, edx
xor r14d, ecx
mov ecx, r14d
mov edx, r14d
sub edx, eax
rol edx, 1
rol ecx, 8
imul edx, dword [rsp + 0x70]
sub edx, ecx
xor r13d, edx
mov ecx, r13d
sub ecx, dword [rsp + 0x68]
xor r14d, ecx
mov edx, ebp
xor r14d, eax
sub edx, r14d
ror edx, 0xf
mov ecx, r14d
rol ecx, 0xc
imul edx, dword [rsp + 0x60]
xor ecx, edx
mov edx, ebp
xor r13d, ecx
mov ecx, r13d
sub edx, r13d
rol edx, 0xf
rol ecx, 2
imul edx, dword [rsp + 0x58]
add ecx, edx
xor r14d, ecx
mov edx, r14d
mov ecx, r14d
sub edx, dword [rsp + 0x68]
shr ecx, 0xe
imul edx, dword [rsp + 0x70]
sub edx, ecx
xor r13d, edx
mov edx, dword [rsp + 0x40]
mov ecx, r13d
add edx, r13d
rol edx, 3
shr ecx, 0xa
imul edx, dword [rsp + 0x68]
xor edx, ecx
xor r14d, edx
xor r13d, r14d
xor r13d, eax
xor r13d, ebp
mov edx, r13d
mov ecx, r13d
xor r13d, esi
mov esi, r8d
xor ecx, dword [rsp + 0x68]
ror edx, 9
imul ecx, dword [rsp + 0x58]
xor edx, ecx
xor edx, r10d
mov r10d, r9d
xor r14d, edx
xor bl, r14b
mov edx, dword [rsp + 0x70]
mov byte [rdi + 3], r14b
xor bl, r13b
mov byte [rdi + 7], r13b
ror r14d, 8
mov byte [rdi + 2], r14b
ror r13d, 8
mov byte [rdi + 6], r13b
xor bl, r14b
ror r14d, 8
mov byte [rdi + 1], r14b
xor bl, r13b
ror r13d, 8
xor bl, r14b
mov byte [rdi + 5], r13b
ror r14d, 8
xor bl, r13b
ror r13d, 8
mov byte [rdi], r14b
mov byte [rdi + 4], r13b
mov cl, r13b
xor cl, r14b
add rdi, r12
xor bl, cl
ror r14d, 8
ror r13d, 8
sub r15, 1
jne 0x100268f61
mov r15, 0xfffffffffffff000
mov r10, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
cmp bl, byte [r10 + rdi + 8]
je 0x100269244
call fcn.1002d3e40
mov r8d, 0xffff
lea rbp, [0x1003e8888]
mov rbx, rax
mov rax, qword [rsp + 0xd8]
and rbx, r15
mov qword [rax + 0x10], rbp
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
mov rax, qword [0x100495210]
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
shr r8, 0x10
jne 0x100269194
mov qword [0x100495210], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd0]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
add r9, 1
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], 0
jmp 0x10026923a
xor r13d, r13d
test ecx, ecx
jns 0x100268ef8
neg ecx
shl ecx, 3
shr r14d, cl
shl r14d, cl
jmp 0x100268ef8
mov esi, r14d
mov dword [rsp + 0x30], r14d
not esi
xor r13d, r13d
xor r14d, r14d
jmp 0x100268f06
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r12
cmp r10, r11
jb 0x10026922f
jmp 0x100268687
mov rax, qword [0x1003f4900]
lea r14, [0x100000000]
mov rsi, rdi
mov r12, r14
sub rsi, rbp
sub r12, rax
jne 0x100269269
test rsi, rsi
je 0x10026867c
xor r8d, r8d
mov rbx, rbp
mov rcx, qword [0x1000016e8]
lea r15, [0x100000000]
lea r9d, [rcx - 1]
sub rbx, rdi
sub edi, r14d
test r9d, r9d
lea r13d, [rdi + r10]
js 0x1002692c1
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x16ec]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x1002692b6
lea r9d, [rdx - 1]
jmp 0x1002692bc
jbe 0x1002692c9
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x100269290
movsxd r11, r8d
jmp 0x10026934c
mov r11, rdx
jmp 0x10026934c
mov edx, dword [r15 + r11*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, r13d
jae 0x10026867c
mov r9, rdx
mov r8d, edx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r14
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x100269327
sub r8d, 1
je 0x100269322
cmp r8d, 1
jne 0x10026932d
mov r10, r12
jmp 0x10026932d
mov r10, rsi
jmp 0x10026932d
mov r10, r12
sub r10, rsi
sub edx, 2
je 0x10026933d
cmp edx, 1
jne 0x100269348
add qword [r9 + rbx], r10
jmp 0x100269341
add dword [r9 + rbx], r10d
mov rcx, qword [0x1000016e8]
add r11, 1
mov eax, ecx
cmp r11, rax
jb 0x1002692ce
jmp 0x10026867c
mov edx, dword [0x10000003c]
cmp rdi, r15
jb 0x10026f39c
movsxd rax, edx
mov ecx, dword [rax + r15 + 0x50]
add rcx, r15
cmp rdi, rcx
jae 0x100269f92
mov r8d, edi
mov ecx, dword [0x10002f890]
sub r8d, r15d
sub ecx, 1
mov r9d, r12d
js 0x1002693c5
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x1537d4]
and eax, r11d
mov r10, rdx
cmp r8d, eax
jae 0x1002693b6
lea ecx, [rdx - 1]
jmp 0x1002693c0
jbe 0x10026955a
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x100269393
mov rdx, r12
cmp rdx, r12
je 0x100269f8c
mov r8, r12
mov r13d, dword [rdx]
mov r10d, dword [0x1002f3aa4]
mov rax, r13
shr r13, 1
and r13, r11
shr rax, 0x1d
mov qword [rsp + 0x58], r13
sub r10, r13
lea r14, [rax + rdx + 8]
mov qword [rsp + 0x50], r14
add r10, 1
mov r11, r10
mov r9d, r14d
sub r9d, r15d
mov dword [rsp + 0x60], r9d
cmp r10, r12
je 0x100269446
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
shr r11, 0x10
jne 0x10026941b
mov qword [0x100495210], rax
mov ecx, r9d
xor edx, edx
mov rax, r8
div r10
lea rbp, [rsi + rdx]
mov qword [rsp + 0x78], rbp
mov rdx, r13
mov r8, rbp
mov eax, 0xb6c840f3
mov bl, r12b
mov r11, qword [r14 + r13]
mov qword [rsp + 0x150], r11
lea rcx, [rsp + 0x150]
mov eax, 0x2d4b7bc
mov rcx, r15
mov rdi, qword [rsp + 0x150]
mov eax, 0xfffffff
and rdi, rax
mov r8d, dword [rsp + 0x154]
and r8, rax
mov rax, qword [0x1003f4900]
mov esi, 4
mov qword [rsp + 0xc0], r12
add rdi, r15
sub rcx, rax
mov qword [rsp + 0x48], rcx
lea r12d, [rsi + 4]
mov r15, 0xfffffffffffff000
jne 0x10026957a
xor r10d, r10d
test r8, r8
je 0x1002698e8
mov r9d, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xc4]
movzx eax, byte [rdi + r10]
add r10, 1
add eax, 0x2a318641
add r9d, eax
add eax, ecx
imul eax, eax, 0x2a318641
ror eax, 0x10
imul rax, rax, 0x2a318641
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov ecx, edx
sar ecx, 0x1f
btr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x2a318641
ror ecx, 0x10
mov dword [rsp + 0xc4], ecx
add r9d, ecx
cmp r10, r8
mov dword [rsp + 0xc0], r9d
jb 0x1002694ea
jmp 0x1002698e8
mov edx, dword [rbx + rdx*8 + 0x1537d0]
mov eax, dword [rbx + r10*8 + 0x1537d4]
shr edx, 1
and eax, r11d
and edx, ebp
add edx, eax
add rdx, r15
jmp 0x1002693c8
movsxd rcx, dword [0x10000003c]
lea rax, [rdi + r8]
lea rdx, [0x100000000]
mov r9d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x68], rax
mov eax, edi
sub eax, edx
add r9, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
mov r11d, eax
and r11, r15
sub rax, r11
mov qword [rsp + 0x20], rax
lea rax, [rcx + r8]
mov rcx, rax
and rcx, r15
mov qword [rsp + 0x38], rcx
sub rax, rcx
add rdx, r9
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x40], rax
jmp 0x1002695e7
mov eax, dword [r9]
cmp rax, r11
jae 0x1002695ec
mov eax, dword [r9 + 4]
add r9, rax
cmp r9, rdx
jne 0x1002695d8
mov r10d, 0xfff
xor r14d, r14d
cmp r9, rdx
je 0x10026962f
mov eax, dword [r9]
cmp rax, r11
jne 0x10026962f
mov ecx, dword [r9 + 4]
sub rcx, r12
shr rcx, 1
je 0x10026962a
mov r8, qword [rsp + 0x20]
mov ax, word [r9 + r14*2 + 8]
and rax, r10
cmp rax, r8
jae 0x10026962a
add r14, 1
cmp r14, rcx
jne 0x100269613
mov rcx, qword [rsp + 0x38]
mov r8d, dword [rsp + 0xc4]
lea r15, [0x100000000]
mov r11d, dword [rsp + 0xc0]
mov rbp, qword [rsp + 0x48]
cmp r9, rdx
je 0x10026984f
mov eax, dword [r9]
cmp rax, rcx
ja 0x10026984f
mov ebx, dword [r9 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp r14, rax
jne 0x10026968d
add r9, rbx
cmp r9, rdx
je 0x10026984f
mov eax, dword [r9]
cmp rax, rcx
ja 0x10026984f
xor r14d, r14d
jmp 0x100269660
mov eax, dword [r9]
cmp rax, rcx
jne 0x1002696a9
mov ax, word [r9 + r14*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x40]
jae 0x10026984f
mov rax, r14
add r14, 1
test word [r9 + rax*2 + 8], 0xf000
mov qword [rsp + 0x70], rax
je 0x10026964b
mov ax, word [r9 + rax*2 + 8]
xor r13d, r13d
and eax, r10d
add eax, dword [r9]
add rax, r15
mov qword [rsp + 0x48], rax
mov rcx, rax
sub rcx, rdi
je 0x10026975a
mov rbx, rcx
movzx eax, byte [r13 + rdi]
add r13, 1
add eax, 0x2a318641
add r11d, eax
add eax, r8d
imul eax, eax, 0x2a318641
ror eax, 0x10
imul rax, rax, 0x2a318641
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov r8d, edx
sar r8d, 0x1f
btr r8d, 0x1f
add r8d, edx
imul r8d, r8d, 0x2a318641
ror r8d, 0x10
mov dword [rsp + 0xc4], r8d
add r11d, r8d
cmp r13, rbx
mov dword [rsp + 0xc0], r11d
jb 0x1002696e1
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x70]
movzx ecx, word [r9 + rcx*2 + 8]
mov qword [rsp + 0x120], rax
shr ecx, 0xc
cmp ecx, 3
je 0x100269784
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x100269789
mov edx, 2
mov rdi, rbp
neg rdi
sub edx, 2
je 0x1002697af
cmp edx, 1
je 0x10026979f
or rdi, 0xffffffffffffffff
jmp 0x1002697b9
add rax, rdi
mov rdi, r12
mov qword [rsp + 0x120], rax
jmp 0x1002697b9
add dword [rsp + 0x120], edi
mov rdi, rsi
xor r13d, r13d
test rdi, rdi
je 0x100269838
movzx eax, byte [rsp + r13 + 0x120]
add r13, 1
add eax, 0x2a318641
add r11d, eax
add eax, r8d
imul eax, eax, 0x2a318641
ror eax, 0x10
imul rax, rax, 0x2a318641
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x20]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov r8d, edx
sar r8d, 0x1f
btr r8d, 0x1f
add r8d, edx
imul r8d, r8d, 0x2a318641
ror r8d, 0x10
add r11d, r8d
cmp r13, rdi
jb 0x1002697c1
mov dword [rsp + 0xc4], r8d
mov dword [rsp + 0xc0], r11d
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
add rdi, rax
jmp 0x10026964b
mov r13, qword [rsp + 0x58]
xor r9d, r9d
mov r10, qword [rsp + 0x68]
sub r10, rdi
mov rbp, qword [rsp + 0x78]
mov bl, r9b
mov r15, 0xfffffffffffff000
je 0x1002698e3
movzx eax, byte [r9 + rdi]
add r9, 1
add eax, 0x2a318641
add r11d, eax
add eax, r8d
imul eax, eax, 0x2a318641
ror eax, 0x10
imul rax, rax, 0x2a318641
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov r8d, edx
sar r8d, 0x1f
btr r8d, 0x1f
add r8d, edx
imul r8d, r8d, 0x2a318641
ror r8d, 0x10
mov dword [rsp + 0xc4], r8d
add r11d, r8d
mov dword [rsp + 0xc0], r11d
cmp r9, r10
jb 0x100269870
mov r14, qword [rsp + 0x50]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
cmp rcx, r12
mov al, byte [rsp + rax + 0xc0]
mov byte [rsp + rcx + 0x197], al
jb 0x1002698ea
mov eax, 0x89f3356a
mov rax, qword [rsp + 0x198]
mov r9b, r13b
mov r13d, dword [rsp + 0x60]
mov qword [rsp + 0x48], r14
and r9d, 7
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x38], rbp
je 0x100269e4b
xor r10d, r10d
mov r14d, r13d
not r14d
xor edi, edi
xor r11d, r11d
test r9d, r9d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x68], edi
jle 0x100269999
lea r8d, [r10 + 0x38]
mov rax, qword [rsp + 0x48]
cmp r11d, esi
movzx edx, byte [rax]
jge 0x10026996b
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x100269973
mov ecx, r8d
shl edx, cl
or r10d, edx
add r11d, 1
add rax, 1
sub r8d, r12d
cmp r11d, r9d
jl 0x100269959
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x198]
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x30], r10d
movzx r8d, word [rsp + 0x19e]
movzx r11d, ax
mov edi, r14d
movzx r9d, word [rsp + 0x19c]
movzx r10d, word [rsp + 0x19a]
ror edi, 9
sub edi, r11d
imul edi, r10d
xor edi, r13d
mov edx, edi
mov r13d, dword [rsp + 0x19c]
mov ecx, edi
ror edx, 1
xor ecx, r9d
imul ecx, r8d
xor edx, ecx
xor r14d, edx
mov ecx, r14d
mov edx, eax
sub edx, r14d
ror edx, 0xd
rol ecx, 0xf
imul edx, r9d
sub edx, ecx
xor edi, edx
xor r14d, edi
xor r14d, r13d
xor r14d, eax
mov edx, r14d
sub edx, r13d
ror edx, 1
mov ecx, r14d
ror ecx, 9
imul edx, r11d
xor ecx, edx
xor edi, ecx
mov ecx, eax
mov edx, edi
xor edx, r13d
sub ecx, edx
xor r14d, ecx
mov ecx, r14d
mov edx, r14d
xor edx, eax
rol edx, 2
rol ecx, 5
imul edx, r9d
sub edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
shr ecx, 6
xor edx, r11d
rol edx, 1
imul edx, r10d
add edx, ecx
xor r14d, edx
mov ecx, r14d
not ecx
ror ecx, 0xa
add ecx, r11d
imul ecx, r9d
xor edi, ecx
mov r13d, edi
sub r13d, r8d
xor r13d, r14d
xor r13d, eax
mov ecx, r13d
mov edx, r13d
xor ecx, r10d
ror edx, 0xa
imul ecx, r9d
add edx, ecx
xor edi, edx
mov ecx, edi
sub ecx, r10d
sub ecx, dword [rsp + 0x19c]
xor r13d, ecx
mov ecx, r13d
mov edx, r13d
sub edx, dword [rsp + 0x19c]
ror edx, 0xd
imul edx, r11d
xor r13d, dword [rsp + 0x30]
mov r8d, r13d
ror ecx, 9
xor r9d, r9d
sub edx, ecx
mov ecx, dword [rsp + 0x68]
xor edx, ecx
xor edi, edx
mov rcx, qword [rsp + 0x20]
mov edx, edi
test ecx, ecx
jle 0x100269afe
mov rax, rbp
cmp r9d, esi
jge 0x100269ada
rol edx, 8
mov byte [rax], dl
add rax, 1
xor bl, dl
jmp 0x100269ae8
rol r8d, 8
mov byte [rax], r8b
add rax, 1
xor bl, r8b
add r9d, 1
cmp r9d, ecx
jl 0x100269ac8
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x198]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x100269e32
sub esi, ecx
shl esi, 3
mov ecx, esi
shr r13d, cl
shl r13d, cl
mov esi, dword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rcx, r11
shr rcx, 3
mov qword [rsp + 0x20], rcx
je 0x100269d7c
mov r11, qword [rsp + 0x38]
movzx ecx, word [rsp + 0x19e]
movzx edx, ax
mov r15d, dword [rsp + 0x68]
movzx r8d, word [rsp + 0x19c]
mov rbp, qword [rsp + 0x20]
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x30], edx
movzx r10d, byte [r14]
movzx ecx, byte [r14 + 1]
shl r10d, 8
movzx r9d, byte [r14 + 4]
shl r9d, 8
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r14 + 2]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r14 + 3]
or r10d, ecx
movzx ecx, byte [r14 + 5]
or r9d, ecx
movzx ecx, byte [r14 + 6]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r14 + 7]
add r14, r12
shl r9d, 8
or r9d, ecx
xor r13d, r9d
mov ecx, r13d
ror ecx, 9
sub ecx, edx
movzx edx, word [rsp + 0x19a]
imul ecx, edx
xor ecx, r10d
xor edi, ecx
mov ecx, edi
mov edx, edi
ror edx, 1
xor ecx, r8d
imul ecx, dword [rsp + 0x40]
xor edx, ecx
xor r13d, edx
mov ecx, r13d
mov edx, eax
sub edx, r13d
ror edx, 0xd
rol ecx, 0xf
imul edx, r8d
sub edx, ecx
xor edi, edx
xor r13d, edi
xor r13d, dword [rsp + 0x19c]
xor r13d, eax
mov r8d, r13d
mov ecx, r13d
mov edx, r13d
movzx r13d, word [rsp + 0x19c]
sub edx, dword [rsp + 0x19c]
ror edx, 1
ror ecx, 9
imul edx, dword [rsp + 0x30]
xor ecx, edx
xor edi, ecx
mov edx, edi
mov ecx, eax
xor edx, dword [rsp + 0x19c]
sub ecx, edx
xor r8d, ecx
mov edx, r8d
xor edx, eax
rol edx, 2
mov ecx, r8d
rol ecx, 5
imul edx, r13d
sub edx, ecx
movzx ecx, word [rsp + 0x19a]
xor edi, edx
mov edx, edi
xor edx, dword [rsp + 0x30]
rol edx, 1
imul edx, ecx
mov ecx, edi
shr ecx, 6
add edx, ecx
xor r8d, edx
mov ecx, r8d
not ecx
ror ecx, 0xa
add ecx, dword [rsp + 0x30]
imul ecx, r13d
xor edi, ecx
movzx ecx, word [rsp + 0x19e]
mov r13d, edi
sub r13d, ecx
xor r13d, r8d
movzx r8d, word [rsp + 0x19a]
xor r13d, eax
mov ecx, r13d
mov edx, r13d
xor ecx, r8d
ror edx, 0xa
movzx r8d, word [rsp + 0x19c]
imul ecx, r8d
add edx, ecx
xor edi, edx
movzx edx, word [rsp + 0x19a]
mov ecx, edi
sub ecx, edx
sub ecx, dword [rsp + 0x19c]
xor r13d, ecx
mov edx, r13d
mov ecx, r13d
xor r13d, esi
sub edx, dword [rsp + 0x19c]
ror edx, 0xd
mov esi, r9d
ror ecx, 9
imul edx, dword [rsp + 0x30]
sub edx, ecx
xor edx, r15d
xor edi, edx
xor bl, dil
mov r15d, r10d
mov edx, dword [rsp + 0x30]
xor bl, r13b
mov byte [r11 + 3], dil
ror edi, 8
mov byte [r11 + 7], r13b
mov byte [r11 + 2], dil
ror r13d, 8
mov byte [r11 + 6], r13b
xor bl, dil
ror edi, 8
mov byte [r11 + 1], dil
xor bl, r13b
ror r13d, 8
mov byte [r11 + 5], r13b
xor bl, dil
ror edi, 8
xor bl, r13b
ror r13d, 8
mov byte [r11], dil
mov byte [r11 + 4], r13b
mov cl, r13b
xor cl, dil
add r11, r12
xor bl, cl
ror edi, 8
ror r13d, 8
sub rbp, 1
jne 0x100269b66
mov r15, 0xfffffffffffff000
mov r11, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x78]
cmp bl, byte [r14 + r11 + 8]
je 0x100269e74
call fcn.1002d3e40
mov rbx, rax
mov r8d, 0xffff
lea rbp, [0x1003e8888]
and rbx, r15
mov rax, qword [rsp + 0xd8]
mov qword [rax + 0x10], rbp
lea r10, [rax + 0x18]
mov rax, qword [0x100495210]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
shr r8, 0x10
jne 0x100269dc7
mov qword [0x100495210], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd0]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
add r9, 1
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], 0
jmp 0x100269e6a
xor r13d, r13d
test ecx, ecx
jns 0x100269b16
neg ecx
shl ecx, 3
shr edi, cl
shl edi, cl
jmp 0x100269b16
mov esi, r13d
not esi
mov dword [rsp + 0x68], r13d
xor r13d, r13d
xor edi, edi
jmp 0x100269b1f
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r12
cmp r10, r11
jb 0x100269e5f
jmp 0x100268687
mov rdi, r14
lea r13, [0x100000000]
mov rsi, r13
mov rax, qword [0x1003f4900]
sub rdi, rbp
sub rsi, rax
jne 0x100269e99
test rdi, rdi
je 0x10026867c
lea r15, [0x100000000]
mov rbx, rbp
xor r8d, r8d
sub rbx, r14
mov rcx, qword [0x1000016e8]
sub r14d, r13d
lea r9d, [rcx - 1]
lea r12d, [r14 + r11]
test r9d, r9d
js 0x100269ef1
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x16ec]
and r10d, 0xfffffff
cmp r14d, r10d
jae 0x100269ee6
lea r9d, [rdx - 1]
jmp 0x100269eec
jbe 0x100269ef9
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x100269ec0
movsxd r11, r8d
jmp 0x100269f7c
mov r11, rdx
jmp 0x100269f7c
mov edx, dword [r15 + r11*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, r12d
jae 0x10026867c
mov r9, rdx
mov r8d, edx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r13
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x100269f57
sub r8d, 1
je 0x100269f52
cmp r8d, 1
jne 0x100269f5d
mov r10, rsi
jmp 0x100269f5d
mov r10, rdi
jmp 0x100269f5d
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x100269f6d
cmp edx, 1
jne 0x100269f78
add qword [r9 + rbx], r10
jmp 0x100269f71
add dword [r9 + rbx], r10d
mov rcx, qword [0x1000016e8]
add r11, 1
mov eax, ecx
cmp r11, rax
jb 0x100269efe
jmp 0x10026867c
mov edx, dword [0x10000003c]
cmp rdi, r15
jb 0x10026f39c
movsxd rax, edx
mov ecx, dword [rax + r15 + 0x50]
add rcx, r15
cmp rdi, rcx
jae 0x10026ab3b
mov ecx, dword [0x10030e034]
mov r8d, edi
mov r9d, r12d
sub r8d, r15d
sub ecx, 1
js 0x100269ff5
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x593d4]
and eax, r11d
cmp r8d, eax
jae 0x100269fe6
lea ecx, [rdx - 1]
jmp 0x100269ff0
jbe 0x10026a16c
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x100269fc3
mov rdx, r12
cmp rdx, r12
je 0x10026ab35
mov r8, r12
mov r9d, dword [0x1002f3aa4]
mov edi, dword [rdx]
mov rax, rdi
and rdi, r11
shr rax, 0x1d
sub r9, rdi
mov qword [rsp + 0x48], rdi
lea r14, [rax + rdx + 8]
add r9, 1
mov r13d, r14d
mov qword [rsp + 0x70], r14
sub r13d, r15d
mov dword [rsp + 0x58], r13d
mov r10, r9
cmp r9, r12
je 0x10026a072
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
shr r10, 0x10
jne 0x10026a047
mov qword [0x100495210], rax
mov rax, r8
mov ecx, r13d
xor edx, edx
div r9
lea rbp, [rsi + rdx]
mov qword [rsp + 0x78], rbp
mov r8, rbp
mov rdx, rdi
mov eax, 0x7a4da872
lea rcx, [rsp + 0x170]
mov r11, qword [rdi + r14]
mov bl, r12b
mov qword [rsp + 0x170], r11
mov eax, 0x67c1c882
mov rcx, r15
mov eax, 0xfffffff
mov r11, qword [rsp + 0x170]
mov r9d, dword [rsp + 0x174]
mov esi, 4
and r11, rax
and r9, rax
add r11, r15
mov r15, 0xfffffffffffff000
mov rax, qword [0x1003f4900]
sub rcx, rax
mov qword [rsp + 0x90], r12
lea r12d, [rsi + 4]
mov qword [rsp + 0x50], rcx
jne 0x10026a18a
xor r8d, r8d
test r9, r9
je 0x10026a4a9
mov edx, dword [rsp + 0x90]
mov r10d, 0xe373700e
mov ecx, dword [rsp + 0x94]
movzx eax, byte [r8 + r11]
add r8, 1
sub eax, 0x1c8c8ff2
add edx, eax
add eax, ecx
imul rax, r10
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x20]
add ecx, eax
imul ecx, ecx, 0xe373700e
ror ecx, 0x11
imul ecx, ecx, 0xe373700e
ror ecx, 0x11
add edx, ecx
cmp r8, r9
mov dword [rsp + 0x94], ecx
mov dword [rsp + 0x90], edx
jb 0x10026a11b
jmp 0x10026a4a9
mov eax, dword [rbx + r10*8 + 0x593d0]
mov edx, dword [rbx + rdx*8 + 0x593d4]
and edx, r11d
and eax, ebp
add edx, eax
add rdx, r15
jmp 0x100269ff8
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
lea rax, [r11 + r9]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x30], rax
mov eax, r11d
sub eax, edx
mov r13d, eax
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
and r13, r15
sub rax, r13
mov qword [rsp + 0x20], rax
lea rax, [rcx + r9]
mov rcx, rax
and rcx, r15
mov qword [rsp + 0x38], rcx
sub rax, rcx
add rdx, r8
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x60], rax
jmp 0x10026a1f8
mov eax, dword [r8]
cmp rax, r13
jae 0x10026a1fd
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rdx
jne 0x10026a1e9
xor edi, edi
cmp r8, rdx
mov r10d, 0xfff
je 0x10026a23f
mov eax, dword [r8]
cmp rax, r13
jne 0x10026a23f
mov ecx, dword [r8 + 4]
sub rcx, r12
shr rcx, 1
je 0x10026a23a
mov rdx, qword [rsp + 0x20]
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, rdx
jae 0x10026a23a
add rdi, 1
cmp rdi, rcx
jne 0x10026a223
mov rcx, qword [rsp + 0x38]
mov r15d, 0xe373700e
mov r14, qword [rsp + 0x50]
lea rbp, [0x100000000]
mov edx, dword [rsp + 0x94]
mov r9d, dword [rsp + 0x90]
mov r13, qword [rsp + 0x40]
cmp r8, r13
je 0x10026a42b
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026a42b
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp rdi, rax
jne 0x10026a2a6
add r8, rbx
cmp r8, r13
je 0x10026a42b
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026a42b
xor edi, edi
jmp 0x10026a27a
mov eax, dword [r8]
cmp rax, rcx
jne 0x10026a2c2
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x60]
jae 0x10026a42b
mov rax, rdi
add rdi, 1
test word [r8 + rax*2 + 8], 0xf000
mov qword [rsp + 0x50], rax
je 0x10026a265
xor ebx, ebx
mov ax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
mov r13d, eax
add r13, rbp
mov rax, r13
sub rax, r11
je 0x10026a34e
mov ecx, 0xe373700e
mov r15, rax
movzx eax, byte [rbx + r11]
add rbx, 1
sub eax, 0x1c8c8ff2
add r9d, eax
add eax, edx
imul rax, rcx
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
imul edx, edx, 0xe373700e
ror edx, 0x11
imul edx, edx, 0xe373700e
ror edx, 0x11
add r9d, edx
mov dword [rsp + 0x94], edx
mov dword [rsp + 0x90], r9d
cmp rbx, r15
jb 0x10026a2fc
mov r15, rcx
mov rax, qword [r13]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [r8 + rcx*2 + 8]
mov qword [rsp + 0x110], rax
shr ecx, 0xc
cmp ecx, 3
je 0x10026a37b
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x10026a381
mov r11d, 2
mov rcx, r14
neg rcx
sub r11d, 2
mov qword [rsp + 0x50], rcx
je 0x10026a3b3
cmp r11d, 1
je 0x10026a39e
or rcx, 0xffffffffffffffff
jmp 0x10026a3c2
mov rcx, qword [rsp + 0x50]
add rax, rcx
mov rcx, r12
mov qword [rsp + 0x110], rax
jmp 0x10026a3c2
mov rcx, qword [rsp + 0x50]
add dword [rsp + 0x110], ecx
mov rcx, rsi
xor r11d, r11d
test rcx, rcx
je 0x10026a41d
movzx eax, byte [rsp + r11 + 0x110]
add r11, 1
sub eax, 0x1c8c8ff2
add r9d, eax
add eax, edx
imul rax, r15
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
imul edx, edx, 0xe373700e
ror edx, 0x11
imul edx, edx, 0xe373700e
ror edx, 0x11
add r9d, edx
cmp r11, rcx
jb 0x10026a3ca
mov dword [rsp + 0x94], edx
mov dword [rsp + 0x90], r9d
lea r11, [rcx + r13]
mov rcx, qword [rsp + 0x38]
jmp 0x10026a260
mov r8, qword [rsp + 0x30]
xor ecx, ecx
mov bl, cl
mov r14, qword [rsp + 0x70]
sub r8, r11
mov rbp, qword [rsp + 0x78]
mov r15, 0xfffffffffffff000
je 0x10026a49f
mov r13d, 0xe373700e
movzx eax, byte [rcx + r11]
add rcx, 1
sub eax, 0x1c8c8ff2
add r9d, eax
add eax, edx
imul rax, r13
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
imul edx, edx, 0xe373700e
ror edx, 0x11
imul edx, edx, 0xe373700e
ror edx, 0x11
add r9d, edx
cmp rcx, r8
mov dword [rsp + 0x94], edx
mov dword [rsp + 0x90], r9d
jb 0x10026a450
mov r13d, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x48]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
mov al, byte [rsp + rax + 0x90]
mov byte [rsp + rcx + 0x1a7], al
cmp rcx, r12
jb 0x10026a4ab
mov eax, 0xc3da7c0f
mov rax, qword [rsp + 0x1a8]
mov r9b, dil
and r9d, 7
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x20], r9
mov r11, r14
mov qword [rsp + 0x38], rbp
je 0x10026a9f4
xor r10d, r10d
mov ecx, r13d
not ecx
xor edi, edi
and dword [rsp + 0x68], r10d
test r9d, r9d
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x30], r10d
jle 0x10026a54d
lea r8d, [r10 + 0x38]
movzx edx, byte [r11]
cmp edi, esi
jge 0x10026a528
lea ecx, [r8 - 0x20]
shl edx, cl
or dword [rsp + 0x68], edx
jmp 0x10026a530
mov ecx, r8d
shl edx, cl
or r10d, edx
add edi, 1
add r11, 1
sub r8d, r12d
cmp edi, r9d
jl 0x10026a514
mov ecx, dword [rsp + 0x40]
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x50], r11
movzx r8d, word [rsp + 0x1aa]
movzx r10d, word [rsp + 0x1ae]
movzx r9d, ax
movzx r11d, word [rsp + 0x1ac]
mov edi, r13d
sub edi, r10d
xor edi, ecx
xor edi, eax
mov r13d, edi
mov ecx, edi
xor ecx, r10d
ror r13d, 0xc
imul ecx, r11d
xor r13d, ecx
xor r13d, dword [rsp + 0x58]
mov ecx, r13d
mov edx, r13d
xor edx, r11d
rol edx, 2
rol ecx, 9
imul edx, r8d
sub edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
xor edx, r8d
rol edx, 7
ror ecx, 4
imul edx, r9d
xor ecx, edx
xor r13d, ecx
mov ecx, r13d
mov edx, r13d
xor edx, r8d
shr ecx, 7
imul edx, r10d
add edx, ecx
xor edi, edx
mov ecx, dword [rsp + 0x1ac]
mov edx, edi
xor edx, eax
sub ecx, edx
xor r13d, ecx
mov ecx, r13d
mov edx, r13d
xor edx, r11d
shr ecx, 6
rol edx, 4
imul edx, r8d
add edx, ecx
xor edi, edx
mov edx, edi
xor edx, dword [rsp + 0x1ac]
mov ecx, edi
ror edx, 0xa
rol ecx, 8
imul edx, r9d
add ecx, edx
xor r13d, ecx
mov edx, r13d
sub edx, eax
mov ecx, r13d
rol edx, 2
ror ecx, 9
imul edx, r10d
xor ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, edi
ror edx, 2
xor ecx, r9d
imul ecx, r11d
add edx, ecx
xor r13d, edx
mov ecx, r13d
mov edx, r13d
sub edx, r11d
shr ecx, 4
imul edx, r8d
sub edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
xor edi, dword [rsp + 0x30]
xor edx, dword [rsp + 0x1ac]
rol edx, 0xd
mov r8d, edi
ror ecx, 5
imul edx, r9d
xor r9d, r9d
sub edx, ecx
xor edx, dword [rsp + 0x68]
xor r13d, edx
mov rcx, qword [rsp + 0x20]
mov edx, r13d
test ecx, ecx
jle 0x10026a6ba
mov rax, rbp
cmp r9d, esi
jge 0x10026a696
rol edx, 8
mov byte [rax], dl
add rax, 1
xor bl, dl
jmp 0x10026a6a4
rol r8d, 8
mov byte [rax], r8b
add rax, 1
xor bl, r8b
add r9d, 1
cmp r9d, ecx
jl 0x10026a684
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x1a8]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x10026a9da
sub esi, ecx
shl esi, 3
mov ecx, esi
shr edi, cl
shl edi, cl
mov esi, dword [rsp + 0x30]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov rcx, r10
shr rcx, 3
mov qword [rsp + 0x20], rcx
je 0x10026a924
mov r15d, dword [rsp + 0x68]
movzx ecx, word [rsp + 0x1aa]
movzx ebp, word [rsp + 0x1ac]
mov r14, qword [rsp + 0x20]
movzx edx, word [rsp + 0x1ae]
mov r10, qword [rsp + 0x38]
mov dword [rsp + 0x40], ecx
movzx ecx, ax
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x30], ecx
movzx ecx, byte [r11]
shl ecx, 8
movzx r9d, byte [r11 + 1]
movzx r8d, byte [r11 + 4]
shl r8d, 8
or r9d, ecx
movzx ecx, byte [r11 + 2]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 3]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 5]
or r8d, ecx
xor r13d, r9d
movzx ecx, byte [r11 + 6]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r11 + 7]
add r11, r12
shl r8d, 8
or r8d, ecx
mov ecx, r13d
sub ecx, edx
xor ecx, r8d
xor edi, ecx
xor edi, eax
mov ecx, edi
mov edx, edi
xor ecx, dword [rsp + 0x60]
ror edx, 0xc
imul ecx, ebp
xor edx, ecx
xor r13d, edx
mov ecx, r13d
mov edx, r13d
xor edx, ebp
rol edx, 2
rol ecx, 9
imul edx, dword [rsp + 0x40]
sub edx, ecx
movzx ecx, word [rsp + 0x1aa]
xor edi, edx
mov edx, edi
xor edx, ecx
rol edx, 7
mov ecx, edi
ror ecx, 4
imul edx, dword [rsp + 0x30]
xor ecx, edx
xor r13d, ecx
movzx ecx, word [rsp + 0x1aa]
mov edx, r13d
xor edx, ecx
movzx ecx, word [rsp + 0x1ae]
imul edx, ecx
mov ecx, r13d
shr ecx, 7
add edx, ecx
mov ecx, dword [rsp + 0x1ac]
xor edi, edx
mov edx, edi
xor edx, eax
sub ecx, edx
xor r13d, ecx
mov edx, r13d
xor edx, ebp
movzx ecx, word [rsp + 0x1aa]
rol edx, 4
imul edx, ecx
mov ecx, r13d
shr ecx, 6
add edx, ecx
xor edi, edx
mov edx, edi
xor edx, dword [rsp + 0x1ac]
mov ecx, edi
ror edx, 0xa
rol ecx, 8
imul edx, dword [rsp + 0x30]
add ecx, edx
xor r13d, ecx
mov edx, r13d
mov ecx, r13d
sub edx, eax
rol edx, 2
ror ecx, 9
imul edx, dword [rsp + 0x60]
xor ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, edi
xor ecx, dword [rsp + 0x30]
ror edx, 2
imul ecx, ebp
add edx, ecx
movzx ecx, word [rsp + 0x1aa]
xor r13d, edx
mov edx, r13d
sub edx, ebp
imul edx, ecx
mov ecx, r13d
shr ecx, 4
sub edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
xor edi, esi
xor edx, dword [rsp + 0x1ac]
mov esi, r8d
rol edx, 0xd
ror ecx, 5
imul edx, dword [rsp + 0x30]
sub edx, ecx
xor edx, r15d
xor r13d, edx
mov r15d, r9d
movzx edx, word [rsp + 0x1ae]
xor bl, r13b
xor bl, dil
mov byte [r10 + 3], r13b
mov byte [r10 + 7], dil
ror r13d, 8
ror edi, 8
xor bl, r13b
mov byte [r10 + 2], r13b
ror r13d, 8
mov byte [r10 + 6], dil
mov byte [r10 + 1], r13b
xor bl, dil
ror edi, 8
xor bl, r13b
mov byte [r10 + 5], dil
ror r13d, 8
xor bl, dil
mov byte [r10], r13b
ror edi, 8
mov cl, dil
mov byte [r10 + 4], dil
xor cl, r13b
add r10, r12
xor bl, cl
ror r13d, 8
ror edi, 8
sub r14, 1
jne 0x10026a726
mov r14, qword [rsp + 0x70]
mov r10, qword [rsp + 0x48]
mov r15, 0xfffffffffffff000
mov rbp, qword [rsp + 0x78]
cmp bl, byte [r10 + r14 + 8]
je 0x10026aa1d
call fcn.1002d3e40
mov r8d, 0xffff
lea rbp, [0x1003e8888]
mov rbx, rax
and rbx, r15
mov rax, qword [rsp + 0xd8]
mov qword [rax + 0x10], rbp
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
mov rax, qword [0x100495210]
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
shr r8, 0x10
jne 0x10026a96f
mov qword [0x100495210], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd0]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
add r9, 1
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], 0
jmp 0x10026aa13
xor edi, edi
test ecx, ecx
jns 0x10026a6d0
neg ecx
shl ecx, 3
shr r13d, cl
shl r13d, cl
jmp 0x10026a6d0
mov dword [rsp + 0x68], r13d
xor edi, edi
mov esi, r13d
not esi
xor r13d, r13d
jmp 0x10026a6d9
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r12
cmp r10, r11
jb 0x10026aa08
jmp 0x100268687
mov rdi, r14
lea r13, [0x100000000]
mov rax, qword [0x1003f4900]
sub rdi, rbp
mov rsi, r13
sub rsi, rax
jne 0x10026aa42
test rdi, rdi
je 0x10026867c
xor r8d, r8d
lea r15, [0x100000000]
mov rcx, qword [0x1000016e8]
lea r9d, [rcx - 1]
mov rbx, rbp
sub rbx, r14
sub r14d, r13d
lea r12d, [r14 + r10]
test r9d, r9d
js 0x10026aa9a
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x16ec]
and r10d, 0xfffffff
cmp r14d, r10d
jae 0x10026aa8f
lea r9d, [rdx - 1]
jmp 0x10026aa95
jbe 0x10026aaa2
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x10026aa69
movsxd r11, r8d
jmp 0x10026ab25
mov r11, rdx
jmp 0x10026ab25
mov edx, dword [r15 + r11*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, r12d
jae 0x10026867c
mov r8d, edx
mov r9, rdx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r13
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x10026ab00
sub r8d, 1
je 0x10026aafb
cmp r8d, 1
jne 0x10026ab06
mov r10, rsi
jmp 0x10026ab06
mov r10, rdi
jmp 0x10026ab06
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x10026ab16
cmp edx, 1
jne 0x10026ab21
add qword [r9 + rbx], r10
jmp 0x10026ab1a
add dword [r9 + rbx], r10d
mov rcx, qword [0x1000016e8]
add r11, 1
mov eax, ecx
cmp r11, rax
jb 0x10026aaa7
jmp 0x10026867c
mov edx, dword [0x10000003c]
cmp rdi, r15
jb 0x10026f39c
movsxd rax, edx
add rax, r15
mov ecx, dword [rax + 0x50]
add rcx, r15
cmp rdi, rcx
jae 0x10026b783
mov ecx, dword [0x10005f7e0]
mov r8d, edi
sub r8d, r15d
mov r9d, r12d
sub ecx, 1
js 0x10026aba1
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x67610]
shr eax, 1
and eax, r11d
cmp r8d, eax
jae 0x10026ab92
lea ecx, [rdx - 1]
jmp 0x10026ab9c
jbe 0x10026ad3a
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x10026ab6d
mov rdx, r12
cmp rdx, r12
je 0x10026b77d
mov al, byte [rdx]
mov r9d, dword [0x1002f3aa4]
mov r8, r12
shr al, 1
mov r13d, dword [rdx + 4]
and r13, r11
mov qword [rsp + 0x48], r13
and eax, 7
lea rdi, [rax + rdx + 8]
sub r9, r13
mov qword [rsp + 0x50], rdi
add r9, 1
mov r14d, edi
mov r10, r9
sub r14d, r15d
mov dword [rsp + 0x58], r14d
cmp r9, r12
je 0x10026ac20
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
shr r10, 0x10
jne 0x10026abf5
mov qword [0x100495210], rax
mov ecx, r14d
xor edx, edx
mov rax, r8
div r9
lea rbp, [rsi + rdx]
mov qword [rsp + 0x78], rbp
mov rdx, r13
mov r8, rbp
mov eax, 0xd2dc1d51
mov r11, qword [rdi + r13]
lea rcx, [rsp + 0x138]
mov bl, r12b
mov qword [rsp + 0x138], r11
mov eax, 0x78ed901a
mov esi, 4
mov rcx, r15
mov r11, qword [rsp + 0x138]
mov r9d, dword [rsp + 0x13c]
mov eax, 0xfffffff
and r11, rax
and r9, rax
mov rax, qword [0x1003f4900]
mov qword [rsp + 0x88], r12
lea r12d, [rsi + 4]
add r11, r15
mov r15, 0xfffffffffffff000
sub rcx, rax
mov qword [rsp + 0x40], rcx
jne 0x10026ad5a
xor r10d, r10d
test r9, r9
je 0x10026b0c2
mov r8d, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x8c]
mov r13d, 0x9f4cc6a7
movzx eax, byte [r10 + r11]
add r10, 1
sub eax, 0x60b33959
add r8d, eax
add eax, ecx
imul rax, r13
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x567c
rol ecx, 7
ror eax, 7
xor ecx, eax
add r8d, ecx
mov dword [rsp + 0x8c], ecx
cmp r10, r9
mov dword [rsp + 0x88], r8d
jb 0x10026acca
mov r13, qword [rsp + 0x48]
jmp 0x10026b0c2
mov eax, dword [rbx + r10*8 + 0x67614]
mov edx, dword [rbx + rdx*8 + 0x67610]
shr edx, 1
and eax, ebp
and edx, r11d
add edx, eax
add rdx, r15
jmp 0x10026aba4
lea rax, [r11 + r9]
movsxd rcx, dword [0x10000003c]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x30], rax
mov eax, r11d
sub eax, edx
mov r14d, eax
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
and r14, r15
mov ecx, eax
sub rax, r14
mov qword [rsp + 0x20], rax
lea rax, [rcx + r9]
mov rcx, rax
and rcx, r15
mov qword [rsp + 0x38], rcx
sub rax, rcx
add rdx, r8
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x70], rax
jmp 0x10026adc8
mov eax, dword [r8]
cmp rax, r14
jae 0x10026adcd
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rdx
jne 0x10026adb9
xor edi, edi
mov r10d, 0xfff
cmp r8, rdx
je 0x10026ae0f
mov eax, dword [r8]
cmp rax, r14
jne 0x10026ae0f
mov ecx, dword [r8 + 4]
sub rcx, r12
shr rcx, 1
je 0x10026ae0a
mov rdx, qword [rsp + 0x20]
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, rdx
jae 0x10026ae0a
add rdi, 1
cmp rdi, rcx
jne 0x10026adf3
mov rcx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov edx, dword [rsp + 0x8c]
mov r9d, dword [rsp + 0x88]
mov r13d, 0x9f4cc6a7
mov r14, qword [rsp + 0x60]
cmp r8, r14
je 0x10026b026
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026b026
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp rdi, rax
jne 0x10026ae6f
add r8, rbx
cmp r8, r14
je 0x10026b026
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026b026
xor edi, edi
jmp 0x10026ae43
mov eax, dword [r8]
cmp rax, rcx
jne 0x10026ae8b
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x70]
jae 0x10026b026
mov rax, rdi
add rdi, 1
test word [r8 + rax*2 + 8], 0xf000
mov qword [rsp + 0x40], rax
je 0x10026ae2e
xor r15d, r15d
mov ax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
mov r14d, eax
lea rax, [0x100000000]
add r14, rax
mov rax, r14
sub rax, r11
je 0x10026af2e
mov rbx, rax
movzx eax, byte [r11 + r15]
add r15, 1
sub eax, 0x60b33959
add r9d, eax
add eax, edx
imul rax, r13
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x20]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x567c
rol edx, 7
ror eax, 7
xor edx, eax
add r9d, edx
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0x88], r9d
cmp r15, rbx
jb 0x10026aec8
mov rcx, qword [rsp + 0x40]
movzx ecx, word [r8 + rcx*2 + 8]
mov rax, qword [r14]
mov qword [rsp + 0xf8], rax
shr ecx, 0xc
cmp ecx, 3
je 0x10026af5a
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x10026af60
mov r11d, 2
mov rcx, rbp
neg rcx
mov qword [rsp + 0x40], rcx
sub r11d, 2
je 0x10026af92
cmp r11d, 1
je 0x10026af7d
or r11, 0xffffffffffffffff
jmp 0x10026afa1
mov rcx, qword [rsp + 0x40]
mov r11, r12
add rax, rcx
mov qword [rsp + 0xf8], rax
jmp 0x10026afa1
mov rcx, qword [rsp + 0x40]
add dword [rsp + 0xf8], ecx
mov r11, rsi
xor r13d, r13d
test r11, r11
je 0x10026b019
mov r15d, 0x9f4cc6a7
movzx eax, byte [rsp + r13 + 0xf8]
add r13, 1
sub eax, 0x60b33959
add r9d, eax
add eax, edx
imul rax, r15
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x567c
rol edx, 7
ror eax, 7
xor edx, eax
add r9d, edx
cmp r13, r11
jb 0x10026afaf
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0x88], r9d
mov rcx, qword [rsp + 0x38]
add r11, r14
jmp 0x10026ae23
xor r8d, r8d
mov r13, qword [rsp + 0x48]
mov bl, r8b
mov r10, qword [rsp + 0x30]
mov r15, 0xfffffffffffff000
mov rbp, qword [rsp + 0x78]
sub r10, r11
je 0x10026b0b8
mov r13d, 0x9f4cc6a7
movzx eax, byte [r8 + r11]
add r8, 1
sub eax, 0x60b33959
add r9d, eax
add eax, edx
imul rax, r13
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x567c
rol edx, 7
ror eax, 7
xor edx, eax
add r9d, edx
cmp r8, r10
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0x88], r9d
jb 0x10026b04d
mov r13, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x58]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
cmp rcx, r12
mov al, byte [rsp + rax + 0x88]
mov byte [rsp + rcx + 0x1af], al
jb 0x10026b0c4
mov eax, 0xeeaeb1d5
mov r9b, r13b
and r9d, 7
mov r10, rdi
mov r11, rbp
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x20], r9
je 0x10026b63a
not r14d
xor r11d, r11d
mov dword [rsp + 0x68], r11d
xor r13d, r13d
xor edi, edi
mov dword [rsp + 0x70], r13d
test r9d, r9d
jle 0x10026b166
lea r8d, [r11 + 0x38]
cmp edi, esi
movzx edx, byte [r10]
jge 0x10026b140
lea ecx, [r8 - 0x20]
shl edx, cl
or r13d, edx
jmp 0x10026b148
mov ecx, r8d
shl edx, cl
or r11d, edx
add edi, 1
add r10, 1
sub r8d, r12d
cmp edi, r9d
jl 0x10026b12d
mov dword [rsp + 0x70], r13d
mov dword [rsp + 0x68], r11d
mov qword [rsp + 0x40], r10
mov r9d, dword [rsp + 0x1b4]
movzx edi, ax
movzx r10d, word [rsp + 0x1b2]
mov r13d, r14d
sub r13d, edi
xor r13d, dword [rsp + 0x1b4]
xor r13d, dword [rsp + 0x58]
lea edx, [rax + r13]
mov ecx, r13d
movzx r11d, word [rsp + 0x1b6]
rol edx, 0xf
rol ecx, 7
imul edx, r11d
sub edx, ecx
xor r14d, edx
mov ecx, eax
xor ecx, r9d
xor ecx, r14d
xor r13d, ecx
mov edx, r13d
mov ecx, r10d
mov r8d, r13d
sub r8d, r9d
ror r8d, 0xd
rol edx, 0xd
imul ecx, r8d
sub ecx, edx
xor r14d, ecx
mov edx, r9d
sub edx, r14d
movzx r9d, r9w
mov ecx, r14d
ror edx, 0x10
ror ecx, 9
imul edx, edi
sub edx, ecx
xor r13d, edx
mov ecx, r13d
mov edx, r9d
xor edx, r13d
rol edx, 1
ror ecx, 9
imul edx, r11d
sub edx, ecx
mov ecx, dword [rsp + 0x1b4]
xor r14d, edx
mov edx, eax
xor edx, r14d
sub ecx, edx
xor r13d, ecx
mov edx, r13d
mov ecx, r10d
mov r8d, r13d
sub r8d, dword [rsp + 0x1b4]
rol r8d, 0xe
ror edx, 0xb
imul ecx, r8d
add edx, ecx
xor r14d, edx
mov ecx, r14d
not ecx
ror ecx, 1
add ecx, edi
imul ecx, r11d
xor r13d, ecx
mov ecx, r13d
mov edx, r13d
xor edx, edi
rol edx, 2
ror ecx, 0xe
imul edx, r11d
add ecx, edx
xor r14d, ecx
mov ecx, r14d
sub ecx, eax
sub ecx, r9d
xor r13d, ecx
mov ecx, r13d
mov edx, r13d
ror edx, 0xc
xor ecx, r11d
imul ecx, r10d
xor r10d, r10d
xor edx, ecx
xor r14d, edx
xor r9d, r14d
mov ecx, r14d
xor r14d, dword [rsp + 0x68]
shr ecx, 0xe
imul r9d, edi
xor r9d, ecx
mov ecx, dword [rsp + 0x70]
xor r9d, ecx
xor r13d, r9d
mov r9d, r14d
mov rcx, qword [rsp + 0x20]
test ecx, ecx
mov r8d, r13d
jle 0x10026b2e3
mov rdx, rbp
cmp r10d, esi
jge 0x10026b2c7
rol r8d, 8
mov byte [rdx], r8b
add rdx, 1
xor bl, r8b
jmp 0x10026b2d5
rol r9d, 8
mov byte [rdx], r9b
add rdx, 1
xor bl, r9b
add r10d, 1
cmp r10d, ecx
jl 0x10026b2b2
mov qword [rsp + 0x60], rdx
add ecx, 0xfffffffc
test ecx, ecx
jle 0x10026b61f
sub esi, ecx
shl esi, 3
mov ecx, esi
shr r14d, cl
shl r14d, cl
mov r10, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
mov r11, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
shr rcx, 3
mov qword [rsp + 0x20], rcx
je 0x10026b56a
mov edi, dword [rsp + 0x68]
mov ecx, eax
xor ecx, dword [rsp + 0x1b4]
mov r15, qword [rsp + 0x20]
movzx edx, ax
mov esi, dword [rsp + 0x70]
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x40], ecx
mov ebp, dword [rsp + 0x40]
movzx ecx, word [rsp + 0x1b6]
mov dword [rsp + 0x58], ecx
movzx ecx, word [rsp + 0x1b2]
mov dword [rsp + 0x60], ecx
movzx ecx, byte [r10]
movzx r9d, byte [r10 + 1]
movzx r8d, byte [r10 + 4]
shl ecx, 8
shl r8d, 8
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r10 + 2]
or r9d, ecx
movzx ecx, byte [r10 + 3]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r10 + 5]
or r8d, ecx
movzx ecx, byte [r10 + 6]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r10 + 7]
add r10, r12
shl r8d, 8
or r8d, ecx
xor r14d, r8d
mov ecx, r14d
sub ecx, edx
xor ecx, dword [rsp + 0x1b4]
xor ecx, r9d
xor r13d, ecx
mov ecx, r13d
lea edx, [rax + r13]
rol edx, 0xf
rol ecx, 7
imul edx, dword [rsp + 0x58]
sub edx, ecx
xor r14d, edx
xor r13d, r14d
xor r13d, ebp
mov edx, r13d
mov ecx, r13d
sub edx, dword [rsp + 0x1b4]
ror edx, 0xd
rol ecx, 0xd
imul edx, dword [rsp + 0x60]
sub edx, ecx
xor r14d, edx
mov edx, dword [rsp + 0x1b4]
mov ecx, r14d
sub edx, r14d
ror edx, 0x10
ror ecx, 9
imul edx, dword [rsp + 0x30]
sub edx, ecx
xor r13d, edx
mov ecx, r13d
movzx edx, word [rsp + 0x1b4]
xor edx, r13d
rol edx, 1
ror ecx, 9
imul edx, dword [rsp + 0x58]
sub edx, ecx
mov ecx, dword [rsp + 0x1b4]
xor r14d, edx
mov edx, eax
xor edx, r14d
sub ecx, edx
xor r13d, ecx
mov ecx, r13d
mov edx, r13d
sub edx, dword [rsp + 0x1b4]
rol edx, 0xe
ror ecx, 0xb
imul edx, dword [rsp + 0x60]
add ecx, edx
xor r14d, ecx
mov ecx, r14d
movzx edx, word [rsp + 0x1b6]
not ecx
ror ecx, 1
add ecx, dword [rsp + 0x30]
imul ecx, edx
xor r13d, ecx
mov edx, r13d
mov ecx, r13d
xor edx, dword [rsp + 0x30]
rol edx, 2
ror ecx, 0xe
imul edx, dword [rsp + 0x58]
add ecx, edx
movzx edx, word [rsp + 0x1b4]
xor r14d, ecx
mov ecx, r14d
sub ecx, eax
sub ecx, edx
xor r13d, ecx
mov ecx, r13d
xor ecx, dword [rsp + 0x58]
mov edx, r13d
ror edx, 0xc
imul ecx, dword [rsp + 0x60]
xor edx, ecx
xor r14d, edx
mov ecx, r14d
movzx edx, word [rsp + 0x1b4]
xor edx, r14d
xor r14d, edi
mov edi, r8d
shr ecx, 0xe
imul edx, dword [rsp + 0x30]
xor edx, ecx
xor edx, esi
xor r13d, edx
mov edx, dword [rsp + 0x30]
xor bl, r13b
xor bl, r14b
mov byte [r11 + 3], r13b
mov esi, r9d
mov byte [r11 + 7], r14b
ror r13d, 8
mov byte [r11 + 2], r13b
ror r14d, 8
mov byte [r11 + 6], r14b
xor bl, r13b
ror r13d, 8
mov byte [r11 + 1], r13b
xor bl, r14b
ror r14d, 8
mov byte [r11 + 5], r14b
xor bl, r13b
ror r13d, 8
xor bl, r14b
ror r14d, 8
mov cl, r14b
mov byte [r11], r13b
xor cl, r13b
mov byte [r11 + 4], r14b
add r11, r12
xor bl, cl
ror r13d, 8
ror r14d, 8
sub r15, 1
jne 0x10026b35e
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r15, 0xfffffffffffff000
mov rbp, qword [rsp + 0x78]
cmp bl, byte [rdi + rsi + 8]
je 0x10026b668
call fcn.1002d3e40
mov rbx, rax
mov rax, qword [rsp + 0xd8]
and rbx, r15
mov r8d, 0xffff
lea rbp, [0x1003e8888]
mov qword [rax + 0x10], rbp
lea r10, [rax + 0x18]
mov rax, qword [0x100495210]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
shr r8, 0x10
jne 0x10026b5b4
mov qword [0x100495210], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd0]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
add r9, 1
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], 0
jmp 0x10026b65e
xor r14d, r14d
test ecx, ecx
jns 0x10026b2fb
neg ecx
shl ecx, 3
shr r13d, cl
shl r13d, cl
jmp 0x10026b2fb
mov ecx, r14d
not ecx
mov dword [rsp + 0x70], r14d
xor r14d, r14d
xor r13d, r13d
mov dword [rsp + 0x68], ecx
jmp 0x10026b30a
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r12
cmp r10, r11
jb 0x10026b653
jmp 0x100268687
mov rax, qword [0x1003f4900]
mov r12, rdi
lea r14, [0x100000000]
sub r12, rbp
mov r13, r14
sub r13, rax
jne 0x10026b68d
test r12, r12
je 0x10026867c
xor r8d, r8d
mov rbx, rbp
lea r15, [0x100000000]
mov rcx, qword [0x1000016e8]
lea r9d, [rcx - 1]
sub rbx, rdi
sub edi, r14d
add esi, edi
test r9d, r9d
js 0x10026b6e3
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x16ec]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x10026b6d8
lea r9d, [rdx - 1]
jmp 0x10026b6de
jbe 0x10026b6eb
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x10026b6b2
movsxd r11, r8d
jmp 0x10026b76d
mov r11, rdx
jmp 0x10026b76d
mov edx, dword [r15 + r11*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, esi
jae 0x10026867c
mov r9, rdx
mov r8d, edx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r14
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x10026b748
sub r8d, 1
je 0x10026b743
cmp r8d, 1
jne 0x10026b74e
mov r10, r13
jmp 0x10026b74e
mov r10, r12
jmp 0x10026b74e
mov r10, r13
sub r10, r12
sub edx, 2
je 0x10026b75e
cmp edx, 1
jne 0x10026b769
add qword [r9 + rbx], r10
jmp 0x10026b762
add dword [r9 + rbx], r10d
mov rcx, qword [0x1000016e8]
add r11, 1
mov eax, ecx
cmp r11, rax
jb 0x10026b6f0
jmp 0x10026867c
mov edx, dword [0x10000003c]
cmp rdi, r15
jb 0x10026f39c
movsxd rax, edx
add rax, r15
mov ecx, dword [rax + 0x50]
add rcx, r15
cmp rdi, rcx
jae 0x10026c363
mov ecx, dword [0x1003c383c]
mov r8d, edi
sub r8d, r15d
mov r9d, r12d
sub ecx, 1
js 0x10026b7e9
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x141740]
shr eax, 1
and eax, r11d
cmp r8d, eax
jae 0x10026b7da
lea ecx, [rdx - 1]
jmp 0x10026b7e4
jbe 0x10026b964
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x10026b7b5
mov rdx, r12
cmp rdx, r12
je 0x10026c35d
mov r13d, dword [rdx]
mov r8, r12
mov r9d, dword [0x1002f3aa4]
mov al, r13b
shr r13, 4
mov qword [rsp + 0x68], r13
shr al, 1
sub r9, r13
and eax, 7
add r9, 1
mov r10, r9
lea rdi, [rax + rdx + 8]
mov r14d, edi
mov qword [rsp + 0x50], rdi
sub r14d, r15d
mov dword [rsp + 0x60], r14d
cmp r9, r12
je 0x10026b869
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
shr r10, 0x10
jne 0x10026b83e
mov qword [0x100495210], rax
xor edx, edx
mov ecx, r14d
mov rax, r8
div r9
lea rbp, [rsi + rdx]
mov r8, rbp
mov rdx, r13
mov qword [rsp + 0x78], rbp
mov eax, 0x6c75ed6b
mov r11, qword [r13 + rdi]
lea rcx, [rsp + 0x148]
mov bl, r12b
mov qword [rsp + 0x148], r11
mov eax, 0xa1dc11ef
mov r11, qword [rsp + 0x148]
mov rcx, r15
mov esi, 4
mov r9d, dword [rsp + 0x14c]
mov eax, 0xfffffff
and r11, rax
and r9, rax
mov rax, qword [0x1003f4900]
mov qword [rsp + 0xa8], r12
lea r12d, [rsi + 4]
add r11, r15
sub rcx, rax
mov r15, 0xfffffffffffff000
mov qword [rsp + 0x48], rcx
jne 0x10026b984
xor r10d, r10d
test r9, r9
je 0x10026bc96
mov r8d, dword [rsp + 0xa8]
mov edx, dword [rsp + 0xac]
movzx ecx, byte [r11 + r10]
add r10, 1
add ecx, 0x65c64b23
add r8d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x39e9
rol eax, 3
ror ecx, 3
xor eax, ecx
imul rax, rax, 0x65c64b23
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
mov dword [rsp + 0xac], edx
add r8d, edx
mov dword [rsp + 0xa8], r8d
cmp r10, r9
jb 0x10026b90e
jmp 0x10026bc96
mov eax, dword [rbx + r10*8 + 0x141744]
mov edx, dword [rbx + rdx*8 + 0x141740]
shr edx, 1
and eax, ebp
and edx, r11d
add edx, eax
add rdx, r15
jmp 0x10026b7ec
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
lea rax, [r11 + r9]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x70], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
mov r14d, eax
and r14, r15
sub rax, r14
mov qword [rsp + 0x20], rax
lea rax, [rcx + r9]
mov rcx, rax
and rcx, r15
mov qword [rsp + 0x38], rcx
sub rax, rcx
add rdx, r8
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x58], rax
jmp 0x10026b9f2
mov eax, dword [r8]
cmp rax, r14
jae 0x10026b9f7
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rdx
jne 0x10026b9e3
xor edi, edi
mov r10d, 0xfff
cmp r8, rdx
je 0x10026ba39
mov eax, dword [r8]
cmp rax, r14
jne 0x10026ba39
mov ecx, dword [r8 + 4]
sub rcx, r12
shr rcx, 1
je 0x10026ba34
mov rdx, qword [rsp + 0x20]
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, rdx
jae 0x10026ba34
add rdi, 1
cmp rdi, rcx
jne 0x10026ba1d
mov rcx, qword [rsp + 0x38]
mov r9d, dword [rsp + 0xa8]
mov rbx, qword [rsp + 0x48]
lea r15, [0x100000000]
mov edx, dword [rsp + 0xac]
mov r13, qword [rsp + 0x40]
cmp r8, r13
je 0x10026bc1a
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026bc1a
mov ebp, dword [r8 + 4]
lea rax, [rbp - 8]
shr rax, 1
cmp rdi, rax
jne 0x10026ba9a
add r8, rbp
cmp r8, r13
je 0x10026bc1a
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026bc1a
xor edi, edi
jmp 0x10026ba6e
mov eax, dword [r8]
cmp rax, rcx
jne 0x10026bab6
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x58]
jae 0x10026bc1a
mov rax, rdi
add rdi, 1
test word [r8 + rax*2 + 8], 0xf000
mov qword [rsp + 0x48], rax
je 0x10026ba59
mov ax, word [r8 + rax*2 + 8]
xor r13d, r13d
and eax, r10d
add eax, dword [r8]
mov r14d, eax
add r14, r15
mov rax, r14
sub rax, r11
je 0x10026bb3d
mov rbp, rax
movzx ecx, byte [r11 + r13]
add r13, 1
add ecx, 0x65c64b23
add r9d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x39e9
rol eax, 3
ror ecx, 3
xor eax, ecx
imul rax, rax, 0x65c64b23
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
mov dword [rsp + 0xac], edx
add r9d, edx
mov dword [rsp + 0xa8], r9d
cmp r13, rbp
jb 0x10026baec
mov rax, qword [r14]
mov rcx, qword [rsp + 0x48]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
cmp ecx, 3
mov qword [rsp + 0x108], rax
je 0x10026bb69
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x10026bb6f
mov r11d, 2
mov rcx, rbx
neg rcx
mov qword [rsp + 0x48], rcx
sub r11d, 2
je 0x10026bba1
cmp r11d, 1
je 0x10026bb8c
or r11, 0xffffffffffffffff
jmp 0x10026bbb0
mov r11, r12
mov rcx, qword [rsp + 0x48]
add rax, rcx
mov qword [rsp + 0x108], rax
jmp 0x10026bbb0
mov rcx, qword [rsp + 0x48]
add dword [rsp + 0x108], ecx
mov r11, rsi
xor r13d, r13d
test r11, r11
je 0x10026bc0d
movzx ecx, byte [rsp + r13 + 0x108]
add r13, 1
add ecx, 0x65c64b23
add r9d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x39e9
rol eax, 3
ror ecx, 3
xor eax, ecx
imul rax, rax, 0x65c64b23
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
add r9d, edx
cmp r13, r11
jb 0x10026bbb8
mov dword [rsp + 0xac], edx
mov dword [rsp + 0xa8], r9d
add r11, r14
mov rcx, qword [rsp + 0x38]
jmp 0x10026ba54
mov r13, qword [rsp + 0x68]
mov r10, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov r15, 0xfffffffffffff000
xor r8d, r8d
sub r10, r11
mov bl, r8b
je 0x10026bc8c
movzx ecx, byte [r11 + r8]
add r8, 1
add ecx, 0x65c64b23
add r9d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x39e9
rol eax, 3
ror ecx, 3
xor eax, ecx
imul rax, rax, 0x65c64b23
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
mov dword [rsp + 0xac], edx
add r9d, edx
mov dword [rsp + 0xa8], r9d
cmp r8, r10
jb 0x10026bc3b
mov r14d, dword [rsp + 0x60]
mov rdi, qword [rsp + 0x50]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
mov al, byte [rsp + rax + 0xa8]
cmp rcx, r12
mov byte [rsp + rcx + 0x1bf], al
jb 0x10026bc98
mov eax, 0xee46e58b
mov rax, qword [rsp + 0x1c0]
mov r9b, r13b
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x38], rbp
and r9d, 7
mov qword [rsp + 0x20], r9
je 0x10026c21b
mov r8d, r14d
xor r10d, r10d
mov dword [rsp + 0x30], r10d
not r8d
xor edi, edi
xor r11d, r11d
test r9d, r9d
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x40], r8d
jle 0x10026bd4c
lea r8d, [r10 + 0x38]
mov rax, qword [rsp + 0x48]
cmp r11d, esi
movzx edx, byte [rax]
jge 0x10026bd19
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x10026bd21
mov ecx, r8d
shl edx, cl
or r10d, edx
add r11d, 1
add rax, 1
sub r8d, r12d
cmp r11d, r9d
jl 0x10026bd07
mov r8d, dword [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x1c0]
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x30], r10d
movzx r11d, ax
movzx r10d, word [rsp + 0x1c6]
mov r14d, dword [rsp + 0x1c4]
mov r13d, r14d
mov ecx, eax
movzx r9d, word [rsp + 0x1c2]
movzx edi, r14w
xor r14d, eax
xor ecx, r8d
sub r13d, ecx
xor r13d, dword [rsp + 0x60]
mov ecx, r13d
ror ecx, 0xc
sub ecx, r10d
imul ecx, edi
xor r8d, ecx
mov ecx, r8d
not ecx
ror ecx, 0xc
add ecx, edi
imul ecx, r10d
xor r13d, ecx
mov ecx, r10d
mov edx, r13d
xor ecx, r13d
ror edx, 2
imul ecx, r9d
xor edx, ecx
xor r8d, edx
mov edx, edi
mov ecx, r8d
xor r14d, r8d
ror ecx, 8
xor ecx, r11d
imul ecx, edi
xor r13d, ecx
mov ecx, eax
xor r14d, r13d
xor ecx, r14d
rol ecx, 6
imul edx, ecx
mov ecx, r14d
shr ecx, 9
sub edx, ecx
xor r13d, edx
mov ecx, r13d
mov edx, r11d
xor edx, r13d
shr ecx, 3
imul edx, r9d
xor edx, ecx
mov ecx, r11d
xor r14d, edx
mov r8d, r14d
mov edx, dword [rsp + 0x1c4]
add edx, r14d
rol edx, 0xa
rol r8d, 7
imul ecx, edx
add r8d, ecx
mov edx, edi
xor r13d, r8d
mov ecx, r13d
mov r8d, dword [rsp + 0x1c4]
xor edx, r13d
rol edx, 6
rol ecx, 9
imul r10d, edx
add ecx, r10d
xor r14d, ecx
mov ecx, r9d
xor ecx, r14d
mov edx, r14d
ror edx, 3
imul ecx, edi
sub ecx, edx
xor r13d, ecx
mov ecx, r13d
sub ecx, r9d
xor ecx, r8d
xor r14d, ecx
mov ecx, r14d
mov edx, r14d
xor r14d, dword [rsp + 0x30]
sub edx, r8d
xor r9d, r9d
mov r8d, r14d
ror edx, 0xb
ror ecx, 0x10
imul r11d, edx
sub r11d, ecx
mov ecx, dword [rsp + 0x58]
xor r11d, ecx
mov rcx, qword [rsp + 0x20]
xor r13d, r11d
test ecx, ecx
mov edx, r13d
jle 0x10026bec8
mov rax, rbp
cmp r9d, esi
jge 0x10026bea4
rol edx, 8
mov byte [rax], dl
add rax, 1
xor bl, dl
jmp 0x10026beb2
rol r8d, 8
mov byte [rax], r8b
add rax, 1
xor bl, r8b
add r9d, 1
cmp r9d, ecx
jl 0x10026be92
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x1c0]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x10026c200
sub esi, ecx
shl esi, 3
mov ecx, esi
shr r14d, cl
shl r14d, cl
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x50]
mov r11, qword [rsp + 0x68]
mov rcx, r11
shr rcx, 3
mov qword [rsp + 0x20], rcx
je 0x10026c14a
mov ebp, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x48]
mov r11, qword [rsp + 0x38]
mov r15d, dword [rsp + 0x1c4]
movzx ecx, r15w
mov r8d, r15d
xor r8d, eax
mov dword [rsp + 0x70], ecx
movzx ecx, word [rsp + 0x1c2]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x60], r8d
movzx ecx, ax
mov dword [rsp + 0x30], ecx
mov edx, r15d
movzx ecx, byte [rdi]
movzx r10d, byte [rdi + 1]
shl ecx, 8
movzx r9d, byte [rdi + 4]
shl r9d, 8
or r10d, ecx
shl r10d, 8
movzx ecx, byte [rdi + 2]
or r10d, ecx
movzx ecx, byte [rdi + 3]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [rdi + 5]
or r9d, ecx
movzx ecx, byte [rdi + 6]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [rdi + 7]
add rdi, r12
shl r9d, 8
or r9d, ecx
mov ecx, eax
xor r14d, r9d
xor ecx, r14d
sub edx, ecx
xor edx, r10d
xor r13d, edx
mov ecx, r13d
ror ecx, 0xc
movzx edx, word [rsp + 0x1c6]
sub ecx, edx
mov edx, dword [rsp + 0x70]
imul ecx, edx
xor r14d, ecx
mov ecx, r14d
not ecx
ror ecx, 0xc
add ecx, edx
movzx edx, word [rsp + 0x1c6]
imul ecx, edx
xor r13d, ecx
movzx ecx, word [rsp + 0x1c6]
mov edx, r13d
xor ecx, r13d
ror edx, 2
imul ecx, dword [rsp + 0x40]
xor edx, ecx
xor r14d, edx
mov ecx, r14d
xor r14d, r8d
ror ecx, 8
mov edx, dword [rsp + 0x70]
xor ecx, dword [rsp + 0x30]
imul ecx, edx
xor r13d, ecx
mov ecx, eax
xor r14d, r13d
xor ecx, r14d
rol ecx, 6
imul edx, ecx
mov ecx, r14d
shr ecx, 9
sub edx, ecx
movzx ecx, word [rsp + 0x1c2]
xor r13d, edx
mov edx, dword [rsp + 0x30]
xor edx, r13d
imul edx, ecx
mov ecx, r13d
shr ecx, 3
xor edx, ecx
mov ecx, dword [rsp + 0x30]
xor r14d, edx
mov r8d, r14d
lea edx, [r15 + r14]
rol edx, 0xa
rol r8d, 7
imul ecx, edx
add r8d, ecx
movzx ecx, word [rsp + 0x1c6]
xor r13d, r8d
mov r8d, dword [rsp + 0x70]
mov edx, r13d
xor r8d, r13d
rol r8d, 6
rol edx, 9
imul ecx, r8d
add edx, ecx
movzx r8d, word [rsp + 0x1c2]
mov ecx, r8d
xor r14d, edx
mov edx, r14d
xor ecx, r14d
ror edx, 3
imul ecx, dword [rsp + 0x70]
sub ecx, edx
mov edx, dword [rsp + 0x30]
xor r13d, ecx
mov ecx, r13d
sub ecx, r8d
xor ecx, r15d
xor r14d, ecx
mov r8d, r14d
mov ecx, r14d
xor r14d, esi
mov esi, r9d
sub r8d, r15d
ror r8d, 0xb
ror ecx, 0x10
imul edx, r8d
sub edx, ecx
mov r8d, dword [rsp + 0x60]
xor edx, ebp
xor r13d, edx
xor bl, r13b
mov byte [r11 + 3], r13b
mov byte [r11 + 7], r14b
xor bl, r14b
ror r13d, 8
ror r14d, 8
xor bl, r13b
mov byte [r11 + 2], r13b
ror r13d, 8
mov byte [r11 + 6], r14b
mov byte [r11 + 1], r13b
mov ebp, r10d
xor bl, r14b
ror r14d, 8
mov byte [r11 + 5], r14b
xor bl, r13b
ror r13d, 8
mov byte [r11], r13b
xor bl, r14b
ror r14d, 8
mov byte [r11 + 4], r14b
mov cl, r14b
xor cl, r13b
add r11, r12
xor bl, cl
ror r13d, 8
ror r14d, 8
sub qword [rsp + 0x20], 1
jne 0x10026bf3c
mov rbp, qword [rsp + 0x78]
mov r15, 0xfffffffffffff000
mov r11, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x50]
cmp bl, byte [rdi + r11 + 8]
je 0x10026c245
call fcn.1002d3e40
lea rbp, [0x1003e8888]
mov rbx, rax
mov rax, qword [rsp + 0xd8]
and rbx, r15
mov r8d, 0xffff
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
mov qword [rax + 0x10], rbp
mov rax, qword [0x100495210]
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
shr r8, 0x10
jne 0x10026c195
mov qword [0x100495210], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd0]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
add r9, 1
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], 0
jmp 0x10026c23b
xor r14d, r14d
test ecx, ecx
jns 0x10026bee0
neg ecx
shl ecx, 3
shr r13d, cl
shl r13d, cl
jmp 0x10026bee0
mov dword [rsp + 0x58], r14d
mov esi, r14d
not esi
xor r14d, r14d
xor r13d, r13d
jmp 0x10026bee9
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r12
cmp r10, r11
jb 0x10026c230
jmp 0x100268687
mov rax, qword [0x1003f4900]
lea r14, [0x100000000]
mov rsi, rdi
mov r12, r14
sub rsi, rbp
sub r12, rax
jne 0x10026c26a
test rsi, rsi
je 0x10026867c
mov rbx, rbp
xor r8d, r8d
mov rcx, qword [0x1000016e8]
sub rbx, rdi
lea r9d, [rcx - 1]
lea r15, [0x100000000]
sub edi, r14d
lea r13d, [rdi + r11]
test r9d, r9d
js 0x10026c2c2
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x16ec]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x10026c2b7
lea r9d, [rdx - 1]
jmp 0x10026c2bd
jbe 0x10026c2ca
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x10026c291
movsxd r11, r8d
jmp 0x10026c34d
mov r11, rdx
jmp 0x10026c34d
mov edx, dword [r15 + r11*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, r13d
jae 0x10026867c
mov r8d, edx
mov r9, rdx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r14
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x10026c328
sub r8d, 1
je 0x10026c323
cmp r8d, 1
jne 0x10026c32e
mov r10, r12
jmp 0x10026c32e
mov r10, rsi
jmp 0x10026c32e
mov r10, r12
sub r10, rsi
sub edx, 2
je 0x10026c33e
cmp edx, 1
jne 0x10026c349
add qword [r9 + rbx], r10
jmp 0x10026c342
add dword [r9 + rbx], r10d
mov rcx, qword [0x1000016e8]
add r11, 1
mov eax, ecx
cmp r11, rax
jb 0x10026c2cf
jmp 0x10026867c
mov edx, dword [0x10000003c]
cmp rdi, r15
jb 0x10026f39c
movsxd rax, edx
add rax, r15
mov ecx, dword [rax + 0x50]
add rcx, r15
cmp rdi, rcx
jae 0x10026cf5c
mov ecx, dword [0x1003af080]
mov r8d, edi
mov r9d, r12d
sub r8d, r15d
sub ecx, 1
js 0x10026c3c7
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x316e0]
and eax, r11d
cmp r8d, eax
jae 0x10026c3b8
lea ecx, [rdx - 1]
jmp 0x10026c3c2
jbe 0x10026c538
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x10026c395
mov rdx, r12
cmp rdx, r12
je 0x10026cf56
mov al, byte [rdx]
mov r9d, dword [0x1002f3aa4]
mov r8, r12
mov r13d, dword [rdx + 4]
shr al, 2
and r13, r11
mov qword [rsp + 0x70], r13
and eax, 7
sub r9, r13
lea rdi, [rax + rdx + 8]
add r9, 1
mov qword [rsp + 0x50], rdi
mov r14d, edi
mov r10, r9
sub r14d, r15d
cmp r9, r12
mov dword [rsp + 0x60], r14d
je 0x10026c447
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
shr r10, 0x10
jne 0x10026c41c
mov qword [0x100495210], rax
xor edx, edx
mov rax, r8
div r9
mov ecx, r14d
lea rbp, [rsi + rdx]
mov r8, rbp
mov qword [rsp + 0x78], rbp
mov rdx, r13
mov eax, 0xce81dc5b
mov r11, qword [rdi + r13]
mov qword [rsp + 0x158], r11
lea rcx, [rsp + 0x158]
mov bl, r12b
mov eax, 0xa859d0fe
mov r11, qword [rsp + 0x158]
mov rcx, r15
mov eax, 0xfffffff
mov esi, 4
mov r9d, dword [rsp + 0x15c]
and r11, rax
and r9, rax
mov rax, qword [0x1003f4900]
add r11, r15
sub rcx, rax
mov qword [rsp + 0xb8], r12
mov r15, 0xfffffffffffff000
lea r12d, [rsi + 4]
mov qword [rsp + 0x48], rcx
jne 0x10026c556
xor r8d, r8d
test r9, r9
je 0x10026c85a
mov r10d, 0xab30505f
mov ecx, dword [rsp + 0xbc]
mov edx, dword [rsp + 0xb8]
movzx eax, byte [r8 + r11]
add r8, 1
sub eax, 0x54cfafa1
add edx, eax
add eax, ecx
imul rax, r10
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x20]
add ecx, eax
imul ecx, ecx, 0xab30505f
ror ecx, 0xb
add edx, ecx
mov dword [rsp + 0xbc], ecx
cmp r8, r9
mov dword [rsp + 0xb8], edx
jb 0x10026c4f0
jmp 0x10026c85a
mov edx, dword [rbx + rdx*8 + 0x316e4]
and edx, ebp
mov eax, dword [rbx + r10*8 + 0x316e0]
and eax, r11d
add edx, eax
add rdx, r15
jmp 0x10026c3ca
lea rax, [r11 + r9]
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x30], rax
mov eax, r11d
sub eax, edx
mov r14d, eax
add r8, rdx
and r14, r15
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
sub rax, r14
mov qword [rsp + 0x20], rax
lea rax, [rcx + r9]
mov rcx, rax
and rcx, r15
mov qword [rsp + 0x38], rcx
sub rax, rcx
add rdx, r8
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x58], rax
jmp 0x10026c5c4
mov eax, dword [r8]
cmp rax, r14
jae 0x10026c5c9
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rdx
jne 0x10026c5b5
xor edi, edi
mov r10d, 0xfff
cmp r8, rdx
je 0x10026c60b
mov eax, dword [r8]
cmp rax, r14
jne 0x10026c60b
mov ecx, dword [r8 + 4]
sub rcx, r12
shr rcx, 1
je 0x10026c606
mov rdx, qword [rsp + 0x20]
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, rdx
jae 0x10026c606
add rdi, 1
cmp rdi, rcx
jne 0x10026c5ef
mov rcx, qword [rsp + 0x38]
lea rbx, [0x100000000]
mov rbp, qword [rsp + 0x48]
mov r9d, dword [rsp + 0xb8]
mov r13d, 0xab30505f
mov edx, dword [rsp + 0xbc]
mov r14, qword [rsp + 0x40]
cmp r8, r14
je 0x10026c7e5
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026c7e5
mov r15d, dword [r8 + 4]
lea rax, [r15 - 8]
shr rax, 1
cmp rdi, rax
jne 0x10026c672
add r8, r15
cmp r8, r14
je 0x10026c7e5
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026c7e5
xor edi, edi
jmp 0x10026c646
mov eax, dword [r8]
cmp rax, rcx
jne 0x10026c68e
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x58]
jae 0x10026c7e5
mov rax, rdi
add rdi, 1
test word [r8 + rax*2 + 8], 0xf000
mov qword [rsp + 0x48], rax
je 0x10026c631
mov ax, word [r8 + rax*2 + 8]
xor r15d, r15d
and eax, r10d
add eax, dword [r8]
mov r14d, eax
add r14, rbx
mov rax, r14
sub rax, r11
je 0x10026c712
mov ecx, 0xab30505f
mov r13, rax
movzx eax, byte [r11 + r15]
add r15, 1
sub eax, 0x54cfafa1
add r9d, eax
add eax, edx
imul rax, rcx
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
imul edx, edx, 0xab30505f
ror edx, 0xb
mov dword [rsp + 0xbc], edx
add r9d, edx
cmp r15, r13
mov dword [rsp + 0xb8], r9d
jb 0x10026c6c9
mov r13, rcx
mov rcx, qword [rsp + 0x48]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
mov rax, qword [r14]
cmp ecx, 3
mov qword [rsp + 0x118], rax
je 0x10026c73e
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x10026c744
mov r11d, 2
mov rcx, rbp
neg rcx
sub r11d, 2
mov qword [rsp + 0x20], rcx
je 0x10026c776
cmp r11d, 1
je 0x10026c761
or rcx, 0xffffffffffffffff
jmp 0x10026c785
mov rcx, qword [rsp + 0x20]
add rax, rcx
mov rcx, r12
mov qword [rsp + 0x118], rax
jmp 0x10026c785
mov rcx, qword [rsp + 0x20]
add dword [rsp + 0x118], ecx
mov rcx, rsi
xor r11d, r11d
test rcx, rcx
je 0x10026c7d7
movzx eax, byte [rsp + r11 + 0x118]
add r11, 1
sub eax, 0x54cfafa1
add r9d, eax
add eax, edx
imul rax, r13
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
imul edx, edx, 0xab30505f
ror edx, 0xb
add r9d, edx
cmp r11, rcx
jb 0x10026c78d
mov dword [rsp + 0xbc], edx
mov dword [rsp + 0xb8], r9d
lea r11, [rcx + r14]
mov rcx, qword [rsp + 0x38]
jmp 0x10026c62c
mov r13, qword [rsp + 0x70]
mov r15, 0xfffffffffffff000
mov rbp, qword [rsp + 0x78]
xor ecx, ecx
mov r8, qword [rsp + 0x30]
mov bl, cl
sub r8, r11
je 0x10026c850
mov r14d, 0xab30505f
movzx eax, byte [rcx + r11]
add rcx, 1
sub eax, 0x54cfafa1
add r9d, eax
add eax, edx
imul rax, r14
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
imul edx, edx, 0xab30505f
ror edx, 0xb
mov dword [rsp + 0xbc], edx
add r9d, edx
mov dword [rsp + 0xb8], r9d
cmp rcx, r8
jb 0x10026c80a
mov r14d, dword [rsp + 0x60]
mov rdi, qword [rsp + 0x50]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
mov al, byte [rsp + rax + 0xb8]
mov byte [rsp + rcx + 0x187], al
cmp rcx, r12
jb 0x10026c85c
mov eax, 0x739df976
mov r9b, r13b
and r9d, 7
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x20], r9
je 0x10026ce14
mov r13d, r14d
not r13d
xor r10d, r10d
mov dword [rsp + 0x30], r10d
xor edi, edi
mov dword [rsp + 0x58], edi
xor r11d, r11d
test r9d, r9d
jle 0x10026c906
mov rax, qword [rsp + 0x48]
lea r8d, [r10 + 0x38]
movzx edx, byte [rax]
cmp r11d, esi
jge 0x10026c8d8
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x10026c8e0
mov ecx, r8d
shl edx, cl
or r10d, edx
add r11d, 1
add rax, 1
sub r8d, r12d
cmp r11d, r9d
jl 0x10026c8c6
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x188]
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x30], r10d
movzx edi, word [rsp + 0x18c]
movzx r10d, ax
mov edx, dword [rsp + 0x18c]
xor edx, r14d
mov ecx, eax
movzx r9d, word [rsp + 0x18e]
sub ecx, edx
xor r13d, ecx
mov r8d, r9d
mov ecx, r13d
shr ecx, 0xf
movzx r11d, word [rsp + 0x18a]
mov r14d, r13d
sub r14d, r10d
imul r14d, edi
sub r14d, ecx
mov ecx, r11d
xor r14d, dword [rsp + 0x60]
mov edx, r14d
xor r8d, r14d
rol r8d, 3
ror edx, 2
imul ecx, r8d
mov r8d, dword [rsp + 0x18c]
add edx, ecx
xor r13d, edx
sub r8d, r13d
rol r8d, 6
mov ecx, r10d
mov edx, r13d
ror edx, 0xb
imul ecx, r8d
mov r8d, dword [rsp + 0x18c]
xor edx, ecx
xor r14d, edx
mov ecx, r14d
not ecx
ror ecx, 2
add ecx, r9d
imul ecx, edi
xor r13d, ecx
mov edx, r13d
mov ecx, r11d
xor ecx, r13d
ror edx, 7
imul ecx, edi
sub ecx, edx
mov edx, r11d
xor r14d, ecx
mov ecx, r8d
xor ecx, r14d
rol ecx, 6
imul edx, ecx
mov ecx, r14d
shr ecx, 6
sub edx, ecx
xor r13d, edx
mov edx, r8d
mov ecx, r13d
sub edx, r13d
ror edx, 9
ror ecx, 0xc
imul r10d, edx
sub r10d, ecx
xor r14d, r10d
mov edx, r14d
sub edx, eax
mov ecx, r14d
ror edx, 9
ror ecx, 6
imul r9d, edx
mov edx, eax
add ecx, r9d
xor r13d, ecx
mov ecx, r13d
sub edx, r13d
ror edx, 8
ror ecx, 7
imul edi, edx
add ecx, edi
mov edx, r8d
xor r14d, ecx
mov ecx, r14d
xor r9d, r9d
xor edx, r14d
rol edx, 2
rol ecx, 8
imul r11d, edx
mov edx, dword [rsp + 0x58]
sub r11d, ecx
mov ecx, eax
xor ecx, r8d
xor r13d, r11d
xor ecx, edx
xor ecx, r13d
xor r13d, dword [rsp + 0x30]
mov r8d, r13d
xor r14d, ecx
mov rcx, qword [rsp + 0x20]
test ecx, ecx
mov edx, r14d
jle 0x10026ca92
mov rax, rbp
cmp r9d, esi
jge 0x10026ca6e
rol edx, 8
mov byte [rax], dl
add rax, 1
xor bl, dl
jmp 0x10026ca7c
rol r8d, 8
mov byte [rax], r8b
add rax, 1
xor bl, r8b
add r9d, 1
cmp r9d, ecx
jl 0x10026ca5c
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x188]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x10026cdf9
sub esi, ecx
shl esi, 3
mov ecx, esi
shr r13d, cl
shl r13d, cl
mov rdi, qword [rsp + 0x50]
mov esi, dword [rsp + 0x30]
mov r11, qword [rsp + 0x70]
mov rcx, r11
shr rcx, 3
mov qword [rsp + 0x20], rcx
je 0x10026cd43
mov r15d, dword [rsp + 0x58]
mov rbp, qword [rsp + 0x20]
movzx r8d, word [rsp + 0x18c]
mov rdi, qword [rsp + 0x48]
mov r11, qword [rsp + 0x38]
movzx ecx, ax
mov dword [rsp + 0x60], ecx
mov ecx, eax
xor ecx, dword [rsp + 0x18c]
mov dword [rsp + 0x40], ecx
mov edx, eax
movzx r9d, byte [rdi + 4]
movzx ecx, byte [rdi + 1]
movzx r10d, byte [rdi]
shl r10d, 8
shl r9d, 8
or r10d, ecx
movzx ecx, byte [rdi + 2]
shl r10d, 8
or r10d, ecx
shl r10d, 8
movzx ecx, byte [rdi + 3]
or r10d, ecx
movzx ecx, byte [rdi + 5]
or r9d, ecx
movzx ecx, byte [rdi + 6]
xor r14d, r10d
shl r9d, 8
or r9d, ecx
movzx ecx, byte [rdi + 7]
add rdi, r12
shl r9d, 8
or r9d, ecx
mov ecx, dword [rsp + 0x18c]
xor ecx, r14d
sub edx, ecx
xor edx, r9d
xor r13d, edx
mov ecx, r13d
mov edx, r13d
sub edx, dword [rsp + 0x60]
shr ecx, 0xf
imul edx, r8d
movzx r8d, word [rsp + 0x18e]
sub edx, ecx
movzx ecx, word [rsp + 0x18a]
xor r14d, edx
mov edx, r14d
xor r8d, r14d
rol r8d, 3
ror edx, 2
imul ecx, r8d
mov r8d, dword [rsp + 0x18c]
add edx, ecx
xor r13d, edx
mov ecx, dword [rsp + 0x60]
sub r8d, r13d
rol r8d, 6
mov edx, r13d
ror edx, 0xb
imul ecx, r8d
movzx r8d, word [rsp + 0x18c]
xor edx, ecx
xor r14d, edx
mov ecx, r14d
movzx edx, word [rsp + 0x18e]
not ecx
ror ecx, 2
add ecx, edx
imul ecx, r8d
xor r13d, ecx
mov edx, r13d
movzx ecx, word [rsp + 0x18a]
xor ecx, r13d
ror edx, 7
imul ecx, r8d
mov r8d, dword [rsp + 0x18c]
sub ecx, edx
xor r14d, ecx
mov ecx, dword [rsp + 0x18c]
movzx edx, word [rsp + 0x18a]
xor ecx, r14d
rol ecx, 6
imul edx, ecx
mov ecx, r14d
shr ecx, 6
sub edx, ecx
xor r13d, edx
sub r8d, r13d
mov ecx, dword [rsp + 0x60]
mov edx, r13d
ror r8d, 9
ror edx, 0xc
imul ecx, r8d
sub ecx, edx
xor r14d, ecx
mov r8d, r14d
mov edx, r14d
movzx ecx, word [rsp + 0x18e]
sub r8d, eax
ror r8d, 9
ror edx, 6
imul ecx, r8d
add edx, ecx
xor r13d, edx
mov edx, r13d
movzx ecx, word [rsp + 0x18c]
mov r8d, eax
sub r8d, r13d
ror r8d, 8
ror edx, 7
imul ecx, r8d
add edx, ecx
movzx ecx, word [rsp + 0x18a]
xor r14d, edx
mov edx, r14d
mov r8d, dword [rsp + 0x18c]
xor r8d, r14d
rol r8d, 2
rol edx, 8
imul ecx, r8d
sub ecx, edx
xor r13d, ecx
mov ecx, dword [rsp + 0x40]
movzx r8d, word [rsp + 0x18c]
xor ecx, r15d
xor ecx, r13d
xor r13d, esi
mov r15d, r10d
xor r14d, ecx
mov esi, r9d
xor bl, r14b
xor bl, r13b
mov byte [r11 + 3], r14b
mov byte [r11 + 7], r13b
ror r14d, 8
mov byte [r11 + 2], r14b
ror r13d, 8
xor bl, r14b
ror r14d, 8
mov byte [r11 + 6], r13b
xor bl, r13b
mov byte [r11 + 1], r14b
ror r13d, 8
mov byte [r11 + 5], r13b
xor bl, r14b
ror r14d, 8
mov byte [r11], r14b
xor bl, r13b
ror r13d, 8
mov cl, r13b
mov byte [r11 + 4], r13b
xor cl, r14b
add r11, r12
xor bl, cl
ror r14d, 8
ror r13d, 8
sub rbp, 1
jne 0x10026cafb
mov rbp, qword [rsp + 0x78]
mov r15, 0xfffffffffffff000
mov r11, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x50]
cmp bl, byte [rdi + r11 + 8]
je 0x10026ce3e
call fcn.1002d3e40
lea rbp, [0x1003e8888]
mov r8d, 0xffff
mov rbx, rax
and rbx, r15
mov rax, qword [rsp + 0xd8]
mov qword [rax + 0x10], rbp
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
mov rax, qword [0x100495210]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
shr r8, 0x10
jne 0x10026cd8e
mov qword [0x100495210], rax
movabs rax, 0x8000800080008001
mul r9
shr rdx, 0xf
mov rax, qword [rsp + 0xd0]
imul rdx, rdx, 0xffff
sub r9, rdx
add r9, 1
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], 0
jmp 0x10026ce34
xor r13d, r13d
test ecx, ecx
jns 0x10026caaa
neg ecx
shl ecx, 3
shr r14d, cl
shl r14d, cl
jmp 0x10026caaa
mov esi, r14d
xor r13d, r13d
mov dword [rsp + 0x58], r14d
not esi
xor r14d, r14d
jmp 0x10026cab3
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r12
cmp r10, r11
jb 0x10026ce29
jmp 0x100268687
mov rax, qword [0x1003f4900]
mov rsi, rdi
sub rsi, rbp
lea r14, [0x100000000]
mov r12, r14
sub r12, rax
jne 0x10026ce63
test rsi, rsi
je 0x10026867c
mov rcx, qword [0x1000016e8]
xor r8d, r8d
lea r15, [0x100000000]
mov rbx, rbp
lea r9d, [rcx - 1]
sub rbx, rdi
sub edi, r14d
test r9d, r9d
lea r13d, [rdi + r11]
js 0x10026cebb
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x16ec]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x10026ceb0
lea r9d, [rdx - 1]
jmp 0x10026ceb6
jbe 0x10026cec3
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x10026ce8a
movsxd r11, r8d
jmp 0x10026cf46
mov r11, rdx
jmp 0x10026cf46
mov edx, dword [r15 + r11*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, r13d
jae 0x10026867c
mov r9, rdx
mov r8d, edx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r14
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x10026cf21
sub r8d, 1
je 0x10026cf1c
cmp r8d, 1
jne 0x10026cf27
mov r10, r12
jmp 0x10026cf27
mov r10, rsi
jmp 0x10026cf27
mov r10, r12
sub r10, rsi
sub edx, 2
je 0x10026cf37
cmp edx, 1
jne 0x10026cf42
add qword [r9 + rbx], r10
jmp 0x10026cf3b
add dword [r9 + rbx], r10d
mov rcx, qword [0x1000016e8]
add r11, 1
mov eax, ecx
cmp r11, rax
jb 0x10026cec8
jmp 0x10026867c
mov edx, dword [0x10000003c]
cmp rdi, r15
jb 0x10026f39c
movsxd rax, edx
add rax, r15
mov ecx, dword [rax + 0x50]
add rcx, r15
cmp rdi, rcx
jae 0x10026db74
mov r9d, r12d
mov r8d, edi
mov ecx, dword [0x1000a12e0]
sub r8d, r15d
sub ecx, 1
js 0x10026cfc2
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x6d988]
shr eax, 1
and eax, r11d
cmp r8d, eax
jae 0x10026cfb3
lea ecx, [rdx - 1]
jmp 0x10026cfbd
jbe 0x10026d159
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x10026cf8e
mov rdx, r12
cmp rdx, r12
je 0x10026db6e
mov r8, r12
mov edi, dword [rdx]
mov al, dil
mov r9d, dword [0x1002f3aa4]
shr rdi, 4
shr al, 1
sub r9, rdi
and eax, 7
add r9, 1
mov r10, r9
mov qword [rsp + 0x50], rdi
lea r14, [rax + rdx + 8]
mov r13d, r14d
mov qword [rsp + 0x70], r14
sub r13d, r15d
cmp r9, r12
mov dword [rsp + 0x58], r13d
je 0x10026d041
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
shr r10, 0x10
jne 0x10026d016
mov qword [0x100495210], rax
mov rax, r8
xor edx, edx
div r9
mov ecx, r13d
lea rbp, [rsi + rdx]
mov rdx, rdi
mov r8, rbp
mov qword [rsp + 0x78], rbp
mov eax, 0x6050ff56
mov bl, r12b
mov r11, qword [rdi + r14]
mov qword [rsp + 0x168], r11
lea rcx, [rsp + 0x168]
mov eax, 0x5dda8c67
mov r9d, dword [rsp + 0x16c]
mov esi, 4
mov rcx, r15
mov eax, 0xfffffff
mov r11, qword [rsp + 0x168]
and r11, rax
and r9, rax
add r11, r15
mov rax, qword [0x1003f4900]
sub rcx, rax
mov r15, 0xfffffffffffff000
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0x40], rcx
lea r12d, [rsi + 4]
jne 0x10026d179
xor r10d, r10d
test r9, r9
je 0x10026d4e4
mov r8d, dword [rsp + 0xc8]
mov r13d, 0xd4afbe6b
mov ecx, dword [rsp + 0xcc]
movzx eax, byte [r10 + r11]
add r10, 1
sub eax, 0x2b504195
add r8d, eax
add eax, ecx
imul rax, r13
mov qword [rsp + 0x38], rax
mov ecx, dword [rsp + 0x38]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, r13
mov qword [rsp + 0x38], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x38]
add ecx, eax
mov dword [rsp + 0xcc], ecx
add r8d, ecx
cmp r10, r9
mov dword [rsp + 0xc8], r8d
jb 0x10026d0eb
jmp 0x10026d4df
mov edx, dword [rbx + rdx*8 + 0x6d98c]
mov eax, dword [rbx + r10*8 + 0x6d988]
shr eax, 1
and edx, ebp
and eax, r11d
add edx, eax
add rdx, r15
jmp 0x10026cfc5
movsxd rcx, dword [0x10000003c]
lea rax, [r11 + r9]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x68], rax
mov eax, r11d
sub eax, edx
mov r13d, eax
add r8, rdx
and r13, r15
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
sub rax, r13
mov qword [rsp + 0x38], rax
lea rax, [rcx + r9]
mov rcx, rax
and rcx, r15
mov qword [rsp + 0x48], rcx
sub rax, rcx
add rdx, r8
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x60], rax
jmp 0x10026d1e7
mov eax, dword [r8]
cmp rax, r13
jae 0x10026d1ec
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rdx
jne 0x10026d1d8
xor edi, edi
cmp r8, rdx
mov r10d, 0xfff
je 0x10026d22e
mov eax, dword [r8]
cmp rax, r13
jne 0x10026d22e
mov ecx, dword [r8 + 4]
sub rcx, r12
shr rcx, 1
je 0x10026d229
mov rdx, qword [rsp + 0x38]
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, rdx
jae 0x10026d229
add rdi, 1
cmp rdi, rcx
jne 0x10026d212
mov rcx, qword [rsp + 0x48]
mov r13d, 0xd4afbe6b
lea rbp, [0x100000000]
mov r14, qword [rsp + 0x40]
mov r9d, dword [rsp + 0xc8]
mov edx, dword [rsp + 0xcc]
cmp r8, qword [rsp + 0x20]
je 0x10026d450
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026d450
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp rdi, rax
jne 0x10026d294
add r8, rbx
cmp r8, qword [rsp + 0x20]
je 0x10026d450
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026d450
xor edi, edi
jmp 0x10026d266
mov eax, dword [r8]
cmp rax, rcx
jne 0x10026d2b0
mov ax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x60]
jae 0x10026d450
mov rax, rdi
add rdi, 1
test word [r8 + rax*2 + 8], 0xf000
mov qword [rsp + 0x30], rax
je 0x10026d24f
mov ax, word [r8 + rax*2 + 8]
xor r15d, r15d
and eax, r10d
add eax, dword [r8]
add rax, rbp
mov rcx, rax
sub rcx, r11
mov qword [rsp + 0x40], rax
je 0x10026d356
mov rbx, rcx
movzx eax, byte [r11 + r15]
add r15, 1
sub eax, 0x2b504195
add r9d, eax
add eax, edx
imul rax, r13
mov qword [rsp + 0x38], rax
mov ecx, dword [rsp + 0x38]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, r13
mov qword [rsp + 0x38], rax
mov edx, dword [rsp + 0x38]
shr rax, 0x20
add edx, eax
mov dword [rsp + 0xcc], edx
add r9d, edx
cmp r15, rbx
mov dword [rsp + 0xc8], r9d
jb 0x10026d2e8
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
mov rax, qword [rax]
cmp ecx, 3
mov qword [rsp + 0xe8], rax
je 0x10026d382
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x10026d388
mov r11d, 2
mov rcx, r14
neg rcx
sub r11d, 2
mov qword [rsp + 0x38], rcx
je 0x10026d3ba
cmp r11d, 1
je 0x10026d3a5
or r11, 0xffffffffffffffff
jmp 0x10026d3c9
mov rcx, qword [rsp + 0x38]
mov r11, r12
add rax, rcx
mov qword [rsp + 0xe8], rax
jmp 0x10026d3c9
mov rcx, qword [rsp + 0x38]
add dword [rsp + 0xe8], ecx
mov r11, rsi
xor r15d, r15d
test r11, r11
je 0x10026d43e
movzx eax, byte [rsp + r15 + 0xe8]
add r15, 1
sub eax, 0x2b504195
add r9d, eax
add eax, edx
imul rax, r13
mov qword [rsp + 0x38], rax
mov ecx, dword [rsp + 0x38]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, r13
mov qword [rsp + 0x38], rax
shr rax, 0x20
mov edx, dword [rsp + 0x38]
add edx, eax
add r9d, edx
cmp r15, r11
jb 0x10026d3d1
mov dword [rsp + 0xcc], edx
mov dword [rsp + 0xc8], r9d
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
add r11, rax
jmp 0x10026d24f
mov r15, 0xfffffffffffff000
mov r10, qword [rsp + 0x68]
xor r8d, r8d
mov bl, r8b
mov rbp, qword [rsp + 0x78]
sub r10, r11
mov r14, qword [rsp + 0x70]
je 0x10026d4da
movzx eax, byte [r8 + r11]
add r8, 1
sub eax, 0x2b504195
add r9d, eax
add eax, edx
imul rax, r13
mov qword [rsp + 0x38], rax
mov ecx, dword [rsp + 0x38]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
imul rax, r13
mov qword [rsp + 0x38], rax
shr rax, 0x20
mov edx, dword [rsp + 0x38]
add edx, eax
mov dword [rsp + 0xcc], edx
add r9d, edx
mov dword [rsp + 0xc8], r9d
cmp r8, r10
jb 0x10026d471
mov rdi, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x58]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
mov al, byte [rsp + rax + 0xc8]
cmp rcx, r12
mov byte [rsp + rcx + 0x1b7], al
jb 0x10026d4e6
mov eax, 0xa31a1273
mov r9b, dil
and r9d, 7
mov r11, r14
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x38], rbp
je 0x10026da2d
mov edi, r13d
not edi
xor r10d, r10d
xor ecx, ecx
and dword [rsp + 0x68], r10d
test r9d, r9d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x60], ecx
jle 0x10026d59a
lea r8d, [r10 + 0x38]
mov eax, dword [rsp + 0x68]
movzx edx, byte [r11]
cmp ecx, esi
jge 0x10026d565
lea ecx, [r8 - 0x20]
shl edx, cl
or eax, edx
jmp 0x10026d56d
mov ecx, r8d
shl edx, cl
or r10d, edx
add r11, 1
sub r8d, r12d
mov ecx, dword [rsp + 0x60]
add ecx, 1
mov dword [rsp + 0x60], ecx
cmp ecx, r9d
jl 0x10026d553
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x1b8]
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x48], r11
movzx r11d, word [rsp + 0x1bc]
movzx r8d, ax
movzx r10d, word [rsp + 0x1be]
mov ecx, r13d
sub ecx, eax
sub ecx, r10d
movzx r9d, word [rsp + 0x1ba]
xor edi, ecx
mov r13d, edi
mov ecx, edi
xor ecx, r8d
rol ecx, 3
ror r13d, 9
imul ecx, r11d
add r13d, ecx
xor r13d, dword [rsp + 0x58]
mov edx, r13d
mov ecx, r13d
xor edx, r10d
shr ecx, 3
rol edx, 6
imul edx, r9d
add edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
xor edx, dword [rsp + 0x1bc]
ror edx, 0xc
rol ecx, 0xa
imul edx, r8d
xor ecx, edx
xor r13d, ecx
mov edx, r13d
xor edx, eax
rol edx, 1
mov ecx, r13d
rol ecx, 0xf
imul edx, r10d
add ecx, edx
xor edi, ecx
mov ecx, edi
not ecx
ror ecx, 0xb
add ecx, r11d
imul ecx, r8d
xor r13d, ecx
mov edx, r13d
sub edx, r11d
mov ecx, r13d
shr ecx, 0xc
imul edx, r9d
sub edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
sub edx, dword [rsp + 0x1bc]
ror edx, 0xa
ror ecx, 7
imul edx, r8d
add ecx, edx
xor r13d, ecx
mov edx, r13d
mov ecx, r13d
sub edx, eax
ror edx, 0xf
rol ecx, 3
imul edx, r10d
xor ecx, edx
xor edi, ecx
lea edx, [rdi + rax]
mov ecx, edi
ror edx, 0xd
ror ecx, 0xb
imul edx, r11d
add ecx, edx
xor r13d, ecx
mov edx, r13d
mov ecx, r13d
xor ecx, r11d
ror edx, 0xd
imul ecx, r9d
add edx, ecx
xor r9d, r9d
xor edi, edx
mov ecx, edi
xor edi, dword [rsp + 0x30]
mov r8d, edi
mov edx, dword [rsp + 0x1bc]
xor ecx, eax
sub edx, ecx
mov rcx, qword [rsp + 0x20]
xor edx, dword [rsp + 0x68]
xor r13d, edx
mov edx, r13d
test ecx, ecx
jle 0x10026d704
mov rax, rbp
cmp r9d, esi
jge 0x10026d6e0
rol edx, 8
mov byte [rax], dl
add rax, 1
xor bl, dl
jmp 0x10026d6ee
rol r8d, 8
mov byte [rax], r8b
add rax, 1
xor bl, r8b
add r9d, 1
cmp r9d, ecx
jl 0x10026d6ce
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x1b8]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x10026da13
sub esi, ecx
shl esi, 3
mov ecx, esi
shr edi, cl
shl edi, cl
mov r11, qword [rsp + 0x48]
mov esi, dword [rsp + 0x30]
mov r10, qword [rsp + 0x50]
mov rcx, r10
shr rcx, 3
mov qword [rsp + 0x20], rcx
je 0x10026d95d
movzx ecx, ax
mov r15d, dword [rsp + 0x68]
movzx ebp, word [rsp + 0x1bc]
mov r10, qword [rsp + 0x38]
mov r14, qword [rsp + 0x20]
movzx edx, word [rsp + 0x1be]
mov dword [rsp + 0x58], ecx
movzx ecx, word [rsp + 0x1ba]
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x40], ecx
movzx ecx, byte [r11]
movzx r8d, byte [r11 + 4]
movzx r9d, byte [r11 + 1]
shl ecx, 8
shl r8d, 8
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r11 + 2]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r11 + 3]
or r9d, ecx
movzx ecx, byte [r11 + 5]
or r8d, ecx
movzx ecx, byte [r11 + 6]
xor r13d, r9d
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r11 + 7]
add r11, r12
shl r8d, 8
or r8d, ecx
mov ecx, r13d
sub ecx, eax
sub ecx, edx
xor ecx, r8d
xor edi, ecx
mov ecx, edi
mov edx, edi
xor edx, dword [rsp + 0x58]
rol edx, 3
ror ecx, 9
imul edx, ebp
add ecx, edx
xor r13d, ecx
mov edx, r13d
movzx ecx, word [rsp + 0x1be]
xor edx, ecx
movzx ecx, word [rsp + 0x1ba]
rol edx, 6
imul edx, ecx
mov ecx, r13d
shr ecx, 3
add edx, ecx
xor edi, edx
mov edx, edi
xor edx, dword [rsp + 0x1bc]
ror edx, 0xc
mov ecx, edi
rol ecx, 0xa
imul edx, dword [rsp + 0x58]
xor ecx, edx
xor r13d, ecx
mov edx, r13d
xor edx, eax
rol edx, 1
mov ecx, r13d
rol ecx, 0xf
imul edx, dword [rsp + 0x60]
add ecx, edx
xor edi, ecx
mov ecx, edi
not ecx
ror ecx, 0xb
add ecx, ebp
imul ecx, dword [rsp + 0x58]
xor r13d, ecx
movzx ecx, word [rsp + 0x1ba]
mov edx, r13d
sub edx, ebp
imul edx, ecx
mov ecx, r13d
shr ecx, 0xc
sub edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
sub edx, dword [rsp + 0x1bc]
ror edx, 0xa
ror ecx, 7
imul edx, dword [rsp + 0x58]
add ecx, edx
xor r13d, ecx
mov ecx, r13d
mov edx, r13d
sub edx, eax
ror edx, 0xf
rol ecx, 3
imul edx, dword [rsp + 0x60]
xor ecx, edx
xor edi, ecx
mov ecx, edi
lea edx, [rdi + rax]
ror edx, 0xd
ror ecx, 0xb
imul edx, ebp
add ecx, edx
xor r13d, ecx
mov ecx, r13d
xor ecx, ebp
mov edx, r13d
ror edx, 0xd
imul ecx, dword [rsp + 0x40]
add edx, ecx
xor edi, edx
mov ecx, edi
mov edx, dword [rsp + 0x1bc]
xor edi, esi
xor ecx, eax
mov esi, r8d
sub edx, ecx
xor edx, r15d
xor r13d, edx
mov r15d, r9d
xor bl, r13b
xor bl, dil
movzx edx, word [rsp + 0x1be]
mov byte [r10 + 3], r13b
mov byte [r10 + 7], dil
ror r13d, 8
mov byte [r10 + 2], r13b
ror edi, 8
mov byte [r10 + 6], dil
xor bl, r13b
ror r13d, 8
xor bl, dil
mov byte [r10 + 1], r13b
ror edi, 8
mov byte [r10 + 5], dil
xor bl, r13b
ror r13d, 8
xor bl, dil
mov byte [r10], r13b
ror edi, 8
mov cl, dil
xor cl, r13b
mov byte [r10 + 4], dil
add r10, r12
xor bl, cl
ror r13d, 8
ror edi, 8
sub r14, 1
jne 0x10026d770
mov r10, qword [rsp + 0x50]
mov r14, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov r15, 0xfffffffffffff000
cmp bl, byte [r10 + r14 + 8]
je 0x10026da56
call fcn.1002d3e40
mov r8d, 0xffff
mov rbx, rax
and rbx, r15
mov rax, qword [rsp + 0xd8]
lea rbp, [0x1003e8888]
mov qword [rax + 0x10], rbp
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, r15
mov rax, qword [0x100495210]
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
shr r8, 0x10
jne 0x10026d9a8
mov qword [0x100495210], rax
movabs rax, 0x8000800080008001
mul r9
shr rdx, 0xf
imul rdx, rdx, 0xffff
mov rax, qword [rsp + 0xd0]
sub r9, rdx
add r9, 1
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], 0
jmp 0x10026da4c
xor edi, edi
test ecx, ecx
jns 0x10026d71a
neg ecx
shl ecx, 3
shr r13d, cl
shl r13d, cl
jmp 0x10026d71a
mov esi, r13d
mov dword [rsp + 0x68], r13d
xor edi, edi
xor r13d, r13d
not esi
jmp 0x10026d723
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r12
cmp r10, r11
jb 0x10026da41
jmp 0x100268687
mov rax, qword [0x1003f4900]
lea r13, [0x100000000]
mov rsi, r13
mov rdi, r14
sub rdi, rbp
sub rsi, rax
jne 0x10026da7b
test rdi, rdi
je 0x10026867c
mov rbx, rbp
lea r15, [0x100000000]
xor r8d, r8d
mov rcx, qword [0x1000016e8]
sub rbx, r14
sub r14d, r13d
lea r9d, [rcx - 1]
lea r12d, [r14 + r10]
test r9d, r9d
js 0x10026dad3
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x16ec]
and r10d, 0xfffffff
cmp r14d, r10d
jae 0x10026dac8
lea r9d, [rdx - 1]
jmp 0x10026dace
jbe 0x10026dadb
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x10026daa2
movsxd r11, r8d
jmp 0x10026db5e
mov r11, rdx
jmp 0x10026db5e
mov edx, dword [r15 + r11*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, r12d
jae 0x10026867c
mov r8d, edx
mov r9, rdx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r13
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x10026db39
sub r8d, 1
je 0x10026db34
cmp r8d, 1
jne 0x10026db3f
mov r10, rsi
jmp 0x10026db3f
mov r10, rdi
jmp 0x10026db3f
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x10026db4f
cmp edx, 1
jne 0x10026db5a
add qword [r9 + rbx], r10
jmp 0x10026db53
add dword [r9 + rbx], r10d
mov rcx, qword [0x1000016e8]
add r11, 1
mov eax, ecx
cmp r11, rax
jb 0x10026dae0
jmp 0x10026867c
mov edx, dword [0x10000003c]
cmp rdi, r15
jb 0x10026f39c
movsxd rax, edx
add rax, r15
mov ecx, dword [rax + 0x50]
add rcx, r15
cmp rdi, rcx
jae 0x10026e770
mov r9d, r12d
mov r8d, edi
mov ecx, dword [0x1003bff78]
sub r8d, r15d
sub ecx, 1
js 0x10026dbd8
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x52d44]
and eax, r11d
cmp r8d, eax
jae 0x10026dbc9
lea ecx, [rdx - 1]
jmp 0x10026dbd3
jbe 0x10026dd55
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x10026dba6
mov rdx, r12
cmp rdx, r12
je 0x10026e76a
mov r9d, dword [0x1002f3aa4]
mov r8, r12
mov edi, dword [rdx]
mov al, dil
shr rdi, 3
and rdi, r11
mov qword [rsp + 0x50], rdi
and eax, 7
lea rbx, [rax + rdx + 8]
mov qword [rsp + 0x48], rbx
mov r14d, ebx
sub r9, rdi
add r9, 1
sub r14d, r15d
mov dword [rsp + 0x60], r14d
mov r10, r9
cmp r9, r12
je 0x10026dc58
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
shr r10, 0x10
jne 0x10026dc2d
mov qword [0x100495210], rax
xor edx, edx
mov ecx, r14d
mov rax, r8
div r9
lea rbp, [rsi + rdx]
mov rdx, rdi
mov r8, rbp
mov qword [rsp + 0x78], rbp
mov eax, 0x23e796af
lea rcx, [rsp + 0x178]
mov r11, qword [rbx + rdi]
mov bl, r12b
mov qword [rsp + 0x178], r11
mov eax, 0x13db05fd
mov r9d, dword [rsp + 0x17c]
mov esi, 4
mov rcx, r15
mov r11, qword [rsp + 0x178]
mov eax, 0xfffffff
and r11, rax
and r9, rax
add r11, r15
mov r15, 0xfffffffffffff000
mov rax, qword [0x1003f4900]
mov qword [rsp + 0xb0], r12
sub rcx, rax
lea r12d, [rsi + 4]
mov qword [rsp + 0x40], rcx
jne 0x10026dd75
xor r10d, r10d
test r9, r9
je 0x10026e08e
mov r13d, 0x966c4cad
mov r8d, dword [rsp + 0xb0]
mov edx, dword [rsp + 0xb4]
movzx ecx, byte [r11 + r10]
add r10, 1
sub ecx, 0x6993b353
add r8d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x81ee
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, r13
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
add r8d, edx
cmp r10, r9
mov dword [rsp + 0xb4], edx
mov dword [rsp + 0xb0], r8d
jb 0x10026dd02
jmp 0x10026e08e
mov edx, dword [rbx + rdx*8 + 0x52d40]
mov eax, dword [rbx + r10*8 + 0x52d44]
shr edx, 1
and eax, r11d
and edx, ebp
add edx, eax
add rdx, r15
jmp 0x10026dbdb
lea rax, [r11 + r9]
movsxd rcx, dword [0x10000003c]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x30], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
mov r14d, eax
and r14, r15
sub rax, r14
mov qword [rsp + 0x20], rax
lea rax, [rcx + r9]
mov rcx, rax
and rcx, r15
mov qword [rsp + 0x38], rcx
sub rax, rcx
add rdx, r8
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x70], rax
jmp 0x10026dde3
mov eax, dword [r8]
cmp rax, r14
jae 0x10026dde8
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rdx
jne 0x10026ddd4
mov r10d, 0xfff
xor r13d, r13d
cmp r8, rdx
je 0x10026de2b
mov eax, dword [r8]
cmp rax, r14
jne 0x10026de2b
mov ecx, dword [r8 + 4]
sub rcx, r12
shr rcx, 1
je 0x10026de26
mov rdx, qword [rsp + 0x20]
mov ax, word [r8 + r13*2 + 8]
and rax, r10
cmp rax, rdx
jae 0x10026de26
add r13, 1
cmp r13, rcx
jne 0x10026de0f
mov rcx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov edx, dword [rsp + 0xb4]
mov r9d, dword [rsp + 0xb0]
mov r14, qword [rsp + 0x58]
mov edi, 0x966c4cad
cmp r8, r14
je 0x10026e010
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026e010
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp r13, rax
jne 0x10026de8b
add r8, rbx
cmp r8, r14
je 0x10026e010
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026e010
xor r13d, r13d
jmp 0x10026de5e
mov eax, dword [r8]
cmp rax, rcx
jne 0x10026dea7
mov ax, word [r8 + r13*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x70]
jae 0x10026e010
mov rax, r13
add r13, 1
test word [r8 + rax*2 + 8], 0xf000
mov qword [rsp + 0x40], rax
je 0x10026de49
mov ax, word [r8 + rax*2 + 8]
xor r15d, r15d
and eax, r10d
add eax, dword [r8]
mov r14d, eax
lea rax, [0x100000000]
add r14, rax
mov rax, r14
sub rax, r11
je 0x10026df32
mov rbx, rax
movzx ecx, byte [r15 + r11]
add r15, 1
sub ecx, 0x6993b353
add r9d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x81ee
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, rdi
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
mov dword [rsp + 0xb4], edx
add r9d, edx
cmp r15, rbx
mov dword [rsp + 0xb0], r9d
jb 0x10026dee4
mov rcx, qword [rsp + 0x40]
mov rax, qword [r14]
movzx ecx, word [r8 + rcx*2 + 8]
mov qword [rsp + 0x128], rax
shr ecx, 0xc
cmp ecx, 3
je 0x10026df5e
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x10026df64
mov r11d, 2
mov rcx, rbp
neg rcx
mov qword [rsp + 0x20], rcx
sub r11d, 2
je 0x10026df96
cmp r11d, 1
je 0x10026df81
or r11, 0xffffffffffffffff
jmp 0x10026dfa5
mov rcx, qword [rsp + 0x20]
mov r11, r12
add rax, rcx
mov qword [rsp + 0x128], rax
jmp 0x10026dfa5
mov rcx, qword [rsp + 0x20]
mov r11, rsi
add dword [rsp + 0x128], ecx
xor edi, edi
test r11, r11
je 0x10026e003
mov r15d, 0x966c4cad
movzx ecx, byte [rsp + rdi + 0x128]
add rdi, 1
sub ecx, 0x6993b353
add r9d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x81ee
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, r15
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
add r9d, edx
cmp rdi, r11
jb 0x10026dfb2
mov dword [rsp + 0xb4], edx
mov dword [rsp + 0xb0], r9d
mov rcx, qword [rsp + 0x38]
add r11, r14
jmp 0x10026de3f
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x78]
mov r10, qword [rsp + 0x30]
xor r8d, r8d
mov bl, r8b
sub r10, r11
mov r15, 0xfffffffffffff000
je 0x10026e089
mov edi, 0x966c4cad
movzx ecx, byte [r11 + r8]
add r8, 1
sub ecx, 0x6993b353
add r9d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x81ee
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, rdi
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
mov dword [rsp + 0xb4], edx
add r9d, edx
mov dword [rsp + 0xb0], r9d
cmp r8, r10
jb 0x10026e036
mov rdi, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x60]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
mov al, byte [rsp + rax + 0xb0]
mov byte [rsp + rcx + 0x19f], al
cmp rcx, r12
jb 0x10026e090
mov eax, 0x70a16c47
mov r11, qword [rsp + 0x48]
mov rax, qword [rsp + 0x1a0]
mov r9b, dil
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x38], rbp
and r9d, 7
mov qword [rsp + 0x20], r9
je 0x10026e62a
xor r10d, r10d
mov dword [rsp + 0x30], r10d
mov r13d, r14d
xor edi, edi
not r13d
mov dword [rsp + 0x58], edi
xor r11d, r11d
test r9d, r9d
jle 0x10026e13f
mov rax, qword [rsp + 0x68]
lea r8d, [r10 + 0x38]
movzx edx, byte [rax]
cmp r11d, esi
jge 0x10026e111
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x10026e119
mov ecx, r8d
shl edx, cl
or r10d, edx
add r11d, 1
add rax, 1
sub r8d, r12d
cmp r11d, r9d
jl 0x10026e0ff
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x1a0]
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x30], r10d
mov r8d, eax
movzx edi, ax
movzx r9d, word [rsp + 0x1a6]
movzx r10d, word [rsp + 0x1a4]
movzx r11d, word [rsp + 0x1a2]
mov ecx, r14d
sub ecx, r9d
sub ecx, eax
xor r13d, ecx
mov r14d, r13d
sub r14d, r10d
xor r14d, dword [rsp + 0x60]
xor r14d, eax
mov ecx, r14d
ror ecx, 0xe
xor ecx, r11d
imul ecx, r9d
xor r13d, ecx
mov ecx, r13d
ror ecx, 4
sub ecx, edi
imul ecx, r11d
xor r14d, ecx
mov ecx, r9d
mov edx, r14d
sub r8d, r14d
rol r8d, 0xd
rol edx, 0xd
imul ecx, r8d
mov r8d, r10d
add edx, ecx
xor r13d, edx
mov edx, r11d
mov ecx, r13d
xor edx, r13d
shr ecx, 9
imul edx, r10d
xor edx, ecx
mov ecx, r11d
xor r14d, edx
xor r8d, r14d
mov edx, r14d
rol r8d, 1
ror edx, 0x10
imul ecx, r8d
add edx, ecx
xor r13d, edx
mov ecx, edi
mov edx, r13d
mov r8d, r11d
xor r8d, r13d
rol r8d, 5
rol edx, 3
imul ecx, r8d
sub ecx, edx
xor r14d, ecx
mov ecx, r14d
not ecx
ror ecx, 6
add ecx, r9d
imul ecx, r10d
xor r13d, ecx
mov ecx, r13d
mov edx, r13d
sub edx, eax
rol edx, 5
ror ecx, 2
imul r10d, edx
add ecx, r10d
xor r14d, ecx
mov ecx, r14d
sub ecx, edi
rol ecx, 4
imul r11d, ecx
mov ecx, r14d
shr ecx, 9
xor r11d, ecx
xor r13d, r11d
mov edx, r13d
mov ecx, r13d
sub ecx, dword [rsp + 0x1a4]
rol ecx, 0xb
imul edi, ecx
xor r13d, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x58]
mov r8d, r13d
ror edx, 8
xor r9d, r9d
xor edx, edi
xor edx, ecx
mov rcx, qword [rsp + 0x20]
xor r14d, edx
mov edx, r14d
test ecx, ecx
jle 0x10026e2af
mov rax, rbp
cmp r9d, esi
jge 0x10026e28b
rol edx, 8
mov byte [rax], dl
add rax, 1
xor bl, dl
jmp 0x10026e299
rol r8d, 8
mov byte [rax], r8b
add rax, 1
xor bl, r8b
add r9d, 1
cmp r9d, ecx
jl 0x10026e279
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x1a0]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x10026e60f
sub esi, ecx
shl esi, 3
mov ecx, esi
shr r13d, cl
shl r13d, cl
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x50]
mov r11, qword [rsp + 0x48]
mov rcx, rdi
shr rcx, 3
mov qword [rsp + 0x20], rcx
je 0x10026e559
mov r15d, dword [rsp + 0x58]
movzx r8d, word [rsp + 0x1a2]
movzx ecx, word [rsp + 0x1a6]
mov rdi, qword [rsp + 0x38]
movzx edx, ax
mov r11, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x20]
mov dword [rsp + 0x70], ecx
movzx ecx, word [rsp + 0x1a4]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x60], edx
mov ecx, edx
neg ecx
mov dword [rsp + 0x30], ecx
movzx r10d, byte [r11]
shl r10d, 8
movzx r9d, byte [r11 + 4]
shl r9d, 8
movzx ecx, byte [r11 + 1]
or r10d, ecx
movzx ecx, byte [r11 + 2]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r11 + 3]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r11 + 5]
or r9d, ecx
xor r14d, r10d
movzx ecx, byte [r11 + 6]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 7]
add r11, r12
shl r9d, 8
or r9d, ecx
mov ecx, r14d
sub ecx, dword [rsp + 0x70]
sub ecx, eax
xor ecx, r9d
xor r13d, ecx
mov ecx, r13d
sub ecx, dword [rsp + 0x40]
xor r14d, ecx
xor r14d, eax
mov ecx, r14d
ror ecx, 0xe
xor ecx, r8d
imul ecx, dword [rsp + 0x70]
xor r13d, ecx
mov ecx, r13d
ror ecx, 4
sub ecx, edx
imul ecx, r8d
mov r8d, eax
xor r14d, ecx
mov edx, r14d
sub r8d, r14d
rol r8d, 0xd
rol edx, 0xd
movzx ecx, word [rsp + 0x1a6]
imul ecx, r8d
add edx, ecx
xor r13d, edx
mov ecx, r13d
movzx r8d, word [rsp + 0x1a4]
movzx edx, word [rsp + 0x1a2]
xor edx, r13d
shr ecx, 9
imul edx, r8d
xor edx, ecx
xor r14d, edx
mov edx, r14d
xor r8d, r14d
movzx ecx, word [rsp + 0x1a2]
rol r8d, 1
ror edx, 0x10
imul ecx, r8d
movzx r8d, word [rsp + 0x1a2]
add edx, ecx
mov ecx, dword [rsp + 0x60]
xor r13d, edx
xor r8d, r13d
rol r8d, 5
mov edx, r13d
rol edx, 3
imul ecx, r8d
sub ecx, edx
xor r14d, ecx
movzx edx, word [rsp + 0x1a6]
mov ecx, r14d
not ecx
ror ecx, 6
add ecx, edx
movzx edx, word [rsp + 0x1a4]
imul ecx, edx
xor r13d, ecx
movzx ecx, word [rsp + 0x1a4]
mov edx, r13d
mov r8d, r13d
sub r8d, eax
rol r8d, 5
ror edx, 2
imul ecx, r8d
add edx, ecx
xor r14d, edx
movzx edx, word [rsp + 0x1a2]
mov ecx, dword [rsp + 0x30]
add ecx, r14d
rol ecx, 4
imul edx, ecx
mov ecx, r14d
shr ecx, 9
xor edx, ecx
mov ecx, dword [rsp + 0x60]
xor r13d, edx
mov edx, r13d
mov r8d, r13d
xor r13d, esi
mov esi, r9d
sub edx, dword [rsp + 0x1a4]
rol edx, 0xb
ror r8d, 8
imul ecx, edx
xor r8d, ecx
mov edx, dword [rsp + 0x60]
xor r8d, r15d
mov r15d, r10d
xor r14d, r8d
movzx r8d, word [rsp + 0x1a2]
mov byte [rdi + 3], r14b
mov byte [rdi + 7], r13b
xor bl, r14b
xor bl, r13b
ror r14d, 8
mov byte [rdi + 2], r14b
ror r13d, 8
xor bl, r14b
ror r14d, 8
mov byte [rdi + 6], r13b
xor bl, r13b
ror r13d, 8
mov byte [rdi + 1], r14b
xor bl, r14b
ror r14d, 8
mov byte [rdi + 5], r13b
xor bl, r13b
ror r13d, 8
mov cl, r13b
xor cl, r14b
mov byte [rdi], r14b
mov byte [rdi + 4], r13b
add rdi, r12
xor bl, cl
ror r14d, 8
ror r13d, 8
sub rbp, 1
jne 0x10026e32b
mov r11, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r15, 0xfffffffffffff000
mov rbp, qword [rsp + 0x78]
cmp bl, byte [rdi + r11 + 8]
je 0x10026e654
call fcn.1002d3e40
lea rbp, [0x1003e8888]
mov r8d, 0xffff
mov rbx, rax
mov rax, qword [rsp + 0xd8]
and rbx, r15
lea r10, [rax + 0x18]
mov qword [rax + 0x10], rbp
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
shr r8, 0x10
jne 0x10026e5a4
mov qword [0x100495210], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd0]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
add r9, 1
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], 0
jmp 0x10026e64a
xor r13d, r13d
test ecx, ecx
jns 0x10026e2c7
neg ecx
shl ecx, 3
shr r14d, cl
shl r14d, cl
jmp 0x10026e2c7
mov esi, r14d
mov dword [rsp + 0x58], r14d
not esi
xor r13d, r13d
xor r14d, r14d
jmp 0x10026e2d5
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r12
cmp r10, r11
jb 0x10026e63f
jmp 0x100268687
mov rax, qword [0x1003f4900]
mov rsi, r11
sub rsi, rbp
lea r13, [0x100000000]
mov r12, r13
sub r12, rax
jne 0x10026e679
test rsi, rsi
je 0x10026867c
mov rbx, rbp
mov rcx, qword [0x1000016e8]
lea r15, [0x100000000]
xor r8d, r8d
lea r9d, [rcx - 1]
sub rbx, r11
sub r11d, r13d
add edi, r11d
test r9d, r9d
js 0x10026e6d0
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x16ec]
and r10d, 0xfffffff
cmp r11d, r10d
jae 0x10026e6c5
lea r9d, [rdx - 1]
jmp 0x10026e6cb
jbe 0x10026e6d8
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x10026e69f
movsxd r11, r8d
jmp 0x10026e75a
mov r11, rdx
jmp 0x10026e75a
mov edx, dword [r15 + r11*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, edi
jae 0x10026867c
mov r8d, edx
mov r9, rdx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r13
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x10026e735
sub r8d, 1
je 0x10026e730
cmp r8d, 1
jne 0x10026e73b
mov r10, r12
jmp 0x10026e73b
mov r10, rsi
jmp 0x10026e73b
mov r10, r12
sub r10, rsi
sub edx, 2
je 0x10026e74b
cmp edx, 1
jne 0x10026e756
add qword [r9 + rbx], r10
jmp 0x10026e74f
add dword [r9 + rbx], r10d
mov rcx, qword [0x1000016e8]
add r11, 1
mov eax, ecx
cmp r11, rax
jb 0x10026e6dd
jmp 0x10026867c
mov edx, dword [0x10000003c]
cmp rdi, r15
jb 0x10026f39c
movsxd rax, edx
mov ecx, dword [rax + r15 + 0x50]
add rcx, r15
cmp rdi, rcx
jae 0x10026f39c
mov ecx, dword [0x100030628]
mov r8d, edi
mov r9d, r12d
sub r8d, r15d
sub ecx, 1
js 0x10026e7d3
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x606b8]
and eax, r11d
cmp r8d, eax
jae 0x10026e7c4
lea ecx, [rdx - 1]
jmp 0x10026e7ce
jbe 0x10026e954
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x10026e7a1
mov rdx, r12
cmp rdx, r12
je 0x10026f39c
mov r8, r12
mov edi, dword [rdx]
mov r9d, dword [0x1002f3aa4]
mov rax, rdi
shr rdi, 1
and rdi, r11
shr rax, 0x1d
sub r9, rdi
mov qword [rsp + 0x48], rdi
add r9, 1
mov r10, r9
lea rbx, [rax + rdx + 8]
mov r13d, ebx
sub r13d, r15d
mov qword [rsp + 0x50], rbx
cmp r9, r12
mov dword [rsp + 0x60], r13d
je 0x10026e853
mov rax, qword [0x100495210]
imul rax, rax, 0x343fd
shl r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
shr r10, 0x10
jne 0x10026e828
mov qword [0x100495210], rax
mov ecx, r13d
mov rax, r8
xor edx, edx
div r9
lea rbp, [rsi + rdx]
mov qword [rsp + 0x78], rbp
mov rdx, rdi
mov r8, rbp
mov eax, 0x8ac1489c
lea rcx, [rsp + 0x140]
mov r11, qword [rbx + rdi]
mov qword [rsp + 0x140], r11
mov bl, r12b
mov eax, 0x1651ac97
mov r11, qword [rsp + 0x140]
mov r9d, dword [rsp + 0x144]
mov esi, 4
mov rcx, r15
mov eax, 0xfffffff
and r11, rax
and r9, rax
mov rax, qword [0x1003f4900]
add r11, r15
sub rcx, rax
mov r15, 0xfffffffffffff000
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x40], rcx
lea r12d, [rsi + 4]
jne 0x10026e972
xor r8d, r8d
test r9, r9
je 0x10026ec99
mov ecx, dword [rsp + 0x84]
mov edx, dword [rsp + 0x80]
mov r10d, 0x83010f63
movzx eax, byte [r8 + r11]
add r8, 1
sub eax, 0x7cfef09d
add edx, eax
add eax, ecx
mov ecx, eax
imul ecx, ecx, 0x2cfc
rol ecx, 3
ror eax, 3
xor eax, ecx
imul eax, eax, 0x83010f63
ror eax, 0x1c
imul rax, r10
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 0x20
add ecx, eax
mov dword [rsp + 0x84], ecx
add edx, ecx
mov dword [rsp + 0x80], edx
cmp r8, r9
jb 0x10026e8fc
jmp 0x10026ec99
mov eax, dword [rbx + r10*8 + 0x606b8]
mov edx, dword [rbx + rdx*8 + 0x606bc]
and edx, ebp
and eax, r11d
add edx, eax
add rdx, r15
jmp 0x10026e7d6
movsxd rcx, dword [0x10000003c]
lea rax, [r11 + r9]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x30], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov r14d, eax
mov ecx, eax
and r14, r15
sub rax, r14
mov qword [rsp + 0x20], rax
lea rax, [rcx + r9]
mov rcx, rax
and rcx, r15
mov qword [rsp + 0x38], rcx
sub rax, rcx
add rdx, r8
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x70], rax
jmp 0x10026e9e0
mov eax, dword [r8]
cmp rax, r14
jae 0x10026e9e5
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rdx
jne 0x10026e9d1
mov r10d, 0xfff
xor r13d, r13d
cmp r8, rdx
je 0x10026ea28
mov eax, dword [r8]
cmp rax, r14
jne 0x10026ea28
mov ecx, dword [r8 + 4]
sub rcx, r12
shr rcx, 1
je 0x10026ea23
mov rdx, qword [rsp + 0x20]
mov ax, word [r8 + r13*2 + 8]
and rax, r10
cmp rax, rdx
jae 0x10026ea23
add r13, 1
cmp r13, rcx
jne 0x10026ea0c
mov rcx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x80]
mov edx, dword [rsp + 0x84]
mov r15d, 0x83010f63
mov rdi, qword [rsp + 0x58]
cmp r8, rdi
je 0x10026ec17
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026ec17
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp r13, rax
jne 0x10026ea89
add r8, rbx
cmp r8, rdi
je 0x10026ec17
mov eax, dword [r8]
cmp rax, rcx
ja 0x10026ec17
xor r13d, r13d
jmp 0x10026ea5c
mov eax, dword [r8]
cmp rax, rcx
jne 0x10026eaa5
mov ax, word [r8 + r13*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x70]
jae 0x10026ec17
mov rax, r13
add r13, 1
test word [r8 + rax*2 + 8], 0xf000
mov qword [rsp + 0x40], rax
je 0x10026ea47
mov ax, word [r8 + rax*2 + 8]
xor edi, edi
and eax, r10d
add eax, dword [r8]
mov r14d, eax
lea rax, [0x100000000]
add r14, rax
mov rax, r14
sub rax, r11
je 0x10026eb37
mov rbx, rax
movzx eax, byte [r11 + rdi]
add rdi, 1
sub eax, 0x7cfef09d
add r9d, eax
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x2cfc
rol ecx, 3
ror eax, 3
xor eax, ecx
imul eax, eax, 0x83010f63
ror eax, 0x1c
imul rax, r15
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
add r9d, edx
cmp rdi, rbx
mov dword [rsp + 0x84], edx
mov dword [rsp + 0x80], r9d
jb 0x10026eae1
mov rax, qword [r14]
mov rcx, qword [rsp + 0x40]
movzx ecx, word [r8 + rcx*2 + 8]
mov qword [rsp + 0xf0], rax
shr ecx, 0xc
cmp ecx, 3
je 0x10026eb63
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x10026eb69
mov r11d, 2
mov rcx, rbp
neg rcx
mov qword [rsp + 0x20], rcx
sub r11d, 2
je 0x10026eb9b
cmp r11d, 1
je 0x10026eb86
or r11, 0xffffffffffffffff
jmp 0x10026ebaa
mov r11, r12
mov rcx, qword [rsp + 0x20]
add rax, rcx
mov qword [rsp + 0xf0], rax
jmp 0x10026ebaa
mov rcx, qword [rsp + 0x20]
mov r11, rsi
add dword [rsp + 0xf0], ecx
xor edi, edi
test r11, r11
je 0x10026ec0a
movzx eax, byte [rsp + rdi + 0xf0]
add rdi, 1
sub eax, 0x7cfef09d
add r9d, eax
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x2cfc
rol ecx, 3
ror eax, 3
xor eax, ecx
imul eax, eax, 0x83010f63
ror eax, 0x1c
imul rax, r15
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
add r9d, edx
cmp rdi, r11
jb 0x10026ebb1
mov dword [rsp + 0x84], edx
mov dword [rsp + 0x80], r9d
add r11, r14
mov rcx, qword [rsp + 0x38]
jmp 0x10026ea42
xor r8d, r8d
mov r10, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov r15, 0xfffffffffffff000
mov rbp, qword [rsp + 0x78]
mov bl, r8b
sub r10, r11
je 0x10026ec94
mov r14d, 0x83010f63
movzx eax, byte [r8 + r11]
add r8, 1
sub eax, 0x7cfef09d
add r9d, eax
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x2cfc
rol ecx, 3
ror eax, 3
xor eax, ecx
imul eax, eax, 0x83010f63
ror eax, 0x1c
imul rax, r14
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
add r9d, edx
cmp r8, r10
mov dword [rsp + 0x84], edx
mov dword [rsp + 0x80], r9d
jb 0x10026ec3e
mov r13d, dword [rsp + 0x60]
xor ecx, ecx
mov al, cl
add rcx, 1
and eax, 7
cmp rcx, r12
mov al, byte [rsp + rax + 0x80]
mov byte [rsp + rcx + 0x18f], al
jb 0x10026ec9b
mov eax, 0xcae16311
mov rax, qword [rsp + 0x190]
mov r9b, dil
and r9d, 7
mov r11, qword [rsp + 0x50]
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x20], r9
je 0x10026f25c
mov r14d, r13d
not r14d
xor r10d, r10d
xor edi, edi
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x58], edi
xor r11d, r11d
test r9d, r9d
jle 0x10026ed4a
lea r8d, [r10 + 0x38]
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax]
cmp r11d, esi
jge 0x10026ed1c
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x10026ed24
mov ecx, r8d
shl edx, cl
or r10d, edx
add r11d, 1
add rax, 1
sub r8d, r12d
cmp r11d, r9d
jl 0x10026ed0a
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x190]
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x30], r10d
mov r8d, r14d
movzx edi, ax
mov ecx, r14d
movzx r10d, word [rsp + 0x196]
movzx r9d, word [rsp + 0x194]
movzx r11d, word [rsp + 0x192]
shr ecx, 4
xor r8d, r11d
imul r8d, edi
xor r8d, ecx
xor r8d, r13d
mov ecx, r8d
mov edx, r8d
xor edx, edi
shr ecx, 0xd
rol edx, 7
imul edx, r10d
add edx, ecx
xor r14d, edx
mov ecx, r14d
mov edx, r14d
sub edx, eax
rol edx, 8
ror ecx, 8
imul edx, r9d
sub edx, ecx
xor r8d, edx
mov ecx, r8d
ror ecx, 0xc
sub ecx, r11d
imul ecx, r9d
xor r14d, ecx
mov ecx, r10d
mov r13d, r14d
xor r13d, r8d
xor r13d, dword [rsp + 0x194]
xor r13d, eax
mov edx, r13d
mov r8d, r13d
xor r8d, r9d
rol r8d, 4
ror edx, 3
imul ecx, r8d
add edx, ecx
mov ecx, r9d
xor r14d, edx
mov dword [rsp + 0x40], r14d
mov r8d, eax
sub r8d, r14d
rol r8d, 0xa
mov edx, r14d
ror edx, 8
imul ecx, r8d
add edx, ecx
xor r13d, edx
mov r14d, r13d
sub r14d, r11d
xor r14d, dword [rsp + 0x40]
xor r14d, dword [rsp + 0x194]
mov ecx, r14d
shr ecx, 6
mov edx, r14d
sub edx, r9d
imul edx, edi
sub edx, ecx
mov ecx, r10d
xor r13d, edx
mov edx, r13d
mov r8d, r13d
xor r8d, edi
rol r8d, 3
ror edx, 0xa
imul ecx, r8d
xor edx, ecx
xor r14d, edx
mov ecx, r14d
xor ecx, eax
rol ecx, 3
imul r9d, ecx
mov ecx, r14d
shr ecx, 1
sub r9d, ecx
xor r13d, r9d
xor r9d, r9d
mov edx, r13d
mov ecx, r13d
xor ecx, r10d
ror edx, 0xd
imul ecx, r11d
add edx, ecx
xor r14d, edx
mov ecx, r14d
xor r14d, dword [rsp + 0x30]
sub ecx, dword [rsp + 0x194]
mov edx, dword [rsp + 0x58]
mov r8d, r14d
sub ecx, edi
xor ecx, edx
xor r13d, ecx
mov rcx, qword [rsp + 0x20]
test ecx, ecx
mov edx, r13d
jle 0x10026eede
mov rax, rbp
cmp r9d, esi
jge 0x10026eeba
rol edx, 8
mov byte [rax], dl
add rax, 1
xor bl, dl
jmp 0x10026eec8
rol r8d, 8
mov byte [rax], r8b
add rax, 1
xor bl, r8b
add r9d, 1
cmp r9d, ecx
jl 0x10026eea8
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x190]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x10026f241
sub esi, ecx
shl esi, 3
mov ecx, esi
shr r14d, cl
shl r14d, cl
mov rdi, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov esi, dword [rsp + 0x30]
mov rcx, rdi
shr rcx, 3
je 0x10026f18b
mov rbp, rcx
mov r15d, dword [rsp + 0x58]
movzx r8d, ax
mov r11, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x38]
mov dword [rsp + 0x60], r8d
movzx r9d, byte [r11 + 4]
movzx r10d, byte [r11]
shl r10d, 8
shl r9d, 8
movzx ecx, byte [r11 + 1]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r11 + 2]
or r10d, ecx
movzx ecx, byte [r11 + 3]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r11 + 5]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r11 + 6]
or r9d, ecx
movzx ecx, byte [r11 + 7]
add r11, r12
shl r9d, 8
or r9d, ecx
xor r14d, r9d
mov edx, r14d
movzx ecx, word [rsp + 0x192]
xor edx, ecx
mov ecx, r14d
shr ecx, 4
imul edx, r8d
xor edx, ecx
xor edx, r10d
xor r13d, edx
mov ecx, r13d
movzx edx, word [rsp + 0x196]
xor ecx, r8d
rol ecx, 7
imul edx, ecx
mov ecx, r13d
shr ecx, 0xd
add edx, ecx
movzx ecx, word [rsp + 0x194]
xor r14d, edx
mov edx, r14d
mov r8d, r14d
sub r8d, eax
rol r8d, 8
ror edx, 8
imul ecx, r8d
movzx r8d, word [rsp + 0x192]
sub ecx, edx
xor r13d, ecx
mov ecx, r13d
movzx edx, word [rsp + 0x194]
ror ecx, 0xc
sub ecx, r8d
imul ecx, edx
xor r14d, ecx
movzx ecx, word [rsp + 0x196]
xor r13d, r14d
xor r13d, dword [rsp + 0x194]
xor r13d, eax
mov r8d, r13d
xor r8d, edx
rol r8d, 4
mov edx, r13d
ror edx, 3
imul ecx, r8d
mov r8d, eax
add edx, ecx
xor r14d, edx
movzx ecx, word [rsp + 0x194]
sub r8d, r14d
rol r8d, 0xa
mov edx, r14d
ror edx, 8
imul ecx, r8d
add edx, ecx
xor r13d, edx
movzx edx, word [rsp + 0x192]
mov ecx, r13d
sub ecx, edx
xor r14d, ecx
xor r14d, dword [rsp + 0x194]
mov edx, r14d
movzx ecx, word [rsp + 0x194]
sub edx, ecx
mov ecx, r14d
shr ecx, 6
imul edx, dword [rsp + 0x60]
sub edx, ecx
xor r13d, edx
mov r8d, r13d
xor r8d, dword [rsp + 0x60]
movzx ecx, word [rsp + 0x196]
mov edx, r13d
rol r8d, 3
ror edx, 0xa
imul ecx, r8d
movzx r8d, word [rsp + 0x196]
xor edx, ecx
xor r14d, edx
movzx edx, word [rsp + 0x194]
mov ecx, r14d
xor ecx, eax
rol ecx, 3
imul edx, ecx
mov ecx, r14d
shr ecx, 1
sub edx, ecx
xor r13d, edx
mov ecx, r13d
xor ecx, r8d
mov edx, r13d
movzx r8d, word [rsp + 0x192]
ror edx, 0xd
imul ecx, r8d
mov r8d, dword [rsp + 0x60]
add edx, ecx
xor r14d, edx
mov ecx, r14d
xor r14d, esi
mov esi, r9d
sub ecx, dword [rsp + 0x194]
sub ecx, r8d
xor ecx, r15d
mov r15d, r10d
xor r13d, ecx
mov byte [rdi + 3], r13b
xor bl, r13b
mov byte [rdi + 7], r14b
xor bl, r14b
ror r13d, 8
mov byte [rdi + 2], r13b
ror r14d, 8
mov byte [rdi + 6], r14b
xor bl, r13b
ror r13d, 8
xor bl, r14b
mov byte [rdi + 1], r13b
ror r14d, 8
mov byte [rdi + 5], r14b
xor bl, r13b
ror r13d, 8
mov byte [rdi], r13b
xor bl, r14b
ror r14d, 8
mov byte [rdi + 4], r14b
mov cl, r14b
xor cl, r13b
add rdi, r12
xor bl, cl
ror r13d, 8
ror r14d, 8
sub rbp, 1
jne 0x10026ef2c
mov rbp, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x48]
mov r15, 0xfffffffffffff000
mov r11, qword [rsp + 0x50]
cmp bl, byte [rdi + r11 + 8]
je 0x10026f286
call fcn.1002d3e40
lea rbp, [0x1003e8888]
mov r8d, 0xffff
mov rbx, rax
mov rax, qword [rsp + 0xd8]
lea r10, [rax + 0x18]
and rbx, r15
mov qword [rax + 0x10], rbp
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
mov rax, qword [0x100495210]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
shr r8, 0x10
jne 0x10026f1d6
mov qword [0x100495210], rax
movabs rax, 0x8000800080008001
mul r9
shr rdx, 0xf
mov rax, qword [rsp + 0xd0]
imul rdx, rdx, 0xffff
sub r9, rdx
add r9, 1
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], 0
jmp 0x10026f27c
xor r14d, r14d
test ecx, ecx
jns 0x10026eef6
neg ecx
shl ecx, 3
shr r13d, cl
shl r13d, cl
jmp 0x10026eef6
xor r14d, r14d
mov esi, r13d
mov dword [rsp + 0x58], r13d
not esi
xor r13d, r13d
jmp 0x10026ef04
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r12
cmp r10, r11
jb 0x10026f271
jmp 0x100268687
mov rsi, r11
sub rsi, rbp
lea r13, [0x100000000]
mov r12, r13
mov rax, qword [0x1003f4900]
sub r12, rax
jne 0x10026f2ab
test rsi, rsi
je 0x10026867c
mov rcx, qword [0x1000016e8]
mov rbx, rbp
lea r15, [0x100000000]
lea r9d, [rcx - 1]
xor r8d, r8d
sub rbx, r11
sub r11d, r13d
add edi, r11d
test r9d, r9d
js 0x10026f302
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x16ec]
and r10d, 0xfffffff
cmp r11d, r10d
jae 0x10026f2f7
lea r9d, [rdx - 1]
jmp 0x10026f2fd
jbe 0x10026f30a
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x10026f2d1
movsxd r11, r8d
jmp 0x10026f38c
mov r11, rdx
jmp 0x10026f38c
mov edx, dword [r15 + r11*4 + 0x16ec]
mov eax, edx
and eax, 0xfffffff
cmp eax, edi
jae 0x10026867c
mov r8d, edx
mov r9, rdx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r13
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x10026f367
sub r8d, 1
je 0x10026f362
cmp r8d, 1
jne 0x10026f36d
mov r10, r12
jmp 0x10026f36d
mov r10, rsi
jmp 0x10026f36d
mov r10, r12
sub r10, rsi
sub edx, 2
je 0x10026f37d
cmp edx, 1
jne 0x10026f388
add qword [r9 + rbx], r10
jmp 0x10026f381
add dword [r9 + rbx], r10d
mov rcx, qword [0x1000016e8]
add r11, 1
mov eax, ecx
cmp r11, rax
jb 0x10026f30f
jmp 0x10026867c
mov eax, 0xb4c552a9
lea r11, section..data
cmp rsi, r11
jb 0x10026f3e9
mov ecx, dword [0x10005e244]
mov eax, dword [0x1002f3aa4]
imul ecx, eax
mov eax, ecx
add rax, r11
cmp rsi, rax
jae 0x10026f3e9
mov rax, rsi
mov ecx, dword [0x1002f3aa4]
sub rax, r11
cqo
idiv rcx
mov rcx, rax
mov eax, dword [0x1002f3aa4]
imul rax, rcx
add rax, r11
jmp 0x10026f3ec
mov rax, r12
cmp rax, r12
je 0x10026f418
mov ecx, dword [0x1002f3aa4]
sub rsi, r11
mov rax, rsi
cqo
idiv rcx
mov rcx, rax
mov eax, dword [0x10005e244]
mov dword [rbx + rcx*4 + 0x478cb0], 0x3bd7
jmp 0x10026f446
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, rsi
or rcx, 3
call qword [sym.imp.ntdll.dll_RtlDeleteFunctionTable]
mov rcx, rsi
mov r8d, 0x8000
xor edx, edx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rdi
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.1002d532c
add rsp, 0x1e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret