Function at 0x1000e1828
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 [0x1004c4740]
xor rax, rsp
mov qword [rsp + 0x1d8], rax
mov r15d, 0xfffffff
xor ebp, ebp
lea r13, [0x100000000]
cmp r9, r13
mov qword [rsp + 0xd8], rdx
lea rbx, [0x100000000]
mov qword [rsp + 0xe0], rcx
lea r11d, [rbp + 1]
lea r12d, [rbp + 0x3f]
mov rdi, r9
mov rsi, r8
jb 0x1000e24b9
movsxd rdx, dword [0x10000003c]
mov ecx, dword [rdx + r13 + 0x50]
add rcx, r13
cmp r9, rcx
jae 0x1000e24bf
mov r8d, r9d
sub r8d, r13d
mov r9d, ebp
mov ecx, dword [0x1002e7624]
sub ecx, r11d
js 0x1000e18e8
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x32a14]
mov r10, rdx
and eax, r15d
cmp r8d, eax
jae 0x1000e18d9
lea ecx, [rdx - 1]
jmp 0x1000e18e3
jbe 0x1000e1a6c
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000e18b6
mov rdx, rbp
cmp rdx, rbp
je 0x1000e24b9
mov r11d, dword [0x1002f8888]
mov eax, dword [rdx]
mov r14d, dword [rdx + 4]
mov r8, rbp
shr rax, 2
and r14, r15
and eax, 7
lea rdi, [rax + rdx + 8]
sub r11, r14
mov r9d, edi
inc r11
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x50], rdi
mov r10, r11
sub r9d, r13d
mov dword [rsp + 0x48], r9d
cmp r11, rbp
je 0x1000e196b
mov rax, qword [0x1004c43a0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r10, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
cmp r10, rbp
jne 0x1000e193d
mov qword [0x1004c43a0], rax
mov ecx, r9d
xor edx, edx
mov rax, r8
div r11
lea r12, [rsi + rdx]
mov rdx, r14
mov r8, r12
mov qword [rsp + 0x80], r12
mov eax, 0x5d15b592
mov bl, bpl
lea rcx, [rsp + 0x138]
mov r11, qword [rdi + r14]
mov qword [rsp + 0x138], r11
mov eax, 0xd9d8bf80
mov r11, qword [rsp + 0x138]
mov rcx, r13
and r11, r15
mov rax, qword [0x1000487b8]
mov r9d, dword [rsp + 0x13c]
mov qword [rsp + 0xa0], rbp
mov ebp, 4
and r9, r15
mov r15, 0xfffffffffffff000
add r11, r13
lea r13d, [rbp + 4]
sub rcx, rax
mov qword [rsp + 0x70], rcx
jne 0x1000e1a8b
xor r10d, r10d
test r9, r9
je 0x1000e1dd1
mov edx, dword [rsp + 0xa4]
mov edi, 0xdf2e6555
mov r8d, dword [rsp + 0xa0]
movzx eax, byte [r10 + r11]
inc r10
sub eax, 0x20d19aab
add r8d, eax
add eax, edx
imul rax, rdi
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
add r8d, edx
mov dword [rsp + 0xa4], edx
cmp r10, r9
mov dword [rsp + 0xa0], r8d
jb 0x1000e1a12
jmp 0x1000e1dcc
mov eax, dword [rbx + r10*8 + 0x32a10]
mov edx, dword [rbx + rdx*8 + 0x32a14]
and edx, r15d
and eax, r12d
add edx, eax
add rdx, r13
jmp 0x1000e18eb
lea rax, [r11 + r9]
movsxd rcx, dword [0x10000003c]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x38], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov r10d, eax
mov edx, dword [rcx + rdx + 0xb4]
and r10, r15
mov ecx, eax
mov qword [rsp + 0x20], r10
add rcx, r9
sub rax, r10
mov qword [rsp + 0x40], rax
mov rax, rcx
and rax, r15
sub rcx, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x78], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x68], rcx
jmp 0x1000e1afe
mov eax, dword [r8]
cmp rax, r10
jae 0x1000e1b03
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000e1aef
xor esi, esi
mov r10d, 0xfff
cmp r8, rcx
je 0x1000e1b46
mov eax, dword [r8]
cmp rax, qword [rsp + 0x20]
jne 0x1000e1b46
mov ecx, dword [r8 + 4]
sub rcx, r13
shr rcx, 1
je 0x1000e1b46
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x40]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000e1b46
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000e1b2f
mov rbx, qword [rsp + 0x70]
lea r15, [0x100000000]
mov edx, dword [rsp + 0xa4]
mov r9d, dword [rsp + 0xa0]
mov rdi, qword [rsp + 0x68]
mov ecx, 0xf000
mov r14d, 0xdf2e6555
cmp r8, rdi
je 0x1000e1d49
mov eax, dword [r8]
cmp rax, qword [rsp + 0x30]
ja 0x1000e1d49
mov r12d, dword [r8 + 4]
lea rax, [r12 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000e1bb7
add r8, r12
cmp r8, rdi
je 0x1000e1d49
mov eax, dword [r8]
cmp rax, qword [rsp + 0x30]
ja 0x1000e1d49
xor esi, esi
jmp 0x1000e1b88
mov eax, dword [r8]
cmp rax, qword [rsp + 0x30]
jne 0x1000e1bd5
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x78]
jae 0x1000e1d49
mov rax, rsi
mov qword [rsp + 0x40], rax
inc rsi
test word [r8 + rax*2 + 8], cx
je 0x1000e1b71
xor edi, edi
movzx eax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
add rax, r15
mov rcx, rax
sub rcx, r11
mov qword [rsp + 0x70], rax
je 0x1000e1c63
mov r12, rcx
movzx eax, byte [rdi + r11]
inc rdi
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 + 0xa4], edx
add r9d, edx
cmp rdi, r12
mov dword [rsp + 0xa0], r9d
jb 0x1000e1c09
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
mov qword [rsp + 0x128], rax
cmp ecx, 3
je 0x1000e1c8f
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000e1c95
mov r11d, 2
mov rcx, rbx
neg rcx
mov qword [rsp + 0x40], rcx
sub r11d, 2
je 0x1000e1cc7
cmp r11d, 1
je 0x1000e1cb2
or r11, 0xffffffffffffffff
jmp 0x1000e1cd6
mov rcx, qword [rsp + 0x40]
mov r11, r13
add rax, rcx
mov qword [rsp + 0x128], rax
jmp 0x1000e1cd6
mov rcx, qword [rsp + 0x40]
add dword [rsp + 0x128], ecx
mov r11, rbp
xor r14d, r14d
test r11, r11
je 0x1000e1d3c
mov edi, 0xdf2e6555
movzx eax, byte [rsp + r14 + 0x128]
inc r14
sub eax, 0x20d19aab
add r9d, eax
add eax, edx
imul rax, rdi
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 r14, r11
jb 0x1000e1ce3
mov dword [rsp + 0xa4], edx
mov dword [rsp + 0xa0], r9d
mov rax, qword [rsp + 0x70]
add r11, rax
jmp 0x1000e1b61
mov rdi, qword [rsp + 0x50]
mov r12, qword [rsp + 0x80]
xor r8d, r8d
mov r15, 0xfffffffffffff000
mov bl, r8b
mov r14, qword [rsp + 0x60]
mov r10, qword [rsp + 0x38]
sub r10, r11
je 0x1000e1dd1
mov edi, 0xdf2e6555
movzx eax, byte [r8 + r11]
inc r8
sub eax, 0x20d19aab
add r9d, eax
add eax, edx
imul rax, rdi
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
add r9d, edx
cmp r8, r10
mov dword [rsp + 0xa4], edx
mov dword [rsp + 0xa0], r9d
jb 0x1000e1d77
mov rdi, qword [rsp + 0x50]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0xa0]
cmp rcx, r13
mov byte [rsp + rcx + 0x197], al
jb 0x1000e1dd3
mov eax, 0x4e452bf6
mov r11, rdi
mov r9, r14
and r9d, 7
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x30], r12
je 0x1000e2375
xor r10d, r10d
mov esi, dword [rsp + 0x48]
xor r14d, r14d
mov dword [rsp + 0x38], r10d
xor edi, edi
mov dword [rsp + 0x58], r14d
not esi
test r9d, r9d
jle 0x1000e1e73
lea r8d, [r10 + 0x38]
cmp edi, ebp
movzx edx, byte [r11]
jge 0x1000e1e4f
lea ecx, [r8 - 0x20]
shl edx, cl
or r14d, edx
jmp 0x1000e1e57
mov ecx, r8d
shl edx, cl
or r10d, edx
inc edi
inc r11
sub r8d, r13d
cmp edi, r9d
jl 0x1000e1e3c
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x68], r11
movzx edi, ax
mov ecx, eax
movzx r9d, word [rsp + 0x19a]
xor ecx, esi
movzx r11d, word [rsp + 0x19e]
mov r14d, dword [rsp + 0x19c]
movzx r10d, word [rsp + 0x19c]
sub r14d, ecx
xor r14d, dword [rsp + 0x48]
mov ecx, edi
mov edx, r14d
xor ecx, r14d
ror edx, 9
imul ecx, r11d
add edx, ecx
xor esi, edx
mov edx, esi
mov ecx, r11d
xor ecx, esi
ror edx, 5
imul ecx, r10d
xor edx, ecx
xor r14d, edx
mov ecx, r14d
sub ecx, r9d
xor ecx, dword [rsp + 0x19c]
xor esi, ecx
mov ecx, esi
ror ecx, 7
sub ecx, edi
imul ecx, r9d
xor r14d, ecx
mov edx, r14d
mov ecx, r11d
mov r8d, r14d
sub r8d, eax
ror r8d, 7
rol edx, 4
imul ecx, r8d
mov r8d, r9d
sub ecx, edx
xor esi, ecx
mov ecx, r10d
xor r8d, esi
mov edx, esi
rol r8d, 6
ror edx, 0xf
imul ecx, r8d
mov r8d, dword [rsp + 0x19c]
sub ecx, edx
xor r14d, ecx
mov edx, r14d
sub r8d, r14d
ror r8d, 4
ror edx, 2
mov ecx, r9d
imul ecx, r8d
mov r8d, dword [rsp + 0x19c]
add edx, ecx
mov ecx, edi
xor esi, edx
xor r8d, esi
ror r8d, 7
mov edx, esi
ror edx, 0x10
imul ecx, r8d
mov r8d, eax
xor edx, ecx
mov ecx, r11d
xor r14d, edx
mov edx, r14d
sub r8d, r14d
ror r8d, 6
rol edx, 0xe
imul ecx, r8d
sub ecx, edx
xor esi, ecx
mov ecx, esi
mov edx, dword [rsp + 0x58]
sub ecx, eax
sub ecx, r10d
xor r14d, ecx
mov ecx, r14d
xor r11d, r14d
shr ecx, 0xb
imul r11d, r9d
xor r11d, ecx
xor r9d, r9d
xor esi, r11d
mov ecx, esi
sub ecx, r10d
rol ecx, 4
imul edi, ecx
mov ecx, esi
xor esi, dword [rsp + 0x38]
shr ecx, 3
xor edi, ecx
mov r8d, esi
xor edi, edx
xor r14d, edi
mov rcx, qword [rsp + 0x20]
mov edx, r14d
test ecx, ecx
jle 0x1000e1ffc
mov rax, r12
cmp r9d, ebp
jge 0x1000e1fda
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000e1fe7
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000e1fc9
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x198]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000e235b
sub ebp, ecx
shl ebp, 3
mov ecx, ebp
shr esi, cl
shl esi, cl
mov r11, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rcx, rbp
shr rcx, 3
test rcx, rcx
mov qword [rsp + 0x20], rcx
je 0x1000e22a8
movzx r8d, word [rsp + 0x19c]
mov r15, qword [rsp + 0x20]
mov ebp, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
movzx ecx, word [rsp + 0x19e]
mov r12d, dword [rsp + 0x58]
mov dword [rsp + 0x68], ecx
mov ecx, r8d
neg ecx
mov dword [rsp + 0x78], ecx
movzx ecx, ax
mov dword [rsp + 0x48], ecx
mov edx, dword [rsp + 0x19c]
movzx r9d, byte [r11 + 4]
movzx r10d, byte [r11]
movzx ecx, byte [r11 + 1]
shl r10d, 8
shl r9d, 8
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
movzx ecx, byte [r11 + 6]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 7]
add r11, r13
shl r9d, 8
or r9d, ecx
mov ecx, eax
xor esi, r9d
xor ecx, esi
sub edx, ecx
mov ecx, dword [rsp + 0x48]
xor edx, r10d
xor r14d, edx
xor ecx, r14d
mov edx, r14d
ror edx, 9
imul ecx, dword [rsp + 0x68]
add edx, ecx
xor esi, edx
movzx ecx, word [rsp + 0x19e]
mov edx, esi
xor ecx, esi
ror edx, 5
imul ecx, r8d
xor edx, ecx
xor r14d, edx
movzx edx, word [rsp + 0x19a]
mov ecx, r14d
sub ecx, edx
xor ecx, dword [rsp + 0x19c]
xor esi, ecx
mov ecx, esi
ror ecx, 7
sub ecx, dword [rsp + 0x48]
imul ecx, edx
xor r14d, ecx
mov r8d, r14d
sub r8d, eax
mov edx, r14d
movzx ecx, word [rsp + 0x19e]
ror r8d, 7
rol edx, 4
imul ecx, r8d
movzx r8d, word [rsp + 0x19a]
sub ecx, edx
xor esi, ecx
movzx ecx, word [rsp + 0x19c]
mov edx, esi
xor r8d, esi
rol r8d, 6
ror edx, 0xf
imul ecx, r8d
mov r8d, dword [rsp + 0x19c]
sub ecx, edx
xor r14d, ecx
sub r8d, r14d
ror r8d, 4
mov edx, r14d
ror edx, 2
movzx ecx, word [rsp + 0x19a]
imul ecx, r8d
add edx, ecx
xor esi, edx
mov ecx, dword [rsp + 0x48]
mov edx, esi
mov r8d, dword [rsp + 0x19c]
xor r8d, esi
ror r8d, 7
ror edx, 0x10
imul ecx, r8d
xor edx, ecx
mov r8d, eax
xor r14d, edx
movzx ecx, word [rsp + 0x19e]
sub r8d, r14d
mov edx, r14d
ror r8d, 6
rol edx, 0xe
imul ecx, r8d
movzx r8d, word [rsp + 0x19c]
sub ecx, edx
movzx edx, word [rsp + 0x19e]
xor esi, ecx
mov ecx, esi
sub ecx, eax
sub ecx, r8d
xor r14d, ecx
movzx ecx, word [rsp + 0x19a]
xor edx, r14d
imul edx, ecx
mov ecx, r14d
shr ecx, 0xb
xor edx, ecx
xor esi, edx
mov ecx, esi
mov edx, dword [rsp + 0x78]
add edx, esi
xor esi, ebp
mov ebp, r9d
rol edx, 4
shr ecx, 3
imul edx, dword [rsp + 0x48]
xor edx, ecx
xor edx, r12d
mov r12d, r10d
xor r14d, edx
mov byte [rdi + 3], r14b
xor bl, r14b
mov byte [rdi + 7], sil
xor bl, sil
ror r14d, 8
ror esi, 8
mov byte [rdi + 2], r14b
mov byte [rdi + 6], sil
xor bl, r14b
ror r14d, 8
mov byte [rdi + 1], r14b
xor bl, sil
ror esi, 8
mov byte [rdi + 5], sil
xor bl, r14b
ror r14d, 8
xor bl, sil
ror esi, 8
mov cl, sil
xor cl, r14b
mov byte [rdi], r14b
mov byte [rdi + 4], sil
add rdi, r13
xor bl, cl
ror r14d, 8
ror esi, 8
sub r15, 1
jne 0x1000e206e
mov rbp, qword [rsp + 0x60]
mov r15, 0xfffffffffffff000
mov rdi, qword [rsp + 0x50]
mov r12, qword [rsp + 0x80]
cmp bl, byte [rdi + rbp + 8]
je 0x1000e23a2
call fcn.100058248
mov r8d, 0xffff
lea r12, [0x1001094ec]
mov rbx, rax
and rbx, r15
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r12
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
mov rax, qword [0x1004c43a0]
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1000e22f2
mov qword [0x1004c43a0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd8]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], r8
jmp 0x1000e2398
xor esi, esi
test ecx, ecx
jns 0x1000e2012
neg ecx
shl ecx, 3
shr r14d, cl
shl r14d, cl
jmp 0x1000e2012
xor esi, esi
mov ecx, dword [rsp + 0x48]
xor r14d, r14d
mov dword [rsp + 0x58], ecx
not ecx
mov dword [rsp + 0x38], ecx
jmp 0x1000e201c
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r13
cmp r10, r11
jb 0x1000e238d
jmp 0x1000e24b1
lea r14, [0x100000000]
mov rax, qword [0x1000487b8]
mov r13, r14
mov rsi, rdi
sub rsi, r12
sub r13, rax
jne 0x1000e23c7
test rsi, rsi
je 0x1000e24a6
mov rbx, r12
lea r15, [0x100000000]
xor r8d, r8d
sub rbx, rdi
sub edi, r14d
mov rcx, qword [0x1001d1e58]
lea r9d, [rcx - 1]
add ebp, edi
test r9d, r9d
js 0x1000e241d
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x1d1e5c]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x1000e2412
lea r9d, [rdx - 1]
jmp 0x1000e2418
jbe 0x1000e2422
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000e23ec
movsxd r11, r8d
jmp 0x1000e249f
mov r11, rdx
jmp 0x1000e249f
mov edx, dword [r15 + r11*4 + 0x1d1e5c]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000e24a6
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 0x1000e247b
sub r8d, 1
je 0x1000e2476
cmp r8d, 1
jne 0x1000e2481
mov r10, r13
jmp 0x1000e2481
mov r10, rsi
jmp 0x1000e2481
mov r10, r13
sub r10, rsi
sub edx, 2
je 0x1000e2491
cmp edx, 1
jne 0x1000e249c
add qword [r9 + rbx], r10
jmp 0x1000e2495
add dword [r9 + rbx], r10d
mov rcx, qword [0x1001d1e58]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000e2427
mov eax, dword [0x1002f8888]
mov eax, 0x563842e
mov rax, r12
jmp 0x1000e9247
mov edx, dword [0x10000003c]
cmp rdi, r13
jb 0x1000e919a
movsxd rax, edx
mov ecx, dword [rax + r13 + 0x50]
add rcx, r13
cmp rdi, rcx
jae 0x1000e3171
mov r9d, ebp
mov r8d, edi
mov ecx, dword [0x100047c08]
sub r8d, r13d
sub ecx, r11d
js 0x1000e2522
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x2e81cc]
and eax, r15d
cmp r8d, eax
jae 0x1000e2513
lea ecx, [rdx - 1]
jmp 0x1000e251d
jbe 0x1000e26e2
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000e24f0
mov rdx, rbp
cmp rdx, rbp
je 0x1000e316b
mov eax, dword [rdx]
mov r8, rbp
mov r11d, dword [0x1002f8888]
mov edi, dword [rdx + 4]
and rdi, r15
mov qword [rsp + 0x60], rdi
and eax, 7
lea r14, [rax + rdx + 8]
sub r11, rdi
inc r11
mov r10, r11
mov qword [rsp + 0x20], r14
mov r9d, r14d
sub r9d, r13d
mov dword [rsp + 0x38], r9d
cmp r11, rbp
je 0x1000e25a0
mov rax, qword [0x1004c43a0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r10, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
cmp r10, rbp
jne 0x1000e2572
mov qword [0x1004c43a0], rax
xor edx, edx
mov ecx, r9d
mov rax, r8
div r11
lea r12, [rsi + rdx]
mov rdx, rdi
mov qword [rsp + 0x80], r12
mov r8, r12
mov eax, 0x2a851e50
mov bl, bpl
lea rcx, [rsp + 0x150]
mov r11, qword [rdi + r14]
mov qword [rsp + 0x150], r11
mov eax, 0xe297242f
mov rax, qword [0x1000487b8]
mov r9d, dword [rsp + 0x154]
mov rcx, r13
mov r11, qword [rsp + 0x150]
and r11, r15
mov qword [rsp + 0xa8], rbp
mov ebp, 4
and r9, r15
add r11, r13
mov r15, 0xfffffffffffff000
sub rcx, rax
lea r13d, [rbp + 4]
mov qword [rsp + 0x30], rcx
jne 0x1000e2701
xor esi, esi
test r9, r9
je 0x1000e2afc
mov r8d, 0xf7df258b
mov r10d, dword [rsp + 0xa8]
mov eax, dword [rsp + 0xac]
movzx ecx, byte [rsi + r11]
inc rsi
sub ecx, 0x820da75
add r10d, ecx
add ecx, eax
mov eax, ecx
imul eax, eax, 0xa5eb
rol eax, 0xb
ror ecx, 0xb
xor eax, ecx
imul rax, r8
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x30]
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, r8
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x30]
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 r10d, eax
mov dword [rsp + 0xac], eax
cmp rsi, r9
mov dword [rsp + 0xa8], r10d
jb 0x1000e2647
jmp 0x1000e2afc
mov eax, dword [rbx + r10*8 + 0x2e81c8]
mov edx, dword [rbx + rdx*8 + 0x2e81cc]
and edx, r15d
and eax, r12d
add edx, eax
add rdx, r13
jmp 0x1000e2525
lea rdx, [0x100000000]
lea rax, [r11 + r9]
movsxd rcx, dword [0x10000003c]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x48], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov edi, eax
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
add rcx, r9
and rdi, r15
sub rax, rdi
mov qword [rsp + 0x70], rax
mov rax, rcx
and rax, r15
mov qword [rsp + 0x50], rax
sub rcx, rax
mov qword [rsp + 0x68], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x40], rcx
jmp 0x1000e276e
mov eax, dword [r8]
cmp rax, rdi
jae 0x1000e2773
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000e275f
mov r10d, 0xfff
xor esi, esi
cmp r8, rcx
je 0x1000e27b4
mov eax, dword [r8]
cmp rax, rdi
jne 0x1000e27b4
mov ecx, dword [r8 + 4]
sub rcx, r13
shr rcx, 1
je 0x1000e27b4
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x70]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000e27b4
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000e279d
mov r12, qword [rsp + 0x30]
mov r15d, 0xf7df258b
mov edi, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xac]
mov ecx, 0xf000
mov rdx, qword [rsp + 0x50]
cmp r8, qword [rsp + 0x40]
je 0x1000e2a2f
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000e2a2f
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000e281d
add r8, rbx
cmp r8, qword [rsp + 0x40]
je 0x1000e2a2f
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000e2a2f
xor esi, esi
jmp 0x1000e27ef
mov eax, dword [r8]
cmp rax, rdx
jne 0x1000e2839
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x68]
jae 0x1000e2a2f
mov rax, rsi
inc rsi
mov qword [rsp + 0x78], rax
test word [r8 + rax*2 + 8], cx
je 0x1000e27d8
xor r14d, r14d
lea rcx, [0x100000000]
movzx eax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
add rax, rcx
mov qword [rsp + 0x70], rax
mov rcx, rax
sub rcx, r11
je 0x1000e2918
mov rbx, rcx
movzx ecx, byte [r14 + r11]
inc r14
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, r15
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x30]
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, r15
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x30]
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
mov dword [rsp + 0xac], r9d
add edi, r9d
mov dword [rsp + 0xa8], edi
cmp r14, rbx
jb 0x1000e2879
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
movzx ecx, word [r8 + rcx*2 + 8]
mov rax, qword [rax]
mov qword [rsp + 0x118], rax
shr ecx, 0xc
cmp ecx, 3
je 0x1000e2942
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x1000e2947
mov edx, 2
mov r11, r12
neg r11
sub edx, 2
je 0x1000e296d
cmp edx, 1
je 0x1000e295d
or r11, 0xffffffffffffffff
jmp 0x1000e2978
add rax, r11
mov r11, r13
mov qword [rsp + 0x118], rax
jmp 0x1000e2978
add dword [rsp + 0x118], r11d
mov r11, rbp
xor r14d, r14d
test r11, r11
je 0x1000e2a22
movzx ecx, byte [rsp + r14 + 0x118]
inc r14
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, r15
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x30]
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, r15
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x30]
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 r14, r11
jb 0x1000e2984
mov dword [rsp + 0xac], r9d
mov dword [rsp + 0xa8], edi
mov rax, qword [rsp + 0x70]
add r11, rax
jmp 0x1000e27ce
xor r10d, r10d
mov rsi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x80]
mov r14, qword [rsp + 0x20]
sub rsi, r11
mov r15, 0xfffffffffffff000
mov bl, r10b
je 0x1000e2af7
mov r8d, 0xf7df258b
movzx ecx, byte [r11 + r10]
inc r10
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, r8
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x30]
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, r8
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x30]
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
mov dword [rsp + 0xac], r9d
add edi, r9d
cmp r10, rsi
mov dword [rsp + 0xa8], edi
jb 0x1000e2a5d
mov rdi, qword [rsp + 0x60]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0xa8]
cmp rcx, r13
mov byte [rsp + rcx + 0x1cf], al
jb 0x1000e2afe
mov eax, 0xdeb099c7
mov rax, qword [rsp + 0x1d0]
mov r9, rdi
mov rsi, r12
mov qword [rsp + 0x30], r14
and r9d, 7
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x50], r12
je 0x1000e302a
mov edx, dword [rsp + 0x38]
xor r10d, r10d
mov esi, edx
xor edi, edi
mov dword [rsp + 0x58], r10d
xor r11d, r11d
test r9d, r9d
not esi
mov dword [rsp + 0x48], edi
jle 0x1000e2bad
lea r8d, [r10 + 0x38]
mov rax, r14
cmp r11d, ebp
movzx edx, byte [rax]
jge 0x1000e2b7d
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x1000e2b85
mov ecx, r8d
shl edx, cl
or r10d, edx
inc r11d
inc rax
sub r8d, r13d
cmp r11d, r9d
jl 0x1000e2b6b
mov edx, dword [rsp + 0x38]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1d0]
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x58], r10d
mov ecx, edx
movzx r9d, ax
mov edi, eax
mov r8d, dword [rsp + 0x1d4]
movzx r11d, r8w
movzx r10d, word [rsp + 0x1d6]
ror ecx, 1
xor ecx, r10d
imul ecx, r11d
xor esi, ecx
xor edi, esi
rol edi, 4
mov ecx, esi
rol ecx, 1
imul edi, r11d
sub edi, ecx
xor edi, edx
mov ecx, edi
lea edx, [rdi + r8]
rol edx, 7
ror ecx, 2
movzx r8d, word [rsp + 0x1d2]
imul edx, r8d
add ecx, edx
xor esi, ecx
mov edx, esi
xor edx, r8d
mov ecx, esi
rol edx, 7
ror ecx, 8
imul edx, r9d
xor ecx, edx
xor edi, ecx
mov edx, edi
sub edx, eax
rol edx, 1
mov ecx, edi
rol ecx, 8
imul edx, r10d
sub edx, ecx
xor esi, edx
mov edx, dword [rsp + 0x1d4]
mov ecx, esi
sub ecx, r11d
xor ecx, eax
xor edi, ecx
mov ecx, edi
sub edx, edi
ror edx, 0xf
rol ecx, 0xc
imul edx, r8d
mov r8d, dword [rsp + 0x1d4]
xor ecx, edx
mov edx, r8d
xor esi, ecx
mov ecx, esi
sub edx, esi
rol edx, 0xf
rol ecx, 2
imul edx, r9d
add ecx, edx
xor edi, ecx
mov edx, edi
sub edx, r11d
mov ecx, edi
shr ecx, 0xe
imul edx, r10d
sub edx, ecx
xor esi, edx
mov ecx, esi
mov edx, esi
sub edx, r10d
mov r10d, eax
shr ecx, 0xa
rol edx, 3
xor r10d, esi
imul edx, r11d
xor edx, ecx
xor edi, edx
xor r10d, edi
xor r10d, r8d
mov edx, r10d
mov r8d, dword [rsp + 0x48]
mov ecx, r10d
xor r10d, dword [rsp + 0x58]
xor ecx, r11d
ror edx, 9
xor r11d, r11d
imul ecx, r9d
xor edx, ecx
mov r9d, r10d
xor edx, r8d
xor edi, edx
mov rcx, qword [rsp + 0x40]
test ecx, ecx
mov r8d, edi
jle 0x1000e2d01
mov rdx, r12
cmp r11d, ebp
jge 0x1000e2ce7
rol r8d, 8
mov byte [rdx], r8b
inc rdx
xor bl, r8b
jmp 0x1000e2cf4
rol r9d, 8
mov byte [rdx], r9b
inc rdx
xor bl, r9b
inc r11d
cmp r11d, ecx
jl 0x1000e2cd3
mov qword [rsp + 0x50], rdx
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000e3011
sub ebp, ecx
shl ebp, 3
mov ecx, ebp
shr r10d, cl
shl r10d, cl
mov ebp, dword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov r11, qword [rsp + 0x60]
mov rcx, r11
shr rcx, 3
test rcx, rcx
mov qword [rsp + 0x40], rcx
je 0x1000e2f5d
mov r15, qword [rsp + 0x40]
movzx ecx, word [rsp + 0x1d2]
movzx edx, word [rsp + 0x1d6]
mov r11, qword [rsp + 0x30]
mov r12d, dword [rsp + 0x1d4]
mov r14d, dword [rsp + 0x48]
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x78], edx
mov ecx, edx
neg ecx
mov dword [rsp + 0x50], ecx
movzx ecx, r12w
mov dword [rsp + 0x58], ecx
movzx ecx, ax
mov dword [rsp + 0x38], ecx
movzx ecx, byte [r11 + 1]
movzx r9d, byte [r11]
movzx r8d, byte [r11 + 4]
shl r9d, 8
shl r8d, 8
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r11 + 2]
or r9d, ecx
movzx ecx, byte [r11 + 3]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 5]
or r8d, ecx
xor edi, r9d
shl r8d, 8
movzx ecx, byte [r11 + 6]
or r8d, ecx
movzx ecx, byte [r11 + 7]
add r11, r13
shl r8d, 8
or r8d, ecx
mov ecx, edi
ror ecx, 1
xor ecx, edx
mov edx, eax
imul ecx, dword [rsp + 0x58]
xor ecx, r8d
xor r10d, ecx
mov ecx, r10d
xor edx, r10d
rol edx, 4
rol ecx, 1
imul edx, dword [rsp + 0x58]
sub edx, ecx
xor edi, edx
mov ecx, edi
lea edx, [rdi + r12]
rol edx, 7
ror ecx, 2
imul edx, dword [rsp + 0x68]
add ecx, edx
xor r10d, ecx
movzx ecx, word [rsp + 0x1d2]
mov edx, r10d
xor edx, ecx
mov ecx, r10d
rol edx, 7
ror ecx, 8
imul edx, dword [rsp + 0x38]
xor ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, edi
sub edx, eax
rol edx, 1
rol ecx, 8
imul edx, dword [rsp + 0x78]
sub edx, ecx
xor r10d, edx
mov ecx, r10d
mov edx, r12d
sub ecx, dword [rsp + 0x58]
xor ecx, eax
xor edi, ecx
mov ecx, edi
sub edx, edi
ror edx, 0xf
rol ecx, 0xc
imul edx, dword [rsp + 0x68]
xor ecx, edx
mov edx, r12d
xor r10d, ecx
mov ecx, r10d
sub edx, r10d
rol edx, 0xf
rol ecx, 2
imul edx, dword [rsp + 0x38]
add ecx, edx
xor edi, ecx
mov edx, edi
mov ecx, edi
sub edx, dword [rsp + 0x58]
shr ecx, 0xe
imul edx, dword [rsp + 0x78]
sub edx, ecx
mov ecx, dword [rsp + 0x50]
xor r10d, edx
lea edx, [r10 + rcx]
mov ecx, r10d
xor r10d, eax
rol edx, 3
shr ecx, 0xa
imul edx, dword [rsp + 0x58]
xor edx, ecx
xor edi, edx
xor r10d, edi
xor r10d, r12d
mov edx, r10d
mov ecx, r10d
xor r10d, ebp
xor ecx, dword [rsp + 0x58]
mov ebp, r8d
ror edx, 9
imul ecx, dword [rsp + 0x38]
xor edx, ecx
xor edx, r14d
mov r14d, r9d
xor edi, edx
mov edx, dword [rsp + 0x78]
xor bl, dil
xor bl, r10b
mov byte [rsi + 3], dil
mov byte [rsi + 7], r10b
ror edi, 8
mov byte [rsi + 2], dil
ror r10d, 8
mov byte [rsi + 6], r10b
xor bl, dil
ror edi, 8
mov byte [rsi + 1], dil
xor bl, r10b
ror r10d, 8
xor bl, dil
mov byte [rsi + 5], r10b
ror edi, 8
mov byte [rsi], dil
xor bl, r10b
ror r10d, 8
mov byte [rsi + 4], r10b
mov cl, r10b
xor cl, dil
add rsi, r13
xor bl, cl
ror edi, 8
ror r10d, 8
sub r15, 1
jne 0x1000e2d82
mov r15, 0xfffffffffffff000
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x20]
mov r12, qword [rsp + 0x80]
cmp bl, byte [r14 + r11 + 8]
je 0x1000e3055
call fcn.100058248
mov rbx, rax
lea r12, [0x1001094ec]
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r12
and rbx, r15
lea r10, [rax + 0x18]
mov r8d, 0xffff
and r10, 0xfffffffffffffff8
mov rax, qword [0x1004c43a0]
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1000e2fa8
mov qword [0x1004c43a0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd8]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], r8
jmp 0x1000e304b
xor r10d, r10d
test ecx, ecx
jns 0x1000e2d19
neg ecx
shl ecx, 3
shr edi, cl
shl edi, cl
jmp 0x1000e2d19
xor r10d, r10d
xor edi, edi
mov ecx, dword [rsp + 0x38]
mov dword [rsp + 0x48], ecx
mov ebp, ecx
not ebp
jmp 0x1000e2d22
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r13
cmp r10, r11
jb 0x1000e3040
jmp 0x1000e24b1
mov rdi, r14
lea r13, [0x100000000]
mov rax, qword [0x1000487b8]
sub rdi, r12
mov rsi, r13
sub rsi, rax
jne 0x1000e307a
test rdi, rdi
je 0x1000e24a6
lea r15, [0x100000000]
mov rcx, qword [0x1001d1e58]
mov rbx, r12
lea r9d, [rcx - 1]
xor r8d, r8d
sub rbx, r14
sub r14d, r13d
lea ebp, [r11 + r14]
test r9d, r9d
js 0x1000e30d2
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x1d1e5c]
and r10d, 0xfffffff
cmp r14d, r10d
jae 0x1000e30c7
lea r9d, [rdx - 1]
jmp 0x1000e30cd
jbe 0x1000e30da
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000e30a1
movsxd r11, r8d
jmp 0x1000e315b
mov r11, rdx
jmp 0x1000e315b
mov edx, dword [r15 + r11*4 + 0x1d1e5c]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000e24a6
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 0x1000e3137
sub r8d, 1
je 0x1000e3132
cmp r8d, 1
jne 0x1000e313d
mov r10, rsi
jmp 0x1000e313d
mov r10, rdi
jmp 0x1000e313d
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x1000e314d
cmp edx, 1
jne 0x1000e3158
add qword [r9 + rbx], r10
jmp 0x1000e3151
add dword [r9 + rbx], r10d
mov rcx, qword [0x1001d1e58]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000e30df
jmp 0x1000e24a6
mov edx, dword [0x10000003c]
cmp rdi, r13
jb 0x1000e919a
movsxd rax, edx
mov ecx, dword [rax + r13 + 0x50]
add rcx, r13
cmp rdi, rcx
jae 0x1000e3dcb
mov r8d, edi
sub r8d, r13d
mov ecx, dword [0x100076d30]
mov r9d, ebp
sub ecx, r11d
js 0x1000e31d4
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x405dcc]
and eax, r15d
cmp r8d, eax
jae 0x1000e31c5
lea ecx, [rdx - 1]
jmp 0x1000e31cf
jbe 0x1000e3368
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000e31a2
mov rdx, rbp
cmp rdx, rbp
je 0x1000e3dc5
mov r8, rbp
mov r14d, dword [rdx]
mov r11d, dword [0x1002f8888]
mov rax, r14
shr r14, 1
and r14, r15
mov qword [rsp + 0x70], r14
shr rax, 0x1d
lea rbx, [rax + rdx + 8]
sub r11, r14
mov r9d, ebx
inc r11
mov qword [rsp + 0x68], rbx
sub r9d, r13d
mov dword [rsp + 0x78], r9d
cmp r11, rbp
mov r10, r11
je 0x1000e3257
mov rax, qword [0x1004c43a0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r10, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
cmp r10, rbp
jne 0x1000e3229
mov qword [0x1004c43a0], rax
mov rax, r8
mov ecx, r9d
xor edx, edx
div r11
lea r12, [rsi + rdx]
mov r8, r12
mov qword [rsp + 0x80], r12
mov rdx, r14
mov eax, 0xc4e853db
mov r11, qword [rbx + r14]
mov qword [rsp + 0x178], r11
mov bl, bpl
lea rcx, [rsp + 0x178]
mov eax, 0xa5aaf862
mov r8d, dword [rsp + 0x17c]
mov rdi, qword [rsp + 0x178]
mov rcx, r13
mov rax, qword [0x1000487b8]
and rdi, r15
mov qword [rsp + 0xc8], rbp
and r8, r15
mov r15, 0xfffffffffffff000
mov ebp, 4
add rdi, r13
lea r13d, [rbp + 4]
sub rcx, rax
mov qword [rsp + 0x30], rcx
jne 0x1000e3389
xor r10d, r10d
test r8, r8
je 0x1000e36f0
mov r9d, dword [rsp + 0xc8]
mov ecx, dword [rsp + 0xcc]
movzx eax, byte [r10 + rdi]
inc r10
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
add r9d, ecx
cmp r10, r8
mov dword [rsp + 0xcc], ecx
mov dword [rsp + 0xc8], r9d
jb 0x1000e32f9
jmp 0x1000e36f0
mov eax, dword [rbx + r10*8 + 0x405dc8]
mov edx, dword [rbx + rdx*8 + 0x405dcc]
shr eax, 1
and edx, r15d
and eax, r12d
add edx, eax
add rdx, r13
jmp 0x1000e31d7
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
lea rax, [rdi + r8]
mov r9d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x38], rax
mov eax, edi
sub eax, edx
mov r11d, eax
add r9, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
add rcx, r8
and r11, r15
sub rax, r11
mov qword [rsp + 0x40], rax
mov rax, rcx
and rax, r15
sub rcx, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x50], rcx
lea rcx, [rdx + r9]
mov qword [rsp + 0x20], rcx
jmp 0x1000e33f6
mov eax, dword [r9]
cmp rax, r11
jae 0x1000e33fb
mov eax, dword [r9 + 4]
add r9, rax
cmp r9, rcx
jne 0x1000e33e7
mov r10d, 0xfff
xor esi, esi
cmp r9, rcx
je 0x1000e343c
mov eax, dword [r9]
cmp rax, r11
jne 0x1000e343c
mov ecx, dword [r9 + 4]
sub rcx, r13
shr rcx, 1
je 0x1000e343c
mov r8, qword [rsp + 0x40]
lea rdx, [r9 + 8]
movzx eax, word [rdx]
and rax, r10
cmp rax, r8
jae 0x1000e343c
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000e3425
lea r15, [0x100000000]
mov r8d, dword [rsp + 0xcc]
mov r11d, dword [rsp + 0xc8]
mov rbx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
mov ecx, 0xf000
cmp r9, qword [rsp + 0x20]
je 0x1000e365a
mov eax, dword [r9]
cmp rax, rdx
ja 0x1000e365a
mov r12d, dword [r9 + 4]
lea rax, [r12 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000e34a8
add r9, r12
cmp r9, qword [rsp + 0x20]
je 0x1000e365a
mov eax, dword [r9]
cmp rax, rdx
ja 0x1000e365a
xor esi, esi
jmp 0x1000e3479
mov eax, dword [r9]
cmp rax, rdx
jne 0x1000e34c4
movzx eax, word [r9 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x50]
jae 0x1000e365a
mov rax, rsi
inc rsi
mov qword [rsp + 0x48], rax
test word [r9 + rax*2 + 8], cx
je 0x1000e3462
movzx eax, word [r9 + rax*2 + 8]
xor r14d, r14d
and eax, r10d
add eax, dword [r9]
add rax, r15
mov qword [rsp + 0x40], rax
mov rcx, rax
sub rcx, rdi
je 0x1000e3570
mov r12, rcx
movzx eax, byte [r14 + rdi]
inc r14
add eax, 0x2a318641
add r11d, eax
add eax, r8d
imul eax, eax, 0x2a318641
ror eax, 0x10
imul rax, rax, 0x2a318641
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x30]
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 r14, r12
mov dword [rsp + 0xcc], r8d
mov dword [rsp + 0xc8], r11d
jb 0x1000e34f9
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
movzx ecx, word [r9 + rcx*2 + 8]
shr ecx, 0xc
cmp ecx, 3
mov rax, qword [rax]
mov qword [rsp + 0xe8], rax
je 0x1000e359a
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x1000e359f
mov edx, 2
mov rdi, rbx
neg rdi
sub edx, 2
je 0x1000e35c5
cmp edx, 1
je 0x1000e35b5
or rdi, 0xffffffffffffffff
jmp 0x1000e35cf
add rax, rdi
mov rdi, r13
mov qword [rsp + 0xe8], rax
jmp 0x1000e35cf
add dword [rsp + 0xe8], edi
mov rdi, rbp
xor r14d, r14d
test rdi, rdi
je 0x1000e364d
movzx eax, byte [rsp + r14 + 0xe8]
inc r14
add eax, 0x2a318641
add r11d, eax
add eax, r8d
imul eax, eax, 0x2a318641
ror eax, 0x10
imul rax, rax, 0x2a318641
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x30]
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
add r11d, r8d
cmp r14, rdi
jb 0x1000e35d7
mov dword [rsp + 0xcc], r8d
mov dword [rsp + 0xc8], r11d
mov rax, qword [rsp + 0x40]
add rdi, rax
jmp 0x1000e3458
mov r12, qword [rsp + 0x80]
mov r10, qword [rsp + 0x38]
mov r15, 0xfffffffffffff000
xor r9d, r9d
mov r14, qword [rsp + 0x70]
mov bl, r9b
sub r10, rdi
je 0x1000e36f0
movzx eax, byte [rdi + r9]
inc r9
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 r9, r10
mov dword [rsp + 0xcc], r8d
mov dword [rsp + 0xc8], r11d
jb 0x1000e367e
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0xc8]
cmp rcx, r13
mov byte [rsp + rcx + 0x187], al
jb 0x1000e36f2
mov eax, 0xd7f5e574
mov ecx, dword [rsp + 0x78]
mov r9, r14
mov rax, qword [rsp + 0x188]
and r9d, 7
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x20], r9
je 0x1000e3c87
mov r14d, ecx
not r14d
xor r10d, r10d
xor edi, edi
mov dword [rsp + 0x58], r10d
xor r11d, r11d
test r9d, r9d
mov dword [rsp + 0x48], edi
jle 0x1000e37a7
mov rax, qword [rsp + 0x60]
lea r8d, [r10 + 0x38]
cmp r11d, ebp
movzx edx, byte [rax]
jge 0x1000e3777
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x1000e377f
mov ecx, r8d
shl edx, cl
or r10d, edx
inc r11d
inc rax
sub r8d, r13d
cmp r11d, r9d
jl 0x1000e3765
mov ecx, dword [rsp + 0x78]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x188]
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x58], r10d
movzx r9d, word [rsp + 0x18e]
movzx r11d, word [rsp + 0x18a]
movzx edi, ax
mov esi, r14d
movzx r10d, word [rsp + 0x18c]
mov r8d, eax
ror esi, 9
sub esi, edi
imul esi, r11d
xor esi, ecx
mov edx, esi
mov ecx, r10d
xor ecx, esi
ror edx, 1
imul ecx, r9d
xor edx, ecx
mov ecx, r10d
xor r14d, edx
sub r8d, r14d
mov dword [rsp + 0x50], r14d
mov edx, r14d
ror r8d, 0xd
mov r14d, dword [rsp + 0x18c]
rol edx, 0xf
xor r14d, eax
xor r14d, dword [rsp + 0x50]
imul ecx, r8d
sub ecx, edx
xor esi, ecx
xor r14d, esi
mov edx, r14d
mov r8d, r14d
mov ecx, edi
sub r8d, dword [rsp + 0x18c]
ror r8d, 1
ror edx, 9
imul ecx, r8d
xor edx, ecx
xor esi, edx
mov edx, dword [rsp + 0x18c]
xor edx, esi
mov r8d, eax
mov ecx, eax
sub ecx, edx
xor r14d, ecx
mov ecx, r10d
xor r8d, r14d
rol r8d, 2
mov edx, r14d
rol edx, 5
imul ecx, r8d
sub ecx, edx
xor esi, ecx
mov edx, r11d
mov ecx, edi
xor ecx, esi
rol ecx, 1
imul edx, ecx
mov ecx, esi
shr ecx, 6
add edx, ecx
xor r14d, edx
mov ecx, r14d
not ecx
ror ecx, 0xa
add ecx, edi
imul ecx, r10d
xor esi, ecx
mov ecx, esi
sub ecx, r9d
xor ecx, eax
xor r14d, ecx
mov ecx, r11d
xor ecx, r14d
mov edx, r14d
ror edx, 0xa
imul ecx, r10d
add edx, ecx
xor esi, edx
mov ecx, esi
sub ecx, r11d
sub ecx, dword [rsp + 0x18c]
xor r9d, r9d
xor r14d, ecx
mov ecx, r14d
mov edx, r14d
xor r14d, dword [rsp + 0x58]
sub edx, dword [rsp + 0x18c]
ror edx, 0xd
mov r8d, r14d
ror ecx, 9
imul edi, edx
sub edi, ecx
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x20]
xor edi, edx
xor esi, edi
test ecx, ecx
mov edx, esi
jle 0x1000e3920
mov rax, r12
cmp r9d, ebp
jge 0x1000e38fe
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000e390b
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000e38ed
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x188]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000e3c6e
sub ebp, ecx
shl ebp, 3
mov ecx, ebp
shr r14d, cl
shl r14d, cl
mov ebp, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
mov rcx, r11
shr rcx, 3
test rcx, rcx
mov qword [rsp + 0x20], rcx
je 0x1000e3bba
mov rdi, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x18c]
mov r11, qword [rsp + 0x30]
movzx edx, ax
movzx r8d, word [rsp + 0x18c]
mov r15, qword [rsp + 0x20]
xor ecx, eax
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x38], edx
movzx r10d, byte [rdi]
movzx ecx, byte [rdi + 1]
movzx r9d, byte [rdi + 4]
shl r10d, 8
shl r9d, 8
or r10d, ecx
movzx ecx, byte [rdi + 2]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [rdi + 3]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [rdi + 5]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [rdi + 6]
or r9d, ecx
movzx ecx, byte [rdi + 7]
add rdi, r13
shl r9d, 8
or r9d, ecx
xor r14d, r9d
mov ecx, r14d
ror ecx, 9
sub ecx, edx
movzx edx, word [rsp + 0x18a]
imul ecx, edx
xor ecx, r10d
xor esi, ecx
mov edx, esi
mov ecx, r8d
movzx r8d, word [rsp + 0x18e]
xor ecx, esi
ror edx, 1
imul ecx, r8d
mov r8d, eax
xor edx, ecx
movzx ecx, word [rsp + 0x18c]
xor r14d, edx
mov edx, r14d
sub r8d, r14d
ror r8d, 0xd
rol edx, 0xf
imul ecx, r8d
sub ecx, edx
xor esi, ecx
mov ecx, dword [rsp + 0x50]
xor r14d, ecx
xor r14d, esi
mov ecx, dword [rsp + 0x38]
mov edx, r14d
mov r8d, r14d
sub r8d, dword [rsp + 0x18c]
ror r8d, 1
ror edx, 9
imul ecx, r8d
xor edx, ecx
xor esi, edx
mov r8d, eax
mov ecx, eax
mov edx, dword [rsp + 0x18c]
xor edx, esi
sub ecx, edx
xor r14d, ecx
xor r8d, r14d
movzx ecx, word [rsp + 0x18c]
rol r8d, 2
mov edx, r14d
rol edx, 5
imul ecx, r8d
mov r8d, dword [rsp + 0x38]
sub ecx, edx
movzx edx, word [rsp + 0x18a]
xor esi, ecx
mov ecx, r8d
xor ecx, esi
rol ecx, 1
imul edx, ecx
mov ecx, esi
shr ecx, 6
add edx, ecx
xor r14d, edx
movzx edx, word [rsp + 0x18e]
mov ecx, r14d
not ecx
ror ecx, 0xa
add ecx, r8d
movzx r8d, word [rsp + 0x18c]
imul ecx, r8d
xor esi, ecx
mov ecx, esi
sub ecx, edx
xor ecx, eax
xor r14d, ecx
movzx ecx, word [rsp + 0x18a]
mov edx, r14d
xor ecx, r14d
ror edx, 0xa
imul ecx, r8d
add edx, ecx
xor esi, edx
mov ecx, esi
movzx edx, word [rsp + 0x18a]
sub ecx, edx
mov edx, dword [rsp + 0x38]
sub ecx, dword [rsp + 0x18c]
xor r14d, ecx
mov r8d, r14d
mov ecx, r14d
xor r14d, ebp
mov ebp, r9d
sub r8d, dword [rsp + 0x18c]
ror r8d, 0xd
ror ecx, 9
imul edx, r8d
sub edx, ecx
xor edx, r12d
movzx r8d, word [rsp + 0x18c]
mov r12d, r10d
xor esi, edx
xor bl, sil
mov edx, dword [rsp + 0x38]
xor bl, r14b
mov byte [r11 + 3], sil
ror esi, 8
mov byte [r11 + 7], r14b
mov byte [r11 + 2], sil
ror r14d, 8
mov byte [r11 + 6], r14b
xor bl, sil
ror esi, 8
xor bl, r14b
ror r14d, 8
mov byte [r11 + 1], sil
xor bl, sil
ror esi, 8
xor bl, r14b
mov byte [r11 + 5], r14b
ror r14d, 8
mov cl, r14b
mov byte [r11], sil
xor cl, sil
mov byte [r11 + 4], r14b
add r11, r13
xor bl, cl
ror esi, 8
ror r14d, 8
sub r15, 1
jne 0x1000e398c
mov r12, qword [rsp + 0x80]
mov r15, 0xfffffffffffff000
mov r11, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x68]
cmp bl, byte [rdi + r11 + 8]
je 0x1000e3cae
call fcn.100058248
mov rbx, rax
lea r12, [0x1001094ec]
and rbx, r15
mov r8d, 0xffff
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r12
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
mov rax, qword [0x1004c43a0]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1000e3c05
mov qword [0x1004c43a0], rax
movabs rax, 0x8000800080008001
mul r9
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov rax, qword [rsp + 0xd8]
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], r8
jmp 0x1000e3ca4
xor r14d, r14d
test ecx, ecx
jns 0x1000e3938
neg ecx
shl ecx, 3
shr esi, cl
shl esi, cl
jmp 0x1000e3938
mov ebp, ecx
mov dword [rsp + 0x48], ecx
not ebp
xor r14d, r14d
xor esi, esi
jmp 0x1000e3941
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r13
cmp r10, r11
jb 0x1000e3c99
jmp 0x1000e24b1
mov rax, qword [0x1000487b8]
mov rsi, rdi
lea r14, [0x100000000]
sub rsi, r12
mov rbp, r14
sub rbp, rax
jne 0x1000e3cd3
test rsi, rsi
je 0x1000e24a6
lea r15, [0x100000000]
mov rcx, qword [0x1001d1e58]
xor r8d, r8d
mov rbx, r12
lea r9d, [rcx - 1]
sub rbx, rdi
sub edi, r14d
test r9d, r9d
lea r13d, [r11 + rdi]
js 0x1000e3d2b
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x1d1e5c]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x1000e3d20
lea r9d, [rdx - 1]
jmp 0x1000e3d26
jbe 0x1000e3d33
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000e3cfa
movsxd r11, r8d
jmp 0x1000e3db5
mov r11, rdx
jmp 0x1000e3db5
mov edx, dword [r15 + r11*4 + 0x1d1e5c]
mov eax, edx
and eax, 0xfffffff
cmp eax, r13d
jae 0x1000e24a6
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 0x1000e3d91
sub r8d, 1
je 0x1000e3d8c
cmp r8d, 1
jne 0x1000e3d97
mov r10, rbp
jmp 0x1000e3d97
mov r10, rsi
jmp 0x1000e3d97
mov r10, rbp
sub r10, rsi
sub edx, 2
je 0x1000e3da7
cmp edx, 1
jne 0x1000e3db2
add qword [r9 + rbx], r10
jmp 0x1000e3dab
add dword [r9 + rbx], r10d
mov rcx, qword [0x1001d1e58]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000e3d38
jmp 0x1000e24a6
mov edx, dword [0x10000003c]
cmp rdi, r13
jb 0x1000e919a
movsxd rax, edx
mov ecx, dword [rax + r13 + 0x50]
add rcx, r13
cmp rdi, rcx
jae 0x1000e495e
mov ecx, dword [0x100118598]
mov r8d, edi
mov r9d, ebp
sub r8d, r13d
sub ecx, r11d
js 0x1000e3e2e
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x2d5094]
and eax, r15d
cmp r8d, eax
mov r10, rdx
jae 0x1000e3e1f
lea ecx, [rdx - 1]
jmp 0x1000e3e29
jbe 0x1000e3fa8
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000e3dfc
mov rdx, rbp
cmp rdx, rbp
je 0x1000e4958
mov r11d, dword [0x1002f8888]
mov edi, dword [rdx]
mov r8, rbp
mov rax, rdi
and rdi, r15
shr rax, 0x1d
mov qword [rsp + 0x60], rdi
lea r14, [rax + rdx + 8]
mov r9d, r14d
sub r11, rdi
inc r11
sub r9d, r13d
mov qword [rsp + 0x40], r14
cmp r11, rbp
mov r10, r11
mov dword [rsp + 0x78], r9d
je 0x1000e3ead
mov rax, qword [0x1004c43a0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r10, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
cmp r10, rbp
jne 0x1000e3e7f
mov qword [0x1004c43a0], rax
mov rax, r8
xor edx, edx
mov ecx, r9d
div r11
lea r12, [rsi + rdx]
mov qword [rsp + 0x80], r12
mov r8, r12
mov rdx, rdi
mov eax, 0xf33f9267
lea rcx, [rsp + 0x140]
mov r11, qword [rdi + r14]
mov bl, bpl
mov qword [rsp + 0x140], r11
mov byte [rsp + 0x28], bl
mov eax, 0x70807a61
mov rax, qword [0x1000487b8]
mov r11, qword [rsp + 0x140]
mov r9d, dword [rsp + 0x144]
and r11, r15
mov qword [rsp + 0x98], rbp
mov ebp, 4
mov rcx, r13
add r11, r13
lea r13d, [rbp + 4]
and r9, r15
sub rcx, rax
mov r15, 0xfffffffffffff000
mov qword [rsp + 0x70], rcx
jne 0x1000e3fc7
xor r8d, r8d
test r9, r9
je 0x1000e42e7
mov r10d, 0xe373700e
mov ecx, dword [rsp + 0x9c]
mov edx, dword [rsp + 0x98]
movzx eax, byte [r8 + r11]
inc r8
sub eax, 0x1c8c8ff2
add edx, eax
add eax, ecx
imul rax, r10
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 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 + 0x9c], ecx
mov dword [rsp + 0x98], edx
jb 0x1000e3f58
jmp 0x1000e42e7
mov edx, dword [rbx + rdx*8 + 0x2d5094]
and edx, r15d
mov eax, dword [rbx + r10*8 + 0x2d5090]
and eax, r12d
add edx, eax
add rdx, r13
jmp 0x1000e3e31
lea rax, [r11 + r9]
movsxd rcx, dword [0x10000003c]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x48], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov esi, eax
mov ecx, eax
add rcx, r9
and rsi, r15
sub rax, rsi
mov qword [rsp + 0x20], rax
mov rax, rcx
and rax, r15
sub rcx, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x68], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x50], rcx
jmp 0x1000e4034
mov eax, dword [r8]
cmp rax, rsi
jae 0x1000e4039
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000e4025
xor edi, edi
cmp r8, rcx
mov r10d, 0xfff
je 0x1000e407a
mov eax, dword [r8]
cmp rax, rsi
jne 0x1000e407a
mov ecx, dword [r8 + 4]
sub rcx, r13
shr rcx, 1
je 0x1000e407a
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x20]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000e407a
inc rdi
add rdx, 2
cmp rdi, rcx
jne 0x1000e4063
mov r14, qword [rsp + 0x70]
lea r12, [0x100000000]
mov r9d, dword [rsp + 0x98]
mov ebx, 0xe373700e
mov edx, dword [rsp + 0x9c]
mov ecx, 0xf000
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x30]
cmp r8, r15
je 0x1000e4269
mov eax, dword [r8]
cmp rax, rsi
ja 0x1000e4269
mov eax, dword [r8 + 4]
mov qword [rsp + 0x20], rax
add rax, 0xfffffffffffffff8
shr rax, 1
cmp rdi, rax
jne 0x1000e40f1
add r8, qword [rsp + 0x20]
cmp r8, r15
je 0x1000e4269
mov eax, dword [r8]
cmp rax, rsi
ja 0x1000e4269
xor edi, edi
jmp 0x1000e40be
mov eax, dword [r8]
cmp rax, rsi
jne 0x1000e410d
movzx eax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x68]
jae 0x1000e4269
mov rax, rdi
inc rdi
mov qword [rsp + 0x70], rax
test word [r8 + rax*2 + 8], cx
je 0x1000e40a9
movzx esi, word [r8 + rax*2 + 8]
xor r15d, r15d
and esi, r10d
add esi, dword [r8]
add rsi, r12
mov rax, rsi
sub rax, r11
je 0x1000e4193
mov rbx, rax
mov ecx, 0xe373700e
movzx eax, byte [r11 + r15]
inc r15
sub eax, 0x1c8c8ff2
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, 0xe373700e
ror edx, 0x11
imul edx, edx, 0xe373700e
ror edx, 0x11
add r9d, edx
cmp r15, rbx
mov dword [rsp + 0x9c], edx
mov dword [rsp + 0x98], r9d
jb 0x1000e4142
mov rbx, rcx
mov rax, qword [rsi]
mov rcx, qword [rsp + 0x70]
movzx ecx, word [r8 + rcx*2 + 8]
mov qword [rsp + 0x108], rax
shr ecx, 0xc
cmp ecx, 3
je 0x1000e41bf
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000e41c5
mov r11d, 2
mov rcx, r14
neg rcx
mov qword [rsp + 0x20], rcx
sub r11d, 2
je 0x1000e41f7
cmp r11d, 1
je 0x1000e41e2
or rcx, 0xffffffffffffffff
jmp 0x1000e4206
mov rcx, qword [rsp + 0x20]
add rax, rcx
mov qword [rsp + 0x108], rax
mov rcx, r13
jmp 0x1000e4206
mov rcx, qword [rsp + 0x20]
add dword [rsp + 0x108], ecx
mov rcx, rbp
xor r11d, r11d
test rcx, rcx
je 0x1000e4260
movzx eax, byte [rsp + r11 + 0x108]
inc r11
sub eax, 0x1c8c8ff2
add r9d, eax
add eax, edx
imul rax, rbx
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 r11, rcx
jb 0x1000e420e
mov dword [rsp + 0x9c], edx
mov dword [rsp + 0x98], r9d
lea r11, [rcx + rsi]
jmp 0x1000e409a
xor ecx, ecx
mov r15, 0xfffffffffffff000
mov r8, qword [rsp + 0x48]
sub r8, r11
mov bl, cl
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x80]
je 0x1000e42e2
mov ebx, 0xe373700e
movzx eax, byte [rcx + r11]
inc rcx
sub eax, 0x1c8c8ff2
add r9d, eax
add eax, edx
imul rax, rbx
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
mov dword [rsp + 0x9c], edx
cmp rcx, r8
mov dword [rsp + 0x98], r9d
jb 0x1000e4290
mov bl, byte [rsp + 0x28]
mov rdi, qword [rsp + 0x60]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
cmp rcx, r13
mov al, byte [rsp + rax + 0x98]
mov byte [rsp + rcx + 0x1bf], al
jb 0x1000e42e9
mov eax, 0x6d0675ae
mov r11, r14
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x68], r14
mov r9, rdi
and r9d, 7
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x70], r12
je 0x1000e4818
xor r10d, r10d
mov edx, dword [rsp + 0x78]
mov dword [rsp + 0x58], r10d
mov ecx, edx
xor esi, esi
xor edi, edi
mov dword [rsp + 0x48], esi
test r9d, r9d
not ecx
mov dword [rsp + 0x50], ecx
jle 0x1000e4393
lea r8d, [r10 + 0x38]
movzx edx, byte [r11]
cmp edi, ebp
jge 0x1000e4368
lea ecx, [r8 - 0x20]
shl edx, cl
or esi, edx
jmp 0x1000e4370
mov ecx, r8d
shl edx, cl
or r10d, edx
inc edi
inc r11
sub r8d, r13d
cmp edi, r9d
jl 0x1000e4356
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x78]
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x58], r10d
mov qword [rsp + 0x68], r11
mov edi, edx
movzx r11d, word [rsp + 0x1c4]
movzx r9d, ax
movzx r8d, word [rsp + 0x1c2]
movzx r10d, word [rsp + 0x1c6]
sub edi, r10d
xor edi, ecx
xor edi, eax
mov ecx, edi
mov esi, edi
xor ecx, r10d
ror esi, 0xc
imul ecx, r11d
xor esi, ecx
xor esi, edx
mov edx, esi
xor edx, r11d
mov ecx, esi
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 esi, ecx
mov ecx, esi
mov edx, esi
xor edx, r8d
shr ecx, 7
imul edx, r10d
add edx, ecx
mov ecx, dword [rsp + 0x1c4]
xor edi, edx
mov edx, edi
xor edx, eax
sub ecx, edx
xor esi, ecx
mov ecx, esi
mov edx, esi
xor edx, r11d
shr ecx, 6
rol edx, 4
imul edx, r8d
add edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
xor edx, dword [rsp + 0x1c4]
ror edx, 0xa
rol ecx, 8
imul edx, r9d
add ecx, edx
xor esi, ecx
mov edx, esi
sub edx, eax
mov ecx, esi
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 esi, edx
mov ecx, esi
mov edx, esi
sub edx, r11d
shr ecx, 4
imul edx, r8d
sub edx, ecx
xor edi, edx
mov r8d, dword [rsp + 0x48]
mov edx, edi
xor edx, dword [rsp + 0x1c4]
mov ecx, edi
xor edi, dword [rsp + 0x58]
rol edx, 0xd
ror ecx, 5
imul edx, r9d
xor r9d, r9d
sub edx, ecx
mov rcx, qword [rsp + 0x20]
xor edx, r8d
xor esi, edx
mov r8d, edi
mov edx, esi
test ecx, ecx
jle 0x1000e44ea
mov rax, r12
cmp r9d, ebp
jge 0x1000e44c8
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000e44d5
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000e44b7
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1c0]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000e4800
sub ebp, ecx
shl ebp, 3
mov ecx, ebp
shr edi, cl
shl edi, cl
mov ebp, dword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
mov r10, qword [rsp + 0x60]
mov rcx, r10
shr rcx, 3
test rcx, rcx
mov qword [rsp + 0x20], rcx
je 0x1000e474c
movzx ecx, word [rsp + 0x1c2]
mov r15, qword [rsp + 0x20]
mov r10, qword [rsp + 0x70]
movzx r12d, word [rsp + 0x1c4]
movzx edx, word [rsp + 0x1c6]
mov r14d, dword [rsp + 0x48]
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x68], edx
movzx ecx, ax
mov dword [rsp + 0x38], ecx
movzx ecx, byte [r11 + 1]
movzx r8d, byte [r11 + 4]
movzx r9d, byte [r11]
shl r9d, 8
shl r8d, 8
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r11 + 2]
or r9d, ecx
movzx ecx, byte [r11 + 3]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 5]
or r8d, ecx
xor esi, r9d
shl r8d, 8
movzx ecx, byte [r11 + 6]
or r8d, ecx
movzx ecx, byte [r11 + 7]
add r11, r13
shl r8d, 8
or r8d, ecx
mov ecx, esi
sub ecx, edx
xor ecx, r8d
xor edi, ecx
xor edi, eax
mov edx, edi
mov ecx, edi
xor ecx, dword [rsp + 0x68]
ror edx, 0xc
imul ecx, r12d
xor edx, ecx
xor esi, edx
mov ecx, esi
mov edx, esi
xor edx, r12d
rol edx, 2
rol ecx, 9
imul edx, dword [rsp + 0x50]
sub edx, ecx
movzx ecx, word [rsp + 0x1c2]
xor edi, edx
mov edx, edi
xor edx, ecx
mov ecx, edi
rol edx, 7
ror ecx, 4
imul edx, dword [rsp + 0x38]
xor ecx, edx
xor esi, ecx
mov edx, esi
movzx ecx, word [rsp + 0x1c2]
xor edx, ecx
movzx ecx, word [rsp + 0x1c6]
imul edx, ecx
mov ecx, esi
shr ecx, 7
add edx, ecx
mov ecx, dword [rsp + 0x1c4]
xor edi, edx
mov edx, edi
xor edx, eax
sub ecx, edx
xor esi, ecx
movzx ecx, word [rsp + 0x1c2]
mov edx, esi
xor edx, r12d
rol edx, 4
imul edx, ecx
mov ecx, esi
shr ecx, 6
add edx, ecx
xor edi, edx
mov edx, edi
xor edx, dword [rsp + 0x1c4]
ror edx, 0xa
mov ecx, edi
rol ecx, 8
imul edx, dword [rsp + 0x38]
add ecx, edx
xor esi, ecx
mov ecx, esi
mov edx, esi
sub edx, eax
rol edx, 2
ror ecx, 9
imul edx, dword [rsp + 0x68]
xor ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, edi
xor ecx, dword [rsp + 0x38]
ror edx, 2
imul ecx, r12d
add edx, ecx
xor esi, edx
mov edx, esi
movzx ecx, word [rsp + 0x1c2]
sub edx, r12d
imul edx, ecx
mov ecx, esi
shr ecx, 4
sub edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
xor edi, ebp
xor edx, dword [rsp + 0x1c4]
mov ebp, r8d
rol edx, 0xd
ror ecx, 5
imul edx, dword [rsp + 0x38]
sub edx, ecx
xor edx, r14d
mov r14d, r9d
xor esi, edx
movzx edx, word [rsp + 0x1c6]
mov byte [r10 + 3], sil
mov byte [r10 + 7], dil
xor bl, sil
xor bl, dil
ror esi, 8
mov byte [r10 + 2], sil
ror edi, 8
mov byte [r10 + 6], dil
xor bl, sil
ror esi, 8
xor bl, dil
ror edi, 8
xor bl, sil
mov byte [r10 + 1], sil
ror esi, 8
mov byte [r10 + 5], dil
xor bl, dil
ror edi, 8
mov byte [r10], sil
mov cl, dil
xor cl, sil
mov byte [r10 + 4], dil
add r10, r13
xor bl, cl
ror esi, 8
ror edi, 8
sub r15, 1
jne 0x1000e455a
mov r15, 0xfffffffffffff000
mov r12, qword [rsp + 0x80]
mov r14, qword [rsp + 0x40]
mov r10, qword [rsp + 0x60]
cmp bl, byte [r14 + r10 + 8]
je 0x1000e4842
call fcn.100058248
mov rbx, rax
mov rax, qword [rsp + 0xe0]
and rbx, r15
lea r12, [0x1001094ec]
lea r10, [rax + 0x18]
mov r8d, 0xffff
mov qword [rax + 0x10], r12
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, r15
mov rax, qword [0x1004c43a0]
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1000e4797
mov qword [0x1004c43a0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd8]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], r8
jmp 0x1000e4838
xor edi, edi
test ecx, ecx
jns 0x1000e4500
neg ecx
shl ecx, 3
shr esi, cl
shl esi, cl
jmp 0x1000e4500
xor edi, edi
xor esi, esi
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x48], ecx
mov ebp, ecx
not ebp
jmp 0x1000e4509
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r13
cmp r10, r11
jb 0x1000e482d
jmp 0x1000e24b1
mov rdi, r14
sub rdi, r12
mov rax, qword [0x1000487b8]
lea r13, [0x100000000]
mov rsi, r13
sub rsi, rax
jne 0x1000e4867
test rdi, rdi
je 0x1000e24a6
mov rcx, qword [0x1001d1e58]
lea r9d, [rcx - 1]
lea r15, [0x100000000]
xor r8d, r8d
mov rbx, r12
sub rbx, r14
sub r14d, r13d
lea ebp, [r14 + r10]
test r9d, r9d
js 0x1000e48bf
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x1d1e5c]
and r10d, 0xfffffff
cmp r14d, r10d
jae 0x1000e48b4
lea r9d, [rdx - 1]
jmp 0x1000e48ba
jbe 0x1000e48c7
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000e488e
movsxd r11, r8d
jmp 0x1000e4948
mov r11, rdx
jmp 0x1000e4948
mov edx, dword [r15 + r11*4 + 0x1d1e5c]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000e24a6
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 0x1000e4924
sub r8d, 1
je 0x1000e491f
cmp r8d, 1
jne 0x1000e492a
mov r10, rsi
jmp 0x1000e492a
mov r10, rdi
jmp 0x1000e492a
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x1000e493a
cmp edx, 1
jne 0x1000e4945
add qword [r9 + rbx], r10
jmp 0x1000e493e
add dword [r9 + rbx], r10d
mov rcx, qword [0x1001d1e58]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000e48cc
jmp 0x1000e24a6
mov edx, dword [0x10000003c]
cmp rdi, r13
jb 0x1000e919a
movsxd rax, edx
mov ecx, dword [rax + r13 + 0x50]
add rcx, r13
cmp rdi, rcx
jae 0x1000e55a0
mov ecx, dword [0x100037854]
mov r8d, edi
sub r8d, r13d
mov r9d, ebp
sub ecx, r11d
js 0x1000e49c3
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x11bcf0]
shr eax, 1
and eax, r15d
cmp r8d, eax
jae 0x1000e49b4
lea ecx, [rdx - 1]
jmp 0x1000e49be
jbe 0x1000e4b5c
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000e498f
mov rdx, rbp
cmp rdx, rbp
je 0x1000e559a
mov r14d, dword [rdx + 4]
mov r8, rbp
mov eax, dword [rdx]
mov r11d, dword [0x1002f8888]
shr rax, 1
and r14, r15
and eax, 7
lea rdi, [rax + rdx + 8]
mov r9d, edi
mov qword [rsp + 0x78], r14
sub r11, r14
mov qword [rsp + 0x50], rdi
inc r11
mov r10, r11
sub r9d, r13d
mov dword [rsp + 0x68], r9d
cmp r11, rbp
je 0x1000e4a45
mov rax, qword [0x1004c43a0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r10, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
cmp r10, rbp
jne 0x1000e4a17
mov qword [0x1004c43a0], rax
xor edx, edx
mov rax, r8
mov ecx, r9d
div r11
lea r12, [rsi + rdx]
mov qword [rsp + 0x80], r12
mov r8, r12
mov rdx, r14
mov eax, 0x5792c1e4
mov r11, qword [rdi + r14]
mov bl, bpl
mov qword [rsp + 0x148], r11
lea rcx, [rsp + 0x148]
mov eax, 0x10154a4f
mov rax, qword [0x1000487b8]
mov r9d, dword [rsp + 0x14c]
mov rcx, r13
mov r11, qword [rsp + 0x148]
mov qword [rsp + 0x90], rbp
mov ebp, 4
and r11, r15
and r9, r15
mov r15, 0xfffffffffffff000
add r11, r13
sub rcx, rax
lea r13d, [rbp + 4]
mov qword [rsp + 0x30], rcx
jne 0x1000e4b7d
xor r10d, r10d
test r9, r9
je 0x1000e4eed
mov ecx, dword [rsp + 0x94]
mov r14d, 0x9f4cc6a7
mov r8d, dword [rsp + 0x90]
movzx eax, byte [r10 + r11]
inc r10
sub eax, 0x60b33959
add r8d, eax
add eax, ecx
imul rax, r14
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
cmp r10, r9
mov dword [rsp + 0x94], ecx
mov dword [rsp + 0x90], r8d
jb 0x1000e4aed
mov r14, qword [rsp + 0x78]
jmp 0x1000e4eed
mov edx, dword [rbx + rdx*8 + 0x11bcf4]
mov eax, dword [rbx + r10*8 + 0x11bcf0]
shr eax, 1
and edx, r12d
and eax, r15d
add edx, eax
add rdx, r13
jmp 0x1000e49c6
movsxd rcx, dword [0x10000003c]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
lea rax, [r11 + r9]
mov qword [rsp + 0x38], rax
mov eax, r11d
sub eax, edx
mov r10d, eax
add r8, rdx
and r10, r15
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
add rcx, r9
sub rax, r10
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x40], rax
mov rax, rcx
and rax, r15
sub rcx, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x60], rcx
jmp 0x1000e4bf0
mov eax, dword [r8]
cmp rax, r10
jae 0x1000e4bf5
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000e4be1
xor esi, esi
cmp r8, rcx
mov r10d, 0xfff
je 0x1000e4c38
mov eax, dword [r8]
cmp rax, qword [rsp + 0x20]
jne 0x1000e4c38
mov ecx, dword [r8 + 4]
sub rcx, r13
shr rcx, 1
je 0x1000e4c38
mov r9, qword [rsp + 0x40]
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000e4c38
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000e4c21
mov edx, dword [rsp + 0x94]
mov rbx, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x90]
mov edi, 0x9f4cc6a7
lea r15, [0x100000000]
mov ecx, 0xf000
mov r12, qword [rsp + 0x60]
cmp r8, r12
je 0x1000e4e55
mov eax, dword [r8]
cmp rax, qword [rsp + 0x70]
ja 0x1000e4e55
mov r14d, dword [r8 + 4]
lea rax, [r14 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000e4ca7
add r8, r14
cmp r8, r12
je 0x1000e4e55
mov eax, dword [r8]
cmp rax, qword [rsp + 0x70]
ja 0x1000e4e55
xor esi, esi
jmp 0x1000e4c79
mov eax, dword [r8]
cmp rax, qword [rsp + 0x70]
jne 0x1000e4cc5
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x48]
jae 0x1000e4e55
mov rax, rsi
mov qword [rsp + 0x30], rax
inc rsi
test word [r8 + rax*2 + 8], cx
je 0x1000e4c62
xor r12d, r12d
movzx eax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
add rax, r15
mov qword [rsp + 0x40], rax
mov rcx, rax
sub rcx, r11
je 0x1000e4d64
mov r14, rcx
movzx eax, byte [r12 + r11]
inc r12
sub eax, 0x60b33959
add r9d, eax
add eax, edx
imul rax, rdi
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
mov dword [rsp + 0x94], edx
add r9d, edx
mov dword [rsp + 0x90], r9d
cmp r12, r14
jb 0x1000e4cfa
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x30]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
mov qword [rsp + 0x110], rax
cmp ecx, 3
je 0x1000e4d90
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000e4d96
mov r11d, 2
mov rcx, rbx
neg rcx
sub r11d, 2
mov qword [rsp + 0x20], rcx
je 0x1000e4dc8
cmp r11d, 1
je 0x1000e4db3
or r11, 0xffffffffffffffff
jmp 0x1000e4dd7
mov r11, r13
mov rcx, qword [rsp + 0x20]
add rax, rcx
mov qword [rsp + 0x110], rax
jmp 0x1000e4dd7
mov r11, rbp
mov rcx, qword [rsp + 0x20]
add dword [rsp + 0x110], ecx
xor r12d, r12d
test r11, r11
je 0x1000e4e48
movzx eax, byte [rsp + r12 + 0x110]
inc r12
sub eax, 0x60b33959
add r9d, eax
add eax, edx
imul rax, rdi
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 r12, r11
jb 0x1000e4ddf
mov dword [rsp + 0x94], edx
mov dword [rsp + 0x90], r9d
mov rax, qword [rsp + 0x40]
add r11, rax
jmp 0x1000e4c58
xor r8d, r8d
mov r12, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov r10, qword [rsp + 0x38]
mov r15, 0xfffffffffffff000
mov bl, r8b
mov rdi, qword [rsp + 0x50]
sub r10, r11
je 0x1000e4eed
mov edi, 0x9f4cc6a7
movzx eax, byte [r8 + r11]
inc r8
sub eax, 0x60b33959
add r9d, eax
add eax, edx
imul rax, rdi
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
mov dword [rsp + 0x94], edx
add r9d, edx
cmp r8, r10
mov dword [rsp + 0x90], r9d
jb 0x1000e4e83
mov rdi, qword [rsp + 0x50]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
cmp rcx, r13
mov al, byte [rsp + rax + 0x90]
mov byte [rsp + rcx + 0x1b7], al
jb 0x1000e4eef
mov eax, 0x5aeb7ebc
mov rax, qword [rsp + 0x1b8]
mov r9, r14
and r9d, 7
mov r14d, dword [rsp + 0x68]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x70], r12
je 0x1000e5459
xor r10d, r10d
xor edi, edi
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x58], edi
mov esi, r14d
not esi
xor r11d, r11d
test r9d, r9d
jle 0x1000e4f9b
lea r8d, [r10 + 0x38]
mov rax, qword [rsp + 0x60]
movzx edx, byte [rax]
cmp r11d, ebp
jge 0x1000e4f6f
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x1000e4f77
mov ecx, r8d
shl edx, cl
or r10d, edx
inc r11d
inc rax
sub r8d, r13d
cmp r11d, r9d
jl 0x1000e4f5d
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x1b8]
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x48], r10d
mov r9d, esi
movzx r11d, word [rsp + 0x1be]
movzx edi, ax
movzx r10d, word [rsp + 0x1ba]
sub r9d, edi
xor r9d, r14d
xor r9d, dword [rsp + 0x1bc]
mov edx, r9d
lea r8d, [r9 + rax]
mov ecx, r11d
rol r8d, 0xf
rol edx, 7
imul ecx, r8d
sub ecx, edx
xor esi, ecx
mov r14d, esi
mov ecx, r10d
xor r14d, r9d
xor r14d, eax
mov r9d, dword [rsp + 0x1bc]
xor r14d, r9d
mov r8d, r14d
sub r8d, r9d
ror r8d, 0xd
mov edx, r14d
rol edx, 0xd
imul ecx, r8d
sub ecx, edx
mov r8d, r9d
movzx r9d, r9w
xor esi, ecx
sub r8d, esi
ror r8d, 0x10
mov edx, esi
ror edx, 9
mov ecx, edi
imul ecx, r8d
mov r8d, r9d
sub ecx, edx
xor r14d, ecx
xor r8d, r14d
mov edx, r14d
mov ecx, r11d
rol r8d, 1
ror edx, 9
imul ecx, r8d
sub ecx, edx
xor esi, ecx
mov ecx, dword [rsp + 0x1bc]
mov edx, esi
xor edx, eax
sub ecx, edx
xor r14d, ecx
mov r8d, r14d
mov edx, r14d
sub r8d, dword [rsp + 0x1bc]
mov ecx, r10d
rol r8d, 0xe
ror edx, 0xb
imul ecx, r8d
add edx, ecx
mov r8d, edi
xor esi, edx
mov ecx, esi
not ecx
ror ecx, 1
add ecx, edi
imul ecx, r11d
xor r14d, ecx
mov edx, r14d
xor r8d, r14d
mov ecx, r11d
rol r8d, 2
ror edx, 0xe
imul ecx, r8d
add edx, ecx
xor esi, edx
mov ecx, esi
sub ecx, r9d
sub ecx, eax
xor r14d, ecx
mov ecx, r14d
xor r11d, r14d
ror ecx, 0xc
imul r11d, r10d
xor ecx, r11d
xor esi, ecx
xor r9d, esi
mov ecx, esi
xor esi, dword [rsp + 0x48]
mov r8d, esi
shr ecx, 0xe
imul r9d, edi
xor r9d, ecx
mov rcx, qword [rsp + 0x20]
xor r9d, dword [rsp + 0x58]
xor r14d, r9d
mov edx, r14d
xor r9d, r9d
test ecx, ecx
jle 0x1000e511a
mov rax, r12
cmp r9d, ebp
jge 0x1000e50f8
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000e5105
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000e50e7
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1b8]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000e543f
sub ebp, ecx
shl ebp, 3
mov ecx, ebp
shr esi, cl
shl esi, cl
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x78]
mov rcx, rbp
shr rcx, 3
test rcx, rcx
je 0x1000e538c
mov rbp, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
mov r12, rcx
movzx edx, ax
mov r15d, dword [rsp + 0x48]
mov dword [rsp + 0x38], edx
movzx r10d, byte [rdi + 4]
movzx r11d, byte [rdi + 1]
movzx ecx, byte [rdi]
shl ecx, 8
shl r10d, 8
or r11d, ecx
shl r11d, 8
movzx ecx, byte [rdi + 2]
or r11d, ecx
movzx ecx, byte [rdi + 3]
shl r11d, 8
or r11d, ecx
movzx ecx, byte [rdi + 5]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [rdi + 6]
or r10d, ecx
movzx ecx, byte [rdi + 7]
add rdi, r13
shl r10d, 8
or r10d, ecx
xor esi, r10d
mov r9d, esi
movzx ecx, word [rsp + 0x1be]
sub r9d, edx
xor r9d, r11d
xor r9d, r14d
xor r9d, dword [rsp + 0x1bc]
lea r8d, [r9 + rax]
mov edx, r9d
rol r8d, 0xf
rol edx, 7
imul ecx, r8d
sub ecx, edx
xor esi, ecx
mov r14d, esi
movzx ecx, word [rsp + 0x1ba]
xor r14d, r9d
xor r14d, eax
mov r9d, dword [rsp + 0x1bc]
xor r14d, r9d
mov r8d, r14d
mov edx, r14d
sub r8d, r9d
ror r8d, 0xd
rol edx, 0xd
imul ecx, r8d
mov r8d, r9d
sub ecx, edx
xor esi, ecx
mov ecx, dword [rsp + 0x38]
mov edx, esi
sub r8d, esi
ror r8d, 0x10
ror edx, 9
imul ecx, r8d
sub ecx, edx
movzx r8d, r9w
xor r14d, ecx
movzx ecx, word [rsp + 0x1be]
mov edx, r14d
xor r8d, r14d
rol r8d, 1
ror edx, 9
imul ecx, r8d
sub ecx, edx
xor esi, ecx
mov edx, esi
xor edx, eax
mov ecx, r9d
sub ecx, edx
xor r14d, ecx
mov r8d, r14d
sub r8d, r9d
mov edx, r14d
rol r8d, 0xe
movzx ecx, word [rsp + 0x1ba]
ror edx, 0xb
movzx r9d, word [rsp + 0x1be]
imul ecx, r8d
add edx, ecx
xor esi, edx
mov edx, dword [rsp + 0x38]
mov r8d, edx
mov ecx, esi
not ecx
ror ecx, 1
add ecx, edx
imul ecx, r9d
xor r14d, ecx
mov edx, r14d
mov ecx, r9d
xor r8d, r14d
rol r8d, 2
ror edx, 0xe
imul ecx, r8d
movzx r8d, word [rsp + 0x1ba]
add edx, ecx
xor esi, edx
mov ecx, esi
movzx edx, word [rsp + 0x1bc]
sub ecx, edx
sub ecx, eax
xor r14d, ecx
mov ecx, r9d
xor ecx, r14d
mov edx, r14d
ror edx, 0xc
imul ecx, r8d
xor edx, ecx
xor esi, edx
movzx edx, word [rsp + 0x1bc]
xor edx, esi
mov ecx, esi
xor esi, r15d
shr ecx, 0xe
imul edx, dword [rsp + 0x38]
xor edx, ecx
mov r15d, r10d
xor edx, dword [rsp + 0x58]
xor r14d, edx
xor bl, r14b
xor bl, sil
mov dword [rsp + 0x58], r11d
mov edx, dword [rsp + 0x38]
mov byte [rbp + 3], r14b
mov byte [rbp + 7], sil
ror r14d, 8
mov byte [rbp + 2], r14b
ror esi, 8
xor bl, r14b
ror r14d, 8
mov byte [rbp + 6], sil
xor bl, sil
mov byte [rbp + 1], r14b
ror esi, 8
mov byte [rbp + 5], sil
xor bl, r14b
ror r14d, 8
xor bl, sil
mov byte [rbp], r14b
ror esi, 8
mov byte [rbp + 4], sil
xor bl, sil
xor bl, r14b
ror r14d, 8
ror esi, 8
add rbp, r13
sub r12, 1
jne 0x1000e5163
mov r12, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
mov r15, 0xfffffffffffff000
cmp bl, byte [rdi + rbp + 8]
je 0x1000e5486
call fcn.100058248
mov rbx, rax
lea r12, [0x1001094ec]
mov r8d, 0xffff
and rbx, r15
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r12
lea r10, [rax + 0x18]
mov rax, qword [0x1004c43a0]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1000e53d6
mov qword [0x1004c43a0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd8]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], r8
jmp 0x1000e547c
xor esi, esi
test ecx, ecx
jns 0x1000e5130
neg ecx
shl ecx, 3
shr r14d, cl
shl r14d, cl
jmp 0x1000e5130
mov dword [rsp + 0x58], r14d
mov ecx, r14d
not ecx
mov dword [rsp + 0x48], ecx
xor esi, esi
xor r14d, r14d
jmp 0x1000e5135
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r13
cmp r10, r11
jb 0x1000e5471
jmp 0x1000e24b1
mov rsi, rdi
lea r14, [0x100000000]
mov rax, qword [0x1000487b8]
mov r13, r14
sub rsi, r12
sub r13, rax
jne 0x1000e54ab
test rsi, rsi
je 0x1000e24a6
lea r15, [0x100000000]
mov rcx, qword [0x1001d1e58]
mov rbx, r12
xor r8d, r8d
lea r9d, [rcx - 1]
sub rbx, rdi
sub edi, r14d
add ebp, edi
test r9d, r9d
js 0x1000e5501
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x1d1e5c]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x1000e54f6
lea r9d, [rdx - 1]
jmp 0x1000e54fc
jbe 0x1000e5509
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000e54d0
movsxd r11, r8d
jmp 0x1000e558a
mov r11, rdx
jmp 0x1000e558a
mov edx, dword [r15 + r11*4 + 0x1d1e5c]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000e24a6
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 0x1000e5566
sub r8d, 1
je 0x1000e5561
cmp r8d, 1
jne 0x1000e556c
mov r10, r13
jmp 0x1000e556c
mov r10, rsi
jmp 0x1000e556c
mov r10, r13
sub r10, rsi
sub edx, 2
je 0x1000e557c
cmp edx, 1
jne 0x1000e5587
add qword [r9 + rbx], r10
jmp 0x1000e5580
add dword [r9 + rbx], r10d
mov rcx, qword [0x1001d1e58]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000e550e
jmp 0x1000e24a6
mov edx, dword [0x10000003c]
cmp rdi, r13
jb 0x1000e919a
movsxd rax, edx
mov ecx, dword [rax + r13 + 0x50]
add rcx, r13
cmp rdi, rcx
jae 0x1000e6170
mov r9d, ebp
mov ecx, dword [0x10043d2b8]
mov r8d, edi
sub r8d, r13d
sub ecx, r11d
js 0x1000e5605
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x2ac8e0]
shr eax, 1
and eax, r15d
cmp r8d, eax
jae 0x1000e55f6
lea ecx, [rdx - 1]
jmp 0x1000e5600
jbe 0x1000e577f
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000e55d1
mov rdx, rbp
cmp rdx, rbp
je 0x1000e616a
mov r11d, dword [0x1002f8888]
mov r14d, dword [rdx]
mov rax, r14
mov r8, rbp
shr r14, 4
mov qword [rsp + 0x40], r14
shr rax, 1
sub r11, r14
and eax, 7
lea rdi, [rax + rdx + 8]
mov r9d, edi
mov qword [rsp + 0x60], rdi
inc r11
mov r10, r11
sub r9d, r13d
cmp r11, rbp
mov dword [rsp + 0x68], r9d
je 0x1000e5688
mov rax, qword [0x1004c43a0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r10, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
cmp r10, rbp
jne 0x1000e565a
mov qword [0x1004c43a0], rax
mov ecx, r9d
mov rax, r8
xor edx, edx
div r11
lea r12, [rsi + rdx]
mov rdx, r14
mov r8, r12
mov qword [rsp + 0x80], r12
mov eax, 0x934f512b
mov bl, bpl
mov r11, qword [rdi + r14]
mov qword [rsp + 0x160], r11
lea rcx, [rsp + 0x160]
mov eax, 0x4da1de41
mov r11, qword [rsp + 0x160]
mov r9d, dword [rsp + 0x164]
mov rax, qword [0x1000487b8]
mov rcx, r13
mov qword [rsp + 0xb0], rbp
mov ebp, 4
and r11, r15
and r9, r15
mov r15, 0xfffffffffffff000
add r11, r13
sub rcx, rax
mov qword [rsp + 0x50], rcx
lea r13d, [rbp + 4]
jne 0x1000e57a0
xor r10d, r10d
test r9, r9
je 0x1000e5abb
mov r8d, dword [rsp + 0xb0]
mov edx, dword [rsp + 0xb4]
movzx ecx, byte [r11 + r10]
inc r10
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
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
add r8d, edx
mov dword [rsp + 0xb4], edx
cmp r10, r9
mov dword [rsp + 0xb0], r8d
jb 0x1000e572a
jmp 0x1000e5abb
mov edx, dword [rbx + rdx*8 + 0x2ac8e0]
shr edx, 1
mov eax, dword [rbx + r10*8 + 0x2ac8e4]
and eax, r12d
and edx, r15d
add edx, eax
add rdx, r13
jmp 0x1000e5608
movsxd rcx, dword [0x10000003c]
lea rax, [r11 + r9]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x38], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
mov r10d, eax
and r10, r15
mov qword [rsp + 0x20], r10
add rcx, r9
sub rax, r10
mov qword [rsp + 0x30], rax
mov rax, rcx
and rax, r15
mov qword [rsp + 0x70], rax
sub rcx, rax
mov qword [rsp + 0x48], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x78], rcx
jmp 0x1000e5813
mov eax, dword [r8]
cmp rax, r10
jae 0x1000e5818
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000e5804
xor esi, esi
mov r10d, 0xfff
cmp r8, rcx
je 0x1000e585b
mov eax, dword [r8]
cmp rax, qword [rsp + 0x20]
jne 0x1000e585b
mov ecx, dword [r8 + 4]
sub rcx, r13
shr rcx, 1
je 0x1000e585b
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x30]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000e585b
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000e5844
mov edx, dword [rsp + 0xb4]
lea rbx, [0x100000000]
mov r9d, dword [rsp + 0xb0]
mov rdi, qword [rsp + 0x50]
mov ecx, 0xf000
mov r12, qword [rsp + 0x78]
cmp r8, r12
je 0x1000e5a49
mov eax, dword [r8]
cmp rax, qword [rsp + 0x70]
ja 0x1000e5a49
mov r14d, dword [r8 + 4]
lea rax, [r14 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000e58c5
add r8, r14
cmp r8, r12
je 0x1000e5a49
mov eax, dword [r8]
cmp rax, qword [rsp + 0x70]
ja 0x1000e5a49
xor esi, esi
jmp 0x1000e5897
mov eax, dword [r8]
cmp rax, qword [rsp + 0x70]
jne 0x1000e58e3
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x48]
jae 0x1000e5a49
mov rax, rsi
inc rsi
mov qword [rsp + 0x50], rax
test word [r8 + rax*2 + 8], cx
je 0x1000e5880
xor r12d, r12d
movzx eax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
add rax, rbx
mov qword [rsp + 0x30], rax
mov rcx, rax
sub rcx, r11
je 0x1000e596d
mov r14, rcx
movzx ecx, byte [r11 + r12]
inc r12
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
mov dword [rsp + 0xb4], edx
add r9d, edx
cmp r12, r14
mov dword [rsp + 0xb0], r9d
jb 0x1000e5918
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x50]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
cmp ecx, 3
mov qword [rsp + 0x120], rax
je 0x1000e5999
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000e599f
mov r11d, 2
mov rcx, rdi
neg rcx
mov qword [rsp + 0x20], rcx
sub r11d, 2
je 0x1000e59d1
cmp r11d, 1
je 0x1000e59bc
or r11, 0xffffffffffffffff
jmp 0x1000e59e0
mov r11, r13
mov rcx, qword [rsp + 0x20]
add rax, rcx
mov qword [rsp + 0x120], rax
jmp 0x1000e59e0
mov r11, rbp
mov rcx, qword [rsp + 0x20]
add dword [rsp + 0x120], ecx
xor r12d, r12d
test r11, r11
je 0x1000e5a3c
movzx ecx, byte [rsp + r12 + 0x120]
inc r12
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 r12, r11
jb 0x1000e59e8
mov dword [rsp + 0xb4], edx
mov dword [rsp + 0xb0], r9d
mov rax, qword [rsp + 0x30]
add r11, rax
jmp 0x1000e5876
mov r10, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x80]
xor r8d, r8d
mov bl, r8b
sub r10, r11
je 0x1000e5abb
movzx ecx, byte [r11 + r8]
inc r8
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
add r9d, edx
mov dword [rsp + 0xb4], edx
mov dword [rsp + 0xb0], r9d
cmp r8, r10
jb 0x1000e5a6b
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
cmp rcx, r13
mov al, byte [rsp + rax + 0xb0]
mov byte [rsp + rcx + 0x1c7], al
jb 0x1000e5abd
mov eax, 0x96a192eb
mov r9, r14
mov rax, qword [rsp + 0x1c8]
and r9d, 7
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x20], r9
je 0x1000e6028
mov edi, dword [rsp + 0x68]
xor r10d, r10d
mov r8d, edi
not r8d
mov dword [rsp + 0x58], r10d
xor esi, esi
xor r11d, r11d
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x50], r8d
test r9d, r9d
jle 0x1000e5b73
mov rax, qword [rsp + 0x30]
lea r8d, [r10 + 0x38]
movzx edx, byte [rax]
cmp r11d, ebp
jge 0x1000e5b42
lea ecx, [r8 - 0x20]
shl edx, cl
or esi, edx
jmp 0x1000e5b4a
mov ecx, r8d
shl edx, cl
or r10d, edx
inc r11d
inc rax
sub r8d, r13d
cmp r11d, r9d
jl 0x1000e5b30
mov r8d, dword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1c8]
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x58], r10d
movzx r10d, word [rsp + 0x1ce]
mov ecx, eax
xor ecx, r8d
movzx r11d, ax
mov r14d, dword [rsp + 0x1cc]
movzx r9d, word [rsp + 0x1ca]
mov esi, r14d
sub esi, ecx
xor esi, edi
movzx edi, r14w
xor r14d, eax
mov ecx, esi
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 esi, ecx
mov edx, esi
mov ecx, r10d
xor ecx, esi
ror edx, 2
imul ecx, r9d
xor edx, ecx
xor r8d, edx
mov edx, edi
xor r14d, r8d
mov ecx, r8d
ror ecx, 8
xor ecx, r11d
imul ecx, edi
xor esi, ecx
mov ecx, eax
xor r14d, esi
xor ecx, r14d
rol ecx, 6
imul edx, ecx
mov ecx, r14d
shr ecx, 9
sub edx, ecx
xor esi, edx
mov edx, r11d
mov ecx, esi
xor edx, esi
shr ecx, 3
imul edx, r9d
xor edx, ecx
mov ecx, r11d
xor r14d, edx
mov edx, dword [rsp + 0x1cc]
mov r8d, r14d
add edx, r14d
rol edx, 0xa
rol r8d, 7
imul ecx, edx
add r8d, ecx
mov edx, edi
xor esi, r8d
mov ecx, esi
mov r8d, dword [rsp + 0x1cc]
xor edx, esi
rol edx, 6
rol ecx, 9
imul r10d, edx
add ecx, r10d
xor r14d, ecx
mov edx, r14d
mov ecx, r9d
xor ecx, r14d
ror edx, 3
imul ecx, edi
sub ecx, edx
xor esi, ecx
mov ecx, esi
sub ecx, r9d
xor ecx, r8d
xor r14d, ecx
mov edx, r14d
mov ecx, r14d
xor r14d, dword [rsp + 0x58]
sub edx, r8d
mov r8d, r14d
xor r9d, r9d
ror edx, 0xb
ror ecx, 0x10
imul r11d, edx
sub r11d, ecx
xor r11d, dword [rsp + 0x38]
xor esi, r11d
mov rcx, qword [rsp + 0x20]
mov edx, esi
test ecx, ecx
jle 0x1000e5cd9
mov rax, r12
cmp r9d, ebp
jge 0x1000e5cb7
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000e5cc4
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000e5ca6
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1c8]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000e600f
sub ebp, ecx
shl ebp, 3
mov ecx, ebp
shr r14d, cl
shl r14d, cl
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x58]
mov r11, qword [rsp + 0x40]
mov rcx, r11
shr rcx, 3
mov qword [rsp + 0x20], rcx
test rcx, rcx
je 0x1000e5f5b
movzx ecx, word [rsp + 0x1ce]
mov rdi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x20]
mov r15d, dword [rsp + 0x1cc]
mov r11, qword [rsp + 0x70]
mov r8d, r15d
mov dword [rsp + 0x68], ecx
xor r8d, eax
movzx ecx, r15w
mov dword [rsp + 0x78], ecx
movzx ecx, word [rsp + 0x1ca]
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x58], r8d
movzx ecx, ax
mov dword [rsp + 0x48], ecx
movzx r9d, byte [rdi + 4]
movzx r10d, byte [rdi + 1]
movzx ecx, byte [rdi]
mov edx, r15d
shl ecx, 8
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, r13
shl r9d, 8
or r9d, ecx
mov ecx, eax
xor r14d, r9d
xor ecx, r14d
sub edx, ecx
xor edx, r10d
xor esi, edx
movzx edx, word [rsp + 0x1ce]
mov ecx, esi
ror ecx, 0xc
sub ecx, edx
mov edx, dword [rsp + 0x78]
imul ecx, edx
xor r14d, ecx
mov ecx, r14d
not ecx
ror ecx, 0xc
add ecx, edx
movzx edx, word [rsp + 0x1ce]
imul ecx, edx
xor esi, ecx
mov edx, esi
movzx ecx, word [rsp + 0x1ce]
xor ecx, esi
ror edx, 2
imul ecx, dword [rsp + 0x50]
xor edx, ecx
xor r14d, edx
mov ecx, r14d
xor r14d, r8d
ror ecx, 8
mov edx, dword [rsp + 0x78]
xor ecx, dword [rsp + 0x48]
imul ecx, edx
xor esi, ecx
xor r14d, esi
mov ecx, eax
xor ecx, r14d
rol ecx, 6
imul edx, ecx
mov ecx, r14d
shr ecx, 9
sub edx, ecx
movzx ecx, word [rsp + 0x1ca]
xor esi, edx
mov edx, dword [rsp + 0x48]
xor edx, esi
imul edx, ecx
mov ecx, esi
shr ecx, 3
xor edx, ecx
mov ecx, dword [rsp + 0x48]
xor r14d, edx
mov r8d, r14d
lea edx, [r15 + r14]
rol edx, 0xa
rol r8d, 7
imul ecx, edx
add r8d, ecx
xor esi, r8d
mov ecx, esi
mov r8d, dword [rsp + 0x78]
mov edx, r8d
xor edx, esi
rol edx, 6
rol ecx, 9
imul edx, dword [rsp + 0x68]
add ecx, edx
xor r14d, ecx
movzx ecx, word [rsp + 0x1ca]
xor ecx, r14d
mov edx, r14d
ror edx, 3
imul ecx, r8d
sub ecx, edx
xor esi, ecx
mov ecx, esi
movzx edx, word [rsp + 0x1ca]
sub ecx, edx
mov edx, dword [rsp + 0x48]
xor ecx, r15d
xor r14d, ecx
mov r8d, r14d
mov ecx, r14d
xor r14d, ebp
mov ebp, r9d
sub r8d, r15d
ror r8d, 0xb
ror ecx, 0x10
imul edx, r8d
sub edx, ecx
mov r8d, dword [rsp + 0x58]
xor edx, dword [rsp + 0x38]
mov dword [rsp + 0x38], r10d
xor esi, edx
mov byte [r11 + 3], sil
mov byte [r11 + 7], r14b
xor bl, sil
xor bl, r14b
ror esi, 8
ror r14d, 8
mov byte [r11 + 2], sil
mov byte [r11 + 6], r14b
xor bl, sil
ror esi, 8
xor bl, r14b
mov byte [r11 + 1], sil
ror r14d, 8
mov byte [r11 + 5], r14b
xor bl, sil
ror esi, 8
mov byte [r11], sil
xor bl, r14b
ror r14d, 8
mov cl, r14b
xor cl, sil
mov byte [r11 + 4], r14b
add r11, r13
xor bl, cl
ror esi, 8
ror r14d, 8
sub r12, 1
jne 0x1000e5d5d
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x40]
mov r15, 0xfffffffffffff000
cmp bl, byte [rdi + r11 + 8]
je 0x1000e6053
call fcn.100058248
mov rbx, rax
mov r8d, 0xffff
lea r12, [0x1001094ec]
and rbx, r15
mov rax, qword [rsp + 0xe0]
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
mov qword [rax + 0x10], r12
lea r11, [r10 + 0xfff]
mov rax, qword [0x1004c43a0]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1000e5fa6
mov qword [0x1004c43a0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd8]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], r8
jmp 0x1000e6049
xor r14d, r14d
test ecx, ecx
jns 0x1000e5cf1
neg ecx
shl ecx, 3
shr esi, cl
shl esi, cl
jmp 0x1000e5cf1
mov ecx, dword [rsp + 0x68]
mov ebp, ecx
mov dword [rsp + 0x38], ecx
xor r14d, r14d
xor esi, esi
not ebp
jmp 0x1000e5cfa
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r13
cmp r10, r11
jb 0x1000e603e
jmp 0x1000e24b1
mov rax, qword [0x1000487b8]
lea r14, [0x100000000]
mov rsi, rdi
mov rbp, r14
sub rsi, r12
sub rbp, rax
jne 0x1000e6078
test rsi, rsi
je 0x1000e24a6
xor r8d, r8d
lea r15, [0x100000000]
mov rcx, qword [0x1001d1e58]
mov rbx, r12
lea r9d, [rcx - 1]
sub rbx, rdi
sub edi, r14d
lea r13d, [r11 + rdi]
test r9d, r9d
js 0x1000e60d0
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x1d1e5c]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x1000e60c5
lea r9d, [rdx - 1]
jmp 0x1000e60cb
jbe 0x1000e60d8
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000e609f
movsxd r11, r8d
jmp 0x1000e615a
mov r11, rdx
jmp 0x1000e615a
mov edx, dword [r15 + r11*4 + 0x1d1e5c]
mov eax, edx
and eax, 0xfffffff
cmp eax, r13d
jae 0x1000e24a6
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 0x1000e6136
sub r8d, 1
je 0x1000e6131
cmp r8d, 1
jne 0x1000e613c
mov r10, rbp
jmp 0x1000e613c
mov r10, rsi
jmp 0x1000e613c
mov r10, rbp
sub r10, rsi
sub edx, 2
je 0x1000e614c
cmp edx, 1
jne 0x1000e6157
add qword [r9 + rbx], r10
jmp 0x1000e6150
add dword [r9 + rbx], r10d
mov rcx, qword [0x1001d1e58]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000e60dd
jmp 0x1000e24a6
mov edx, dword [0x10000003c]
cmp rdi, r13
jb 0x1000e919a
movsxd rax, edx
mov ecx, dword [rax + r13 + 0x50]
add rcx, r13
cmp rdi, rcx
jae 0x1000e6d5e
mov ecx, dword [0x100010af8]
mov r8d, edi
sub r8d, r13d
sub ecx, r11d
mov r9d, ebp
js 0x1000e61d3
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x2fced0]
and eax, r15d
cmp r8d, eax
jae 0x1000e61c4
lea ecx, [rdx - 1]
jmp 0x1000e61ce
jbe 0x1000e6344
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000e61a1
mov rdx, rbp
cmp rdx, rbp
je 0x1000e6d58
mov r8, rbp
mov r11d, dword [0x1002f8888]
mov eax, dword [rdx]
shr rax, 2
mov r14d, dword [rdx + 4]
and r14, r15
and eax, 7
sub r11, r14
mov qword [rsp + 0x58], r14
lea rdi, [rax + rdx + 8]
mov r9d, edi
inc r11
sub r9d, r13d
mov r10, r11
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x68], r9d
cmp r11, rbp
je 0x1000e6256
mov rax, qword [0x1004c43a0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r10, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
cmp r10, rbp
jne 0x1000e6228
mov qword [0x1004c43a0], rax
mov ecx, r9d
mov rax, r8
xor edx, edx
div r11
lea r12, [rsi + rdx]
mov rdx, r14
mov qword [rsp + 0x80], r12
mov r8, r12
mov eax, 0x3b1c4da9
mov bl, bpl
mov r11, qword [rdi + r14]
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x170], r11
mov eax, 0x570a6ef7
mov rax, qword [0x1000487b8]
mov r11, qword [rsp + 0x170]
and r11, r15
mov r9d, dword [rsp + 0x174]
and r9, r15
mov r15, 0xfffffffffffff000
mov rcx, r13
mov qword [rsp + 0xc0], rbp
mov ebp, 4
add r11, r13
lea r13d, [rbp + 4]
sub rcx, rax
mov qword [rsp + 0x30], rcx
jne 0x1000e6363
xor r8d, r8d
test r9, r9
je 0x1000e666f
mov r10d, 0xab30505f
mov edx, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xc4]
movzx eax, byte [r8 + r11]
inc r8
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 + 0xc4], ecx
mov dword [rsp + 0xc0], edx
cmp r8, r9
jb 0x1000e62fd
jmp 0x1000e666f
mov eax, dword [rbx + r10*8 + 0x2fced0]
mov edx, dword [rbx + rdx*8 + 0x2fced4]
and edx, r12d
and eax, r15d
add edx, eax
add rdx, r13
jmp 0x1000e61d6
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
lea rax, [r11 + r9]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x48], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov r10d, eax
and r10, r15
mov qword [rsp + 0x20], r10
mov ecx, eax
add rcx, r9
sub rax, r10
mov qword [rsp + 0x70], rax
mov rax, rcx
and rax, r15
sub rcx, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x78], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x50], rcx
jmp 0x1000e63d6
mov eax, dword [r8]
cmp rax, r10
jae 0x1000e63db
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000e63c7
xor esi, esi
mov r10d, 0xfff
cmp r8, rcx
je 0x1000e641e
mov eax, dword [r8]
cmp rax, qword [rsp + 0x20]
jne 0x1000e641e
mov ecx, dword [r8 + 4]
sub rcx, r13
shr rcx, 1
je 0x1000e641e
mov r9, qword [rsp + 0x70]
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000e641e
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000e6407
lea r15, [0x100000000]
mov edi, 0xab30505f
mov rbx, qword [rsp + 0x30]
mov edx, dword [rsp + 0xc4]
mov r9d, dword [rsp + 0xc0]
mov r14, qword [rsp + 0x50]
mov ecx, 0xf000
cmp r8, r14
je 0x1000e65f8
mov eax, dword [r8]
cmp rax, qword [rsp + 0x40]
ja 0x1000e65f8
mov r12d, dword [r8 + 4]
lea rax, [r12 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000e648e
add r8, r12
cmp r8, r14
je 0x1000e65f8
mov eax, dword [r8]
cmp rax, qword [rsp + 0x40]
ja 0x1000e65f8
xor esi, esi
jmp 0x1000e645f
mov eax, dword [r8]
cmp rax, qword [rsp + 0x40]
jne 0x1000e64ac
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x78]
jae 0x1000e65f8
mov rax, rsi
inc rsi
mov qword [rsp + 0x70], rax
test word [r8 + rax*2 + 8], cx
je 0x1000e6448
movzx ecx, word [r8 + rax*2 + 8]
xor r14d, r14d
and ecx, r10d
add ecx, dword [r8]
add rcx, r15
mov rax, rcx
sub rax, r11
mov qword [rsp + 0x30], rcx
je 0x1000e6526
mov r12, rax
movzx eax, byte [r14 + r11]
inc r14
sub eax, 0x54cfafa1
add r9d, eax
add eax, edx
imul rax, rdi
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 + 0xc4], edx
add r9d, edx
cmp r14, r12
mov dword [rsp + 0xc0], r9d
jb 0x1000e64e1
mov rax, qword [rcx]
mov rcx, qword [rsp + 0x70]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
cmp ecx, 3
mov qword [rsp + 0x130], rax
je 0x1000e6552
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000e6558
mov r11d, 2
mov rcx, rbx
neg rcx
mov qword [rsp + 0x20], rcx
sub r11d, 2
je 0x1000e658a
cmp r11d, 1
je 0x1000e6575
or rcx, 0xffffffffffffffff
jmp 0x1000e6599
mov rcx, qword [rsp + 0x20]
add rax, rcx
mov qword [rsp + 0x130], rax
mov rcx, r13
jmp 0x1000e6599
mov rcx, qword [rsp + 0x20]
add dword [rsp + 0x130], ecx
mov rcx, rbp
xor r11d, r11d
test rcx, rcx
je 0x1000e65ea
movzx eax, byte [rsp + r11 + 0x130]
inc r11
sub eax, 0x54cfafa1
add r9d, eax
add eax, edx
imul rax, rdi
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
imul edx, edx, 0xab30505f
ror edx, 0xb
add r9d, edx
cmp r11, rcx
jb 0x1000e65a1
mov dword [rsp + 0xc4], edx
mov dword [rsp + 0xc0], r9d
mov rax, qword [rsp + 0x30]
lea r11, [rcx + rax]
jmp 0x1000e643e
xor ecx, ecx
mov bl, cl
mov r12, qword [rsp + 0x80]
mov r8, qword [rsp + 0x48]
sub r8, r11
mov r15, 0xfffffffffffff000
mov rdi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
je 0x1000e666f
mov r14d, 0xab30505f
movzx eax, byte [rcx + r11]
inc rcx
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 + 0xc4], edx
add r9d, edx
mov dword [rsp + 0xc0], r9d
cmp rcx, r8
jb 0x1000e6625
mov r14, qword [rsp + 0x58]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0xc0]
cmp rcx, r13
mov byte [rsp + rcx + 0x18f], al
jb 0x1000e6671
mov eax, 0x2e92d027
mov r9, r14
and r9d, 7
mov r11d, dword [rsp + 0x68]
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r9
je 0x1000e6c1a
xor r10d, r10d
mov r14d, r11d
xor esi, esi
mov dword [rsp + 0x38], r10d
xor edi, edi
mov dword [rsp + 0x48], esi
not r14d
test r9d, r9d
jle 0x1000e671b
mov rax, qword [rsp + 0x30]
lea r8d, [r10 + 0x38]
cmp edi, ebp
movzx edx, byte [rax]
jge 0x1000e66f0
lea ecx, [r8 - 0x20]
shl edx, cl
or esi, edx
jmp 0x1000e66f8
mov ecx, r8d
shl edx, cl
or r10d, edx
inc edi
inc rax
sub r8d, r13d
cmp edi, r9d
jl 0x1000e66df
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x190]
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x38], r10d
movzx r10d, ax
movzx edi, word [rsp + 0x194]
movzx r9d, word [rsp + 0x196]
mov ecx, eax
mov edx, r11d
xor edx, dword [rsp + 0x194]
sub ecx, edx
xor r14d, ecx
mov ecx, r14d
shr ecx, 0xf
mov esi, r14d
sub esi, r10d
imul esi, edi
sub esi, ecx
xor esi, r11d
mov edx, esi
mov r8d, esi
movzx r11d, word [rsp + 0x192]
xor r8d, r9d
rol r8d, 3
ror edx, 2
mov ecx, r11d
imul ecx, r8d
mov r8d, dword [rsp + 0x194]
add edx, ecx
xor r14d, edx
mov edx, r14d
sub r8d, r14d
mov ecx, r10d
rol r8d, 6
ror edx, 0xb
imul ecx, r8d
xor edx, ecx
xor esi, edx
mov r8d, dword [rsp + 0x194]
mov ecx, esi
not ecx
ror ecx, 2
add ecx, r9d
imul ecx, edi
xor r14d, ecx
mov ecx, r14d
mov edx, r14d
xor ecx, r11d
ror edx, 7
imul ecx, edi
sub ecx, edx
xor esi, ecx
mov edx, r11d
mov ecx, esi
xor ecx, r8d
rol ecx, 6
imul edx, ecx
mov ecx, esi
shr ecx, 6
sub edx, ecx
xor r14d, edx
mov ecx, r14d
mov edx, r8d
sub edx, r14d
ror edx, 9
ror ecx, 0xc
imul r10d, edx
sub r10d, ecx
xor esi, r10d
mov edx, esi
mov ecx, esi
sub edx, eax
ror edx, 9
ror ecx, 6
imul r9d, edx
add ecx, r9d
mov edx, eax
xor r14d, ecx
mov ecx, r14d
sub edx, r14d
ror edx, 8
ror ecx, 7
imul edi, edx
add ecx, edi
xor esi, ecx
mov edx, esi
xor r9d, r9d
xor edx, r8d
mov ecx, esi
rol edx, 2
rol ecx, 8
imul r11d, edx
sub r11d, ecx
mov rcx, qword [rsp + 0x20]
xor r14d, r11d
mov r11d, dword [rsp + 0x48]
xor r11d, r14d
xor r14d, dword [rsp + 0x38]
xor r11d, esi
xor r11d, eax
xor r11d, r8d
mov r8d, r14d
test ecx, ecx
mov edx, r11d
jle 0x1000e6895
mov rax, r12
cmp r9d, ebp
jge 0x1000e6873
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000e6880
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000e6862
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x190]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000e6bff
sub ebp, ecx
shl ebp, 3
mov ecx, ebp
shr r14d, cl
shl r14d, cl
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
shr rcx, 3
test rcx, rcx
mov qword [rsp + 0x20], rcx
je 0x1000e6b4c
movzx ecx, ax
mov rdi, qword [rsp + 0x30]
movzx r8d, word [rsp + 0x194]
mov r12d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x20]
mov dword [rsp + 0x78], ecx
movzx ecx, word [rsp + 0x192]
mov dword [rsp + 0x50], ecx
movzx r10d, byte [rdi + 1]
movzx ecx, byte [rdi]
movzx r9d, byte [rdi + 4]
shl ecx, 8
shl r9d, 8
or r10d, ecx
shl r10d, 8
mov edx, eax
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]
xor r11d, r10d
shl r9d, 8
or r9d, ecx
movzx ecx, byte [rdi + 7]
add rdi, r13
shl r9d, 8
or r9d, ecx
mov ecx, r11d
xor ecx, dword [rsp + 0x194]
sub edx, ecx
xor edx, r9d
xor r14d, edx
mov ecx, r14d
mov edx, r14d
sub edx, dword [rsp + 0x78]
shr ecx, 0xf
imul edx, r8d
sub edx, ecx
movzx ecx, word [rsp + 0x196]
xor r11d, edx
mov r8d, r11d
mov edx, r11d
xor r8d, ecx
movzx ecx, word [rsp + 0x192]
rol r8d, 3
ror edx, 2
imul ecx, r8d
mov r8d, dword [rsp + 0x194]
add edx, ecx
mov ecx, dword [rsp + 0x78]
xor r14d, edx
mov edx, r14d
sub r8d, r14d
rol r8d, 6
ror edx, 0xb
imul ecx, r8d
movzx r8d, word [rsp + 0x194]
xor edx, ecx
xor r11d, edx
mov ecx, r11d
movzx edx, word [rsp + 0x196]
not ecx
ror ecx, 2
add ecx, edx
imul ecx, r8d
xor r14d, ecx
mov edx, r14d
mov ecx, r14d
xor ecx, dword [rsp + 0x50]
ror edx, 7
imul ecx, r8d
sub ecx, edx
movzx edx, word [rsp + 0x192]
xor r11d, ecx
mov ecx, r11d
mov r8d, dword [rsp + 0x194]
xor ecx, dword [rsp + 0x194]
rol ecx, 6
imul edx, ecx
mov ecx, r11d
shr ecx, 6
sub edx, ecx
xor r14d, edx
sub r8d, r14d
mov ecx, dword [rsp + 0x78]
mov edx, r14d
ror r8d, 9
ror edx, 0xc
imul ecx, r8d
sub ecx, edx
xor r11d, ecx
mov r8d, r11d
sub r8d, eax
mov edx, r11d
ror r8d, 9
ror edx, 6
movzx ecx, word [rsp + 0x196]
imul ecx, r8d
add edx, ecx
mov r8d, eax
movzx ecx, word [rsp + 0x194]
xor r14d, edx
mov edx, r14d
sub r8d, r14d
ror r8d, 8
ror edx, 7
imul ecx, r8d
add edx, ecx
movzx ecx, word [rsp + 0x192]
xor r11d, edx
mov r8d, r11d
mov edx, r11d
xor r8d, dword [rsp + 0x194]
rol r8d, 2
rol edx, 8
imul ecx, r8d
movzx r8d, word [rsp + 0x194]
sub ecx, edx
xor r14d, ecx
xor r12d, r14d
xor r14d, ebp
mov ebp, r9d
xor r11d, r12d
mov r12d, r10d
xor r11d, eax
xor r11d, dword [rsp + 0x194]
mov byte [rsi + 3], r11b
mov byte [rsi + 7], r14b
xor bl, r11b
xor bl, r14b
ror r11d, 8
ror r14d, 8
xor bl, r11b
mov byte [rsi + 2], r11b
mov byte [rsi + 6], r14b
ror r11d, 8
mov byte [rsi + 1], r11b
xor bl, r14b
ror r14d, 8
mov byte [rsi + 5], r14b
xor bl, r11b
ror r11d, 8
xor bl, r14b
ror r14d, 8
mov byte [rsi], r11b
mov cl, r14b
mov byte [rsi + 4], r14b
xor cl, r11b
add rsi, r13
xor bl, cl
ror r11d, 8
ror r14d, 8
sub r15, 1
jne 0x1000e6900
mov rsi, qword [rsp + 0x58]
mov r15, 0xfffffffffffff000
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x60]
cmp bl, byte [rsi + rdi + 8]
je 0x1000e6c44
call fcn.100058248
mov r8d, 0xffff
lea r12, [0x1001094ec]
mov rbx, rax
and rbx, r15
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r12
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
mov rax, qword [0x1004c43a0]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1000e6b96
mov qword [0x1004c43a0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd8]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], r8
jmp 0x1000e6c3a
xor r14d, r14d
test ecx, ecx
jns 0x1000e68ad
neg ecx
shl ecx, 3
shr r11d, cl
shl r11d, cl
jmp 0x1000e68ad
mov ebp, r11d
not ebp
mov dword [rsp + 0x48], r11d
xor r14d, r14d
xor r11d, r11d
jmp 0x1000e68b6
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r13
cmp r10, r11
jb 0x1000e6c2f
jmp 0x1000e24b1
lea r14, [0x100000000]
mov rbp, rdi
sub rbp, r12
mov r13, r14
mov rax, qword [0x1000487b8]
sub r13, rax
jne 0x1000e6c69
test rbp, rbp
je 0x1000e24a6
mov rbx, r12
mov rcx, qword [0x1001d1e58]
xor r8d, r8d
sub rbx, rdi
sub edi, r14d
lea r15, [0x100000000]
add esi, edi
lea r9d, [rcx - 1]
test r9d, r9d
js 0x1000e6cbf
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x1d1e5c]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x1000e6cb4
lea r9d, [rdx - 1]
jmp 0x1000e6cba
jbe 0x1000e6cc7
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000e6c8e
movsxd r11, r8d
jmp 0x1000e6d48
mov r11, rdx
jmp 0x1000e6d48
mov edx, dword [r15 + r11*4 + 0x1d1e5c]
mov eax, edx
and eax, 0xfffffff
cmp eax, esi
jae 0x1000e24a6
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 0x1000e6d24
sub r8d, 1
je 0x1000e6d1f
cmp r8d, 1
jne 0x1000e6d2a
mov r10, r13
jmp 0x1000e6d2a
mov r10, rbp
jmp 0x1000e6d2a
mov r10, r13
sub r10, rbp
sub edx, 2
je 0x1000e6d3a
cmp edx, 1
jne 0x1000e6d45
add qword [r9 + rbx], r10
jmp 0x1000e6d3e
add dword [r9 + rbx], r10d
mov rcx, qword [0x1001d1e58]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000e6ccc
jmp 0x1000e24a6
mov edx, dword [0x10000003c]
cmp rdi, r13
jb 0x1000e919a
movsxd rax, edx
mov ecx, dword [rax + r13 + 0x50]
add rcx, r13
cmp rdi, rcx
jae 0x1000e79c0
mov r9d, ebp
mov ecx, dword [0x10012779c]
mov r8d, edi
sub r8d, r13d
sub ecx, r11d
js 0x1000e6dc3
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x3a368]
shr eax, 1
and eax, r15d
cmp r8d, eax
jae 0x1000e6db4
lea ecx, [rdx - 1]
jmp 0x1000e6dbe
jbe 0x1000e6f5a
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000e6d8f
mov rdx, rbp
cmp rdx, rbp
je 0x1000e79ba
mov r8, rbp
mov r11d, dword [0x1002f8888]
mov r14d, dword [rdx]
mov rax, r14
shr r14, 4
shr rax, 1
sub r11, r14
mov qword [rsp + 0x50], r14
and eax, 7
inc r11
mov r10, r11
lea rdi, [rax + rdx + 8]
mov r9d, edi
mov qword [rsp + 0x60], rdi
sub r9d, r13d
mov dword [rsp + 0x78], r9d
cmp r11, rbp
je 0x1000e6e46
mov rax, qword [0x1004c43a0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r10, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
cmp r10, rbp
jne 0x1000e6e18
mov qword [0x1004c43a0], rax
mov rax, r8
mov ecx, r9d
xor edx, edx
div r11
lea r12, [rsi + rdx]
mov qword [rsp + 0x80], r12
mov r8, r12
mov rdx, r14
mov eax, 0x9e9d90dd
mov bl, bpl
mov r11, qword [rdi + r14]
mov qword [rsp + 0x180], r11
lea rcx, [rsp + 0x180]
mov eax, 0x92fe8dc0
mov rax, qword [0x1000487b8]
mov rcx, r13
mov r11, qword [rsp + 0x180]
and r11, r15
mov r9d, dword [rsp + 0x184]
and r9, r15
mov r15, 0xfffffffffffff000
mov qword [rsp + 0xd0], rbp
mov ebp, 4
add r11, r13
lea r13d, [rbp + 4]
sub rcx, rax
mov qword [rsp + 0x30], rcx
jne 0x1000e6f7b
xor esi, esi
test r9, r9
je 0x1000e72ef
mov r10d, dword [rsp + 0xd0]
mov r8d, 0xd4afbe6b
mov ecx, dword [rsp + 0xd4]
movzx eax, byte [rsi + r11]
inc rsi
sub eax, 0x2b504195
add r10d, eax
add eax, ecx
imul rax, r8
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, r8
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x40]
shr rax, 0x20
add ecx, eax
add r10d, ecx
cmp rsi, r9
mov dword [rsp + 0xd4], ecx
mov dword [rsp + 0xd0], r10d
jb 0x1000e6eed
jmp 0x1000e72ef
mov eax, dword [rbx + r10*8 + 0x3a368]
mov edx, dword [rbx + rdx*8 + 0x3a36c]
shr eax, 1
and edx, r12d
and eax, r15d
add edx, eax
add rdx, r13
jmp 0x1000e6dc6
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
mov r8d, dword [rcx + rdx + 0xb0]
lea rax, [r11 + r9]
mov qword [rsp + 0x58], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov r10d, eax
and r10, r15
mov qword [rsp + 0x20], r10
mov ecx, eax
add rcx, r9
sub rax, r10
mov qword [rsp + 0x70], rax
mov rax, rcx
and rax, r15
mov qword [rsp + 0x40], rax
sub rcx, rax
mov qword [rsp + 0x48], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x68], rcx
jmp 0x1000e6fee
mov eax, dword [r8]
cmp rax, r10
jae 0x1000e6ff3
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000e6fdf
xor esi, esi
mov r10d, 0xfff
cmp r8, rcx
je 0x1000e7036
mov eax, dword [r8]
cmp rax, qword [rsp + 0x20]
jne 0x1000e7036
mov ecx, dword [r8 + 4]
sub rcx, r13
shr rcx, 1
je 0x1000e7036
mov r9, qword [rsp + 0x70]
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000e7036
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000e701f
mov edx, dword [rsp + 0xd4]
mov r9d, dword [rsp + 0xd0]
mov rbx, qword [rsp + 0x30]
lea r15, [0x100000000]
mov r14d, 0xd4afbe6b
mov rdi, qword [rsp + 0x68]
mov ecx, 0xf000
cmp r8, rdi
je 0x1000e7258
mov eax, dword [r8]
cmp rax, qword [rsp + 0x40]
ja 0x1000e7258
mov r12d, dword [r8 + 4]
lea rax, [r12 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000e70a7
add r8, r12
cmp r8, rdi
je 0x1000e7258
mov eax, dword [r8]
cmp rax, qword [rsp + 0x40]
ja 0x1000e7258
xor esi, esi
jmp 0x1000e7078
mov eax, dword [r8]
cmp rax, qword [rsp + 0x40]
jne 0x1000e70c5
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x48]
jae 0x1000e7258
mov rax, rsi
mov qword [rsp + 0x38], rax
inc rsi
test word [r8 + rax*2 + 8], cx
je 0x1000e7061
movzx eax, word [r8 + rax*2 + 8]
xor edi, edi
and eax, r10d
add eax, dword [r8]
add rax, r15
mov rcx, rax
mov qword [rsp + 0x30], rax
sub rcx, r11
je 0x1000e7166
mov r12, rcx
movzx eax, byte [rdi + r11]
inc rdi
sub eax, 0x2b504195
add r9d, eax
add eax, edx
imul rax, r14
mov qword [rsp + 0x70], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x70]
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 + 0x70], rax
shr rax, 0x20
mov edx, dword [rsp + 0x70]
add edx, eax
add r9d, edx
cmp rdi, r12
mov dword [rsp + 0xd4], edx
mov dword [rsp + 0xd0], r9d
jb 0x1000e70f9
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x38]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
mov qword [rsp + 0xf0], rax
cmp ecx, 3
je 0x1000e7192
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000e7198
mov r11d, 2
mov rcx, rbx
neg rcx
mov qword [rsp + 0x20], rcx
sub r11d, 2
je 0x1000e71ca
cmp r11d, 1
je 0x1000e71b5
or r11, 0xffffffffffffffff
jmp 0x1000e71d9
mov r11, r13
mov rcx, qword [rsp + 0x20]
add rax, rcx
mov qword [rsp + 0xf0], rax
jmp 0x1000e71d9
mov rcx, qword [rsp + 0x20]
add dword [rsp + 0xf0], ecx
mov r11, rbp
xor edi, edi
test r11, r11
je 0x1000e724b
movzx eax, byte [rsp + rdi + 0xf0]
inc rdi
sub eax, 0x2b504195
add r9d, eax
add eax, edx
imul rax, r14
mov qword [rsp + 0x70], rax
mov ecx, dword [rsp + 0x70]
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 + 0x70], rax
mov edx, dword [rsp + 0x70]
shr rax, 0x20
add edx, eax
add r9d, edx
cmp rdi, r11
jb 0x1000e71e0
mov dword [rsp + 0xd4], edx
mov dword [rsp + 0xd0], r9d
mov rax, qword [rsp + 0x30]
add r11, rax
jmp 0x1000e7057
mov r12, qword [rsp + 0x80]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
mov r15, 0xfffffffffffff000
mov rsi, qword [rsp + 0x58]
xor r10d, r10d
mov bl, r10b
sub rsi, r11
je 0x1000e72ef
mov r8d, 0xd4afbe6b
movzx eax, byte [r10 + r11]
inc r10
sub eax, 0x2b504195
add r9d, eax
add eax, edx
imul rax, r8
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, r8
mov qword [rsp + 0x40], rax
shr rax, 0x20
mov edx, dword [rsp + 0x40]
add edx, eax
add r9d, edx
mov dword [rsp + 0xd4], edx
mov dword [rsp + 0xd0], r9d
cmp r10, rsi
jb 0x1000e7287
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
cmp rcx, r13
mov al, byte [rsp + rax + 0xd0]
mov byte [rsp + rcx + 0x19f], al
jb 0x1000e72f1
mov eax, 0xa850becd
mov rax, qword [rsp + 0x1a0]
mov r9, r14
mov qword [rsp + 0x30], rdi
and r9d, 7
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r9
je 0x1000e7878
xor r10d, r10d
mov r8d, dword [rsp + 0x78]
mov esi, r8d
mov dword [rsp + 0x38], r10d
xor edi, edi
not esi
mov dword [rsp + 0x48], edi
xor r11d, r11d
test r9d, r9d
jle 0x1000e73a2
lea r8d, [r10 + 0x38]
mov rax, qword [rsp + 0x30]
cmp r11d, ebp
movzx edx, byte [rax]
jge 0x1000e7371
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x1000e7379
mov ecx, r8d
shl edx, cl
or r10d, edx
inc r11d
inc rax
sub r8d, r13d
cmp r11d, r9d
jl 0x1000e735f
mov r8d, dword [rsp + 0x78]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1a0]
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x38], r10d
movzx r9d, ax
movzx edi, word [rsp + 0x1a4]
movzx r10d, word [rsp + 0x1a2]
mov edx, r9d
movzx r11d, word [rsp + 0x1a6]
mov ecx, r8d
sub ecx, eax
sub ecx, r11d
xor esi, ecx
mov r14d, esi
mov ecx, edi
xor edx, esi
rol edx, 3
ror r14d, 9
imul ecx, edx
add r14d, ecx
mov edx, r10d
mov ecx, r11d
xor r14d, r8d
xor ecx, r14d
rol ecx, 6
imul edx, ecx
mov ecx, r14d
mov r8d, dword [rsp + 0x1a4]
shr ecx, 3
add edx, ecx
xor esi, edx
xor r8d, esi
ror r8d, 0xc
mov edx, esi
rol edx, 0xa
mov ecx, r9d
imul ecx, r8d
xor edx, ecx
mov ecx, r11d
mov r8d, eax
xor r14d, edx
mov edx, r14d
xor r8d, r14d
rol r8d, 1
rol edx, 0xf
imul ecx, r8d
add edx, ecx
xor esi, edx
mov ecx, esi
not ecx
ror ecx, 0xb
add ecx, edi
imul ecx, r9d
xor r14d, ecx
mov ecx, r14d
mov edx, r14d
sub edx, edi
shr ecx, 0xc
imul edx, r10d
sub edx, ecx
xor esi, edx
mov ecx, esi
mov edx, esi
sub edx, dword [rsp + 0x1a4]
ror edx, 0xa
ror ecx, 7
imul r9d, edx
add ecx, r9d
xor r14d, ecx
mov ecx, r14d
mov edx, r14d
sub edx, eax
ror edx, 0xf
rol ecx, 3
imul r11d, edx
xor ecx, r11d
xor esi, ecx
mov r8d, esi
mov ecx, edi
lea edx, [rax + rsi]
ror edx, 0xd
ror r8d, 0xb
imul ecx, edx
add r8d, ecx
xor r14d, r8d
mov edx, dword [rsp + 0x1a4]
mov ecx, r14d
xor edi, r14d
mov r8d, dword [rsp + 0x48]
imul edi, r10d
xor r9d, r9d
ror ecx, 0xd
add ecx, edi
xor esi, ecx
mov ecx, eax
xor ecx, esi
xor esi, dword [rsp + 0x38]
sub edx, ecx
mov rcx, qword [rsp + 0x20]
xor edx, r8d
xor r14d, edx
mov edx, r14d
test ecx, ecx
mov r8d, esi
jle 0x1000e7519
mov rax, r12
cmp r9d, ebp
jge 0x1000e74f7
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000e7504
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000e74e6
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x1a0]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000e785e
sub ebp, ecx
shl ebp, 3
mov ecx, ebp
shr esi, cl
shl esi, cl
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x38]
mov r11, qword [rsp + 0x50]
mov rcx, r11
shr rcx, 3
test rcx, rcx
je 0x1000e77aa
movzx edx, ax
movzx r8d, word [rsp + 0x1a6]
mov r15, rcx
mov r11, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov r12d, dword [rsp + 0x48]
mov dword [rsp + 0x38], edx
movzx r9d, byte [rdi + 4]
movzx r10d, byte [rdi]
shl r10d, 8
movzx ecx, byte [rdi + 1]
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]
xor r14d, r10d
shl r9d, 8
or r9d, ecx
movzx ecx, byte [rdi + 7]
add rdi, r13
shl r9d, 8
or r9d, ecx
mov ecx, r14d
sub ecx, eax
sub ecx, r8d
mov r8d, edx
xor ecx, r9d
xor esi, ecx
mov edx, esi
movzx ecx, word [rsp + 0x1a4]
xor r8d, esi
rol r8d, 3
ror edx, 9
imul ecx, r8d
add edx, ecx
mov r8d, dword [rsp + 0x1a4]
xor r14d, edx
movzx edx, word [rsp + 0x1a2]
movzx ecx, word [rsp + 0x1a6]
xor ecx, r14d
rol ecx, 6
imul edx, ecx
mov ecx, r14d
shr ecx, 3
add edx, ecx
xor esi, edx
mov ecx, dword [rsp + 0x38]
xor r8d, esi
ror r8d, 0xc
mov edx, esi
rol edx, 0xa
imul ecx, r8d
mov r8d, eax
xor edx, ecx
xor r14d, edx
movzx ecx, word [rsp + 0x1a6]
xor r8d, r14d
mov edx, r14d
rol r8d, 1
rol edx, 0xf
imul ecx, r8d
movzx r8d, word [rsp + 0x1a4]
add edx, ecx
xor esi, edx
mov ecx, esi
not ecx
ror ecx, 0xb
add ecx, r8d
imul ecx, dword [rsp + 0x38]
xor r14d, ecx
mov edx, r14d
movzx ecx, word [rsp + 0x1a2]
sub edx, r8d
imul edx, ecx
mov ecx, r14d
shr ecx, 0xc
sub edx, ecx
mov ecx, dword [rsp + 0x38]
xor esi, edx
mov r8d, esi
mov edx, esi
sub r8d, dword [rsp + 0x1a4]
ror r8d, 0xa
ror edx, 7
imul ecx, r8d
add edx, ecx
xor r14d, edx
movzx ecx, word [rsp + 0x1a6]
mov edx, r14d
mov r8d, r14d
sub r8d, eax
ror r8d, 0xf
rol edx, 3
imul ecx, r8d
xor edx, ecx
xor esi, edx
lea edx, [rax + rsi]
ror edx, 0xd
mov r8d, esi
ror r8d, 0xb
movzx ecx, word [rsp + 0x1a4]
imul ecx, edx
add r8d, ecx
movzx ecx, word [rsp + 0x1a4]
xor r14d, r8d
xor ecx, r14d
mov edx, r14d
ror edx, 0xd
movzx r8d, word [rsp + 0x1a2]
imul ecx, r8d
add edx, ecx
movzx r8d, word [rsp + 0x1a6]
mov ecx, eax
xor esi, edx
mov edx, dword [rsp + 0x1a4]
xor ecx, esi
xor esi, ebp
mov ebp, r9d
sub edx, ecx
xor edx, r12d
xor r14d, edx
mov r12d, r10d
xor bl, r14b
xor bl, sil
mov edx, dword [rsp + 0x38]
mov byte [r11 + 3], r14b
ror r14d, 8
mov byte [r11 + 7], sil
ror esi, 8
xor bl, r14b
mov byte [r11 + 2], r14b
mov byte [r11 + 6], sil
ror r14d, 8
xor bl, sil
ror esi, 8
xor bl, r14b
mov byte [r11 + 1], r14b
ror r14d, 8
xor bl, sil
mov byte [r11 + 5], sil
mov byte [r11], r14b
ror esi, 8
mov byte [r11 + 4], sil
mov cl, sil
xor cl, r14b
add r11, r13
xor bl, cl
ror r14d, 8
ror esi, 8
sub r15, 1
jne 0x1000e756f
mov rdi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov r12, qword [rsp + 0x80]
mov r15, 0xfffffffffffff000
cmp bl, byte [rdi + r11 + 8]
je 0x1000e78a3
call fcn.100058248
mov rbx, rax
mov r8d, 0xffff
lea r12, [0x1001094ec]
mov rax, qword [rsp + 0xe0]
lea r10, [rax + 0x18]
and rbx, r15
mov qword [rax + 0x10], r12
mov rax, qword [0x1004c43a0]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1000e77f5
mov qword [0x1004c43a0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd8]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], r8
jmp 0x1000e7899
xor esi, esi
test ecx, ecx
jns 0x1000e752f
neg ecx
shl ecx, 3
shr r14d, cl
shl r14d, cl
jmp 0x1000e752f
xor esi, esi
xor r14d, r14d
mov ecx, dword [rsp + 0x78]
mov ebp, ecx
mov dword [rsp + 0x48], ecx
not ebp
jmp 0x1000e7538
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r13
cmp r10, r11
jb 0x1000e788e
jmp 0x1000e24b1
mov rsi, rdi
sub rsi, r12
lea r14, [0x100000000]
mov rax, qword [0x1000487b8]
mov rbp, r14
sub rbp, rax
jne 0x1000e78c8
test rsi, rsi
je 0x1000e24a6
lea r15, [0x100000000]
mov rbx, r12
xor r8d, r8d
mov rcx, qword [0x1001d1e58]
lea r9d, [rcx - 1]
sub rbx, rdi
sub edi, r14d
lea r13d, [r11 + rdi]
test r9d, r9d
js 0x1000e7920
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x1d1e5c]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x1000e7915
lea r9d, [rdx - 1]
jmp 0x1000e791b
jbe 0x1000e7928
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000e78ef
movsxd r11, r8d
jmp 0x1000e79aa
mov r11, rdx
jmp 0x1000e79aa
mov edx, dword [r15 + r11*4 + 0x1d1e5c]
mov eax, edx
and eax, 0xfffffff
cmp eax, r13d
jae 0x1000e24a6
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 0x1000e7986
sub r8d, 1
je 0x1000e7981
cmp r8d, 1
jne 0x1000e798c
mov r10, rbp
jmp 0x1000e798c
mov r10, rsi
jmp 0x1000e798c
mov r10, rbp
sub r10, rsi
sub edx, 2
je 0x1000e799c
cmp edx, 1
jne 0x1000e79a7
add qword [r9 + rbx], r10
jmp 0x1000e79a0
add dword [r9 + rbx], r10d
mov rcx, qword [0x1001d1e58]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000e792d
jmp 0x1000e24a6
mov edx, dword [0x10000003c]
cmp rdi, r13
jb 0x1000e919a
movsxd rax, edx
mov ecx, dword [rax + r13 + 0x50]
add rcx, r13
cmp rdi, rcx
jae 0x1000e859b
mov r8d, edi
mov r9d, ebp
mov ecx, dword [0x1000b304c]
sub r8d, r13d
sub ecx, r11d
js 0x1000e7a23
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x3d637c]
mov r10, rdx
and eax, r15d
cmp r8d, eax
jae 0x1000e7a14
lea ecx, [rdx - 1]
jmp 0x1000e7a1e
jbe 0x1000e7b9e
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000e79f1
mov rdx, rbp
cmp rdx, rbp
je 0x1000e8595
mov r10d, dword [0x1002f8888]
mov edi, dword [rdx]
mov r8, rbp
mov rax, rdi
shr rdi, 3
and rdi, r15
mov qword [rsp + 0x58], rdi
and eax, 7
sub r10, rdi
inc r10
mov r9, r10
lea rbx, [rax + rdx + 8]
mov qword [rsp + 0x60], rbx
mov r14d, ebx
sub r14d, r13d
cmp r10, rbp
mov dword [rsp + 0x78], r14d
je 0x1000e7aa5
mov rax, qword [0x1004c43a0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
cmp r9, rbp
jne 0x1000e7a77
mov qword [0x1004c43a0], rax
mov ecx, r14d
xor edx, edx
mov rax, r8
div r10
lea r12, [rsi + rdx]
mov qword [rsp + 0x80], r12
mov r8, r12
mov rdx, rdi
mov eax, 0x77e1b5b
lea rcx, [rsp + 0x158]
mov r11, qword [rdi + rbx]
mov bl, bpl
mov qword [rsp + 0x158], r11
mov eax, 0x7d8e4bdb
mov rcx, r13
mov r9d, dword [rsp + 0x15c]
mov rax, qword [0x1000487b8]
mov r11, qword [rsp + 0x158]
mov qword [rsp + 0xb8], rbp
and r11, r15
mov ebp, 4
and r9, r15
add r11, r13
sub rcx, rax
mov qword [rsp + 0x40], rcx
lea r13d, [rbp + 4]
mov r15, 0xfffffffffffff000
jne 0x1000e7bbf
xor r10d, r10d
test r9, r9
je 0x1000e7ed3
mov esi, 0x966c4cad
mov edx, dword [rsp + 0xbc]
mov r8d, dword [rsp + 0xb8]
movzx ecx, byte [r11 + r10]
inc r10
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, rsi
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
add r8d, edx
mov dword [rsp + 0xbc], edx
mov dword [rsp + 0xb8], r8d
cmp r10, r9
jb 0x1000e7b4c
jmp 0x1000e7ed3
mov edx, dword [rbx + rdx*8 + 0x3d637c]
mov eax, dword [rbx + r10*8 + 0x3d6378]
shr eax, 1
and edx, r15d
and eax, r12d
add edx, eax
add rdx, r13
jmp 0x1000e7a26
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
add r8, rdx
mov r14d, eax
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
add rcx, r9
and r14, r15
sub rax, r14
mov qword [rsp + 0x20], rax
mov rax, rcx
and rax, r15
mov qword [rsp + 0x70], rax
sub rcx, rax
mov qword [rsp + 0x50], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x30], rcx
jmp 0x1000e7c2d
mov eax, dword [r8]
cmp rax, r14
jae 0x1000e7c32
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000e7c1e
xor esi, esi
mov r10d, 0xfff
cmp r8, rcx
je 0x1000e7c73
mov eax, dword [r8]
cmp rax, r14
jne 0x1000e7c73
mov ecx, dword [r8 + 4]
sub rcx, r13
shr rcx, 1
je 0x1000e7c73
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x20]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000e7c73
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000e7c5c
mov r9d, dword [rsp + 0xb8]
mov edx, dword [rsp + 0xbc]
mov r15, qword [rsp + 0x40]
mov ecx, 0xf000
mov r14, qword [rsp + 0x70]
mov edi, 0x966c4cad
mov rbx, qword [rsp + 0x30]
cmp r8, rbx
je 0x1000e7e53
mov eax, dword [r8]
cmp rax, r14
ja 0x1000e7e53
mov r12d, dword [r8 + 4]
lea rax, [r12 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000e7cdd
add r8, r12
cmp r8, rbx
je 0x1000e7e53
mov eax, dword [r8]
cmp rax, r14
ja 0x1000e7e53
xor esi, esi
jmp 0x1000e7cb0
mov eax, dword [r8]
cmp rax, r14
jne 0x1000e7cf9
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x50]
jae 0x1000e7e53
mov rax, rsi
mov qword [rsp + 0x40], rax
inc rsi
test word [r8 + rax*2 + 8], cx
je 0x1000e7c9b
xor ebx, ebx
movzx r14d, word [r8 + rax*2 + 8]
and r14d, r10d
add r14d, dword [r8]
lea rax, [0x100000000]
add r14, rax
mov rax, r14
sub rax, r11
je 0x1000e7d7c
mov r12, rax
movzx ecx, byte [rbx + r11]
inc rbx
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 + 0xbc], edx
add r9d, edx
cmp rbx, r12
mov dword [rsp + 0xb8], r9d
jb 0x1000e7d2f
mov rax, qword [r14]
mov rcx, qword [rsp + 0x40]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
cmp ecx, 3
mov qword [rsp + 0xf8], rax
je 0x1000e7da8
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000e7dae
mov r11d, 2
mov rcx, r15
neg rcx
mov qword [rsp + 0x20], rcx
sub r11d, 2
je 0x1000e7de0
cmp r11d, 1
je 0x1000e7dcb
or r11, 0xffffffffffffffff
jmp 0x1000e7def
mov rcx, qword [rsp + 0x20]
add rax, rcx
mov qword [rsp + 0xf8], rax
mov r11, r13
jmp 0x1000e7def
mov r11, rbp
mov rcx, qword [rsp + 0x20]
add dword [rsp + 0xf8], ecx
xor edi, edi
test r11, r11
je 0x1000e7e4b
mov ebx, 0x966c4cad
movzx ecx, byte [rsp + rdi + 0xf8]
inc rdi
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, rbx
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
add r9d, edx
cmp rdi, r11
jb 0x1000e7dfb
mov dword [rsp + 0xbc], edx
mov dword [rsp + 0xb8], r9d
add r11, r14
jmp 0x1000e7c87
mov r10, qword [rsp + 0x68]
xor r8d, r8d
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x58]
mov bl, r8b
mov r15, 0xfffffffffffff000
sub r10, r11
je 0x1000e7ece
mov edi, 0x966c4cad
movzx ecx, byte [r11 + r8]
inc r8
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
add r9d, edx
cmp r8, r10
mov dword [rsp + 0xbc], edx
mov dword [rsp + 0xb8], r9d
jb 0x1000e7e7c
mov rdi, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x78]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0xb8]
cmp rcx, r13
mov byte [rsp + rcx + 0x1af], al
jb 0x1000e7ed5
mov eax, 0xb0e3d094
mov rax, qword [rsp + 0x1b0]
mov r11, qword [rsp + 0x60]
mov r9, rdi
mov qword [rsp + 0x30], r11
and r9d, 7
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r9
je 0x1000e8457
xor r10d, r10d
xor edi, edi
mov esi, r14d
xor r11d, r11d
not esi
test r9d, r9d
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x48], edi
jle 0x1000e7f81
lea r8d, [r10 + 0x38]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
cmp r11d, ebp
jge 0x1000e7f55
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x1000e7f5d
mov ecx, r8d
shl edx, cl
or r10d, edx
inc r11d
inc rax
sub r8d, r13d
cmp r11d, r9d
jl 0x1000e7f43
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1b0]
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x38], r10d
movzx r11d, word [rsp + 0x1b2]
movzx r9d, word [rsp + 0x1b6]
mov ecx, r14d
sub ecx, eax
mov r8d, eax
movzx edi, ax
sub ecx, r9d
xor esi, ecx
mov r14d, esi
movzx r10d, word [rsp + 0x1b4]
sub r14d, r10d
xor r14d, eax
xor r14d, dword [rsp + 0x78]
mov ecx, r14d
ror ecx, 0xe
xor ecx, r11d
imul ecx, r9d
xor esi, ecx
mov ecx, esi
ror ecx, 4
sub ecx, edi
imul ecx, r11d
xor r14d, ecx
mov edx, r14d
mov ecx, r9d
sub r8d, r14d
rol r8d, 0xd
rol edx, 0xd
imul ecx, r8d
add edx, ecx
xor esi, edx
mov edx, esi
mov ecx, esi
shr ecx, 9
xor edx, r11d
imul edx, r10d
xor edx, ecx
mov ecx, r11d
xor r14d, edx
mov r8d, r14d
mov edx, r14d
xor r8d, r10d
rol r8d, 1
ror edx, 0x10
imul ecx, r8d
add edx, ecx
xor esi, edx
mov ecx, edi
mov edx, esi
mov r8d, esi
xor r8d, r11d
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 esi, ecx
mov edx, esi
mov ecx, esi
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 esi, r11d
mov ecx, esi
mov edx, esi
sub ecx, dword [rsp + 0x1b4]
rol ecx, 0xb
imul edi, ecx
xor esi, dword [rsp + 0x38]
ror edx, 8
mov ecx, dword [rsp + 0x48]
mov r8d, esi
xor r9d, r9d
xor edx, edi
xor edx, ecx
mov rcx, qword [rsp + 0x20]
xor r14d, edx
test ecx, ecx
mov edx, r14d
jle 0x1000e80e0
mov rax, r12
cmp r9d, ebp
jge 0x1000e80be
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000e80cb
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000e80ad
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x1b0]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000e843d
sub ebp, ecx
shl ebp, 3
mov ecx, ebp
shr esi, cl
shl esi, cl
mov r11, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov ebp, dword [rsp + 0x38]
mov rcx, rdi
shr rcx, 3
test rcx, rcx
mov qword [rsp + 0x20], rcx
je 0x1000e8389
movzx ecx, word [rsp + 0x1b6]
mov rdi, qword [rsp + 0x40]
mov r11, qword [rsp + 0x30]
movzx edx, ax
movzx r8d, word [rsp + 0x1b2]
mov r12d, dword [rsp + 0x48]
mov r15, qword [rsp + 0x20]
mov dword [rsp + 0x68], ecx
movzx ecx, word [rsp + 0x1b4]
mov dword [rsp + 0x50], ecx
mov ecx, edx
neg ecx
mov dword [rsp + 0x78], edx
mov dword [rsp + 0x38], ecx
movzx r9d, byte [r11 + 4]
movzx r10d, byte [r11 + 1]
movzx ecx, byte [r11]
shl ecx, 8
shl r9d, 8
or r10d, ecx
movzx ecx, byte [r11 + 2]
shl r10d, 8
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r11 + 3]
or r10d, ecx
movzx ecx, byte [r11 + 5]
or r9d, ecx
movzx ecx, byte [r11 + 6]
xor r14d, r10d
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 7]
add r11, r13
shl r9d, 8
or r9d, ecx
mov ecx, r14d
sub ecx, eax
sub ecx, dword [rsp + 0x68]
xor ecx, r9d
xor esi, ecx
mov ecx, esi
sub ecx, dword [rsp + 0x50]
xor ecx, eax
xor r14d, ecx
mov ecx, r14d
ror ecx, 0xe
xor ecx, r8d
imul ecx, dword [rsp + 0x68]
xor esi, ecx
mov ecx, esi
ror ecx, 4
sub ecx, edx
imul ecx, r8d
mov r8d, eax
xor r14d, ecx
sub r8d, r14d
mov edx, r14d
rol r8d, 0xd
rol edx, 0xd
movzx ecx, word [rsp + 0x1b6]
imul ecx, r8d
add edx, ecx
movzx r8d, word [rsp + 0x1b2]
movzx ecx, word [rsp + 0x1b4]
xor esi, edx
mov edx, esi
xor edx, r8d
imul edx, ecx
mov ecx, esi
shr ecx, 9
xor edx, ecx
movzx ecx, word [rsp + 0x1b4]
xor r14d, edx
mov r8d, r14d
xor r8d, ecx
mov edx, r14d
rol r8d, 1
ror edx, 0x10
movzx ecx, word [rsp + 0x1b2]
imul ecx, r8d
add edx, ecx
movzx ecx, word [rsp + 0x1b2]
xor esi, edx
mov edx, esi
mov r8d, esi
xor r8d, ecx
rol r8d, 5
mov ecx, dword [rsp + 0x78]
rol edx, 3
imul ecx, r8d
sub ecx, edx
movzx edx, word [rsp + 0x1b6]
xor r14d, ecx
mov ecx, r14d
not ecx
ror ecx, 6
add ecx, edx
movzx edx, word [rsp + 0x1b4]
imul ecx, edx
xor esi, ecx
mov r8d, esi
sub r8d, eax
rol r8d, 5
movzx ecx, word [rsp + 0x1b4]
mov edx, esi
ror edx, 2
imul ecx, r8d
add edx, ecx
mov ecx, dword [rsp + 0x38]
xor r14d, edx
movzx edx, word [rsp + 0x1b2]
add ecx, r14d
rol ecx, 4
imul edx, ecx
mov ecx, r14d
shr ecx, 9
xor edx, ecx
xor esi, edx
mov r8d, esi
mov edx, esi
mov ecx, dword [rsp + 0x78]
xor esi, ebp
sub edx, dword [rsp + 0x1b4]
rol edx, 0xb
mov ebp, r9d
ror r8d, 8
imul ecx, edx
mov edx, dword [rsp + 0x78]
xor r8d, ecx
xor r8d, r12d
mov r12d, r10d
xor r14d, r8d
movzx r8d, word [rsp + 0x1b2]
mov byte [rdi + 3], r14b
xor bl, r14b
xor bl, sil
ror r14d, 8
mov byte [rdi + 7], sil
mov byte [rdi + 2], r14b
ror esi, 8
xor bl, r14b
mov byte [rdi + 6], sil
ror r14d, 8
xor bl, sil
mov byte [rdi + 1], r14b
ror esi, 8
xor bl, r14b
ror r14d, 8
xor bl, sil
mov byte [rdi + 5], sil
ror esi, 8
mov cl, sil
mov byte [rdi], r14b
xor cl, r14b
mov byte [rdi + 4], sil
add rdi, r13
xor bl, cl
ror r14d, 8
ror esi, 8
sub r15, 1
jne 0x1000e815d
mov r15, 0xfffffffffffff000
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x58]
cmp bl, byte [rdi + r11 + 8]
je 0x1000e8480
call fcn.100058248
mov rbx, rax
and rbx, r15
mov rax, qword [rsp + 0xe0]
mov r8d, 0xffff
lea r12, [0x1001094ec]
mov qword [rax + 0x10], r12
lea r10, [rax + 0x18]
mov rax, qword [0x1004c43a0]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1000e83d4
mov qword [0x1004c43a0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0xd8]
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], r8
jmp 0x1000e8476
xor esi, esi
test ecx, ecx
jns 0x1000e80f6
neg ecx
shl ecx, 3
shr r14d, cl
shl r14d, cl
jmp 0x1000e80f6
mov ebp, r14d
xor esi, esi
mov dword [rsp + 0x48], r14d
xor r14d, r14d
not ebp
jmp 0x1000e8104
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r13
cmp r10, r11
jb 0x1000e846b
jmp 0x1000e24b1
mov rsi, r11
sub rsi, r12
lea r13, [0x100000000]
mov rbp, r13
mov rax, qword [0x1000487b8]
sub rbp, rax
jne 0x1000e84a5
test rsi, rsi
je 0x1000e24a6
mov rcx, qword [0x1001d1e58]
lea r9d, [rcx - 1]
xor r8d, r8d
mov rbx, r12
lea r15, [0x100000000]
sub rbx, r11
sub r11d, r13d
add edi, r11d
test r9d, r9d
js 0x1000e84fc
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x1d1e5c]
and r10d, 0xfffffff
cmp r11d, r10d
jae 0x1000e84f1
lea r9d, [rdx - 1]
jmp 0x1000e84f7
jbe 0x1000e8504
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000e84cb
movsxd r11, r8d
jmp 0x1000e8585
mov r11, rdx
jmp 0x1000e8585
mov edx, dword [r15 + r11*4 + 0x1d1e5c]
mov eax, edx
and eax, 0xfffffff
cmp eax, edi
jae 0x1000e24a6
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 0x1000e8561
sub r8d, 1
je 0x1000e855c
cmp r8d, 1
jne 0x1000e8567
mov r10, rbp
jmp 0x1000e8567
mov r10, rsi
jmp 0x1000e8567
mov r10, rbp
sub r10, rsi
sub edx, 2
je 0x1000e8577
cmp edx, 1
jne 0x1000e8582
add qword [r9 + rbx], r10
jmp 0x1000e857b
add dword [r9 + rbx], r10d
mov rcx, qword [0x1001d1e58]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000e8509
jmp 0x1000e24a6
mov edx, dword [0x10000003c]
cmp rdi, r13
jb 0x1000e919a
movsxd rax, edx
mov ecx, dword [rax + r13 + 0x50]
add rcx, r13
cmp rdi, rcx
jae 0x1000e919a
mov r9d, ebp
mov ecx, dword [0x100296c64]
mov r8d, edi
sub r8d, r13d
sub ecx, r11d
js 0x1000e85fe
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x446be0]
and eax, r15d
cmp r8d, eax
jae 0x1000e85ef
lea ecx, [rdx - 1]
jmp 0x1000e85f9
jbe 0x1000e877e
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000e85cc
mov rdx, rbp
cmp rdx, rbp
je 0x1000e919a
mov edi, dword [rdx]
mov rax, rdi
shr rdi, 1
mov r10d, dword [0x1002f8888]
mov r8, rbp
and rdi, r15
mov qword [rsp + 0x68], rdi
shr rax, 0x1d
sub r10, rdi
inc r10
mov r9, r10
lea rbx, [rax + rdx + 8]
mov r14d, ebx
mov qword [rsp + 0x60], rbx
sub r14d, r13d
cmp r10, rbp
mov dword [rsp + 0x78], r14d
je 0x1000e8680
mov rax, qword [0x1004c43a0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
cmp r9, rbp
jne 0x1000e8652
mov qword [0x1004c43a0], rax
mov rax, r8
mov ecx, r14d
xor edx, edx
div r10
lea r12, [rsi + rdx]
mov r8, r12
mov rdx, rdi
mov qword [rsp + 0x80], r12
mov eax, 0xe7f15744
lea rcx, [rsp + 0x168]
mov r11, qword [rdi + rbx]
mov bl, bpl
mov qword [rsp + 0x168], r11
mov eax, 0x5db8ad7d
mov rax, qword [0x1000487b8]
mov r11, qword [rsp + 0x168]
mov rcx, r13
mov r9d, dword [rsp + 0x16c]
mov qword [rsp + 0x88], rbp
and r11, r15
and r9, r15
add r11, r13
mov r15, 0xfffffffffffff000
mov ebp, 4
lea r13d, [rbp + 4]
sub rcx, rax
mov qword [rsp + 0x40], rcx
jne 0x1000e879d
xor r8d, r8d
test r9, r9
je 0x1000e8ac9
mov ecx, dword [rsp + 0x8c]
mov r10d, 0x83010f63
mov edx, dword [rsp + 0x88]
movzx eax, byte [r8 + r11]
inc r8
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
add edx, ecx
mov dword [rsp + 0x8c], ecx
mov dword [rsp + 0x88], edx
cmp r8, r9
jb 0x1000e8727
jmp 0x1000e8ac9
mov eax, dword [rbx + r10*8 + 0x446be0]
mov edx, dword [rbx + rdx*8 + 0x446be4]
and edx, r12d
and eax, r15d
add edx, eax
add rdx, r13
jmp 0x1000e8601
lea rax, [r11 + r9]
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x48], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov r14d, eax
mov ecx, eax
add rcx, r9
and r14, r15
sub rax, r14
mov qword [rsp + 0x20], rax
mov rax, rcx
and rax, r15
sub rcx, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x50], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x30], rcx
jmp 0x1000e880b
mov eax, dword [r8]
cmp rax, r14
jae 0x1000e8810
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000e87fc
xor esi, esi
mov r10d, 0xfff
cmp r8, rcx
je 0x1000e8851
mov eax, dword [r8]
cmp rax, r14
jne 0x1000e8851
mov ecx, dword [r8 + 4]
sub rcx, r13
shr rcx, 1
je 0x1000e8851
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x20]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000e8851
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000e883a
mov edx, dword [rsp + 0x8c]
mov r9d, dword [rsp + 0x88]
mov r15, qword [rsp + 0x40]
mov ecx, 0xf000
mov edi, 0x83010f63
mov r14, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x30]
cmp r8, rbx
je 0x1000e8a41
mov eax, dword [r8]
cmp rax, r14
ja 0x1000e8a41
mov r12d, dword [r8 + 4]
lea rax, [r12 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000e88bb
add r8, r12
cmp r8, rbx
je 0x1000e8a41
mov eax, dword [r8]
cmp rax, r14
ja 0x1000e8a41
xor esi, esi
jmp 0x1000e888e
mov eax, dword [r8]
cmp rax, r14
jne 0x1000e88d7
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x50]
jae 0x1000e8a41
mov rax, rsi
inc rsi
mov qword [rsp + 0x40], rax
test word [r8 + rax*2 + 8], cx
je 0x1000e8879
movzx r14d, word [r8 + rax*2 + 8]
xor ebx, ebx
and r14d, r10d
lea rax, [0x100000000]
add r14d, dword [r8]
add r14, rax
mov rax, r14
sub rax, r11
je 0x1000e8962
mov r12, rax
movzx eax, byte [r11 + rbx]
inc rbx
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, rdi
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x20]
shr rax, 0x20
add edx, eax
add r9d, edx
mov dword [rsp + 0x8c], edx
cmp rbx, r12
mov dword [rsp + 0x88], r9d
jb 0x1000e890d
mov rax, qword [r14]
mov rcx, qword [rsp + 0x40]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
mov qword [rsp + 0x100], rax
cmp ecx, 3
je 0x1000e898e
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000e8994
mov r11d, 2
mov rcx, r15
neg rcx
sub r11d, 2
mov qword [rsp + 0x20], rcx
je 0x1000e89c6
cmp r11d, 1
je 0x1000e89b1
or r11, 0xffffffffffffffff
jmp 0x1000e89d5
mov r11, r13
mov rcx, qword [rsp + 0x20]
add rax, rcx
mov qword [rsp + 0x100], rax
jmp 0x1000e89d5
mov r11, rbp
mov rcx, qword [rsp + 0x20]
add dword [rsp + 0x100], ecx
xor edi, edi
test r11, r11
je 0x1000e8a39
mov ebx, 0x83010f63
movzx eax, byte [rsp + rdi + 0x100]
inc rdi
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, rbx
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
add r9d, edx
cmp rdi, r11
jb 0x1000e89e1
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0x88], r9d
add r11, r14
jmp 0x1000e8865
mov r15, 0xfffffffffffff000
mov r10, qword [rsp + 0x48]
xor r8d, r8d
mov bl, r8b
sub r10, r11
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x68]
je 0x1000e8ac4
mov edi, 0x83010f63
movzx eax, byte [r8 + r11]
inc r8
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, rdi
mov qword [rsp + 0x20], rax
shr rax, 0x20
mov edx, dword [rsp + 0x20]
add edx, eax
add r9d, edx
cmp r8, r10
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0x88], r9d
jb 0x1000e8a6a
mov rdi, qword [rsp + 0x68]
mov r14d, dword [rsp + 0x78]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
cmp rcx, r13
mov al, byte [rsp + rax + 0x88]
mov byte [rsp + rcx + 0x1a7], al
jb 0x1000e8acb
mov eax, 0x66079c14
mov r9, rdi
mov r11, qword [rsp + 0x60]
mov rax, qword [rsp + 0x1a8]
and r9d, 7
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r9
je 0x1000e905c
not r14d
xor r10d, r10d
mov dword [rsp + 0x38], r10d
xor edi, edi
xor r11d, r11d
test r9d, r9d
mov dword [rsp + 0x48], edi
jle 0x1000e8b75
lea r8d, [r10 + 0x38]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
cmp r11d, ebp
jge 0x1000e8b49
lea ecx, [r8 - 0x20]
shl edx, cl
or edi, edx
jmp 0x1000e8b51
mov ecx, r8d
shl edx, cl
or r10d, edx
inc r11d
inc rax
sub r8d, r13d
cmp r11d, r9d
jl 0x1000e8b37
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1a8]
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x38], r10d
mov ecx, r14d
movzx r9d, word [rsp + 0x1ac]
movzx edi, ax
movzx r11d, word [rsp + 0x1aa]
mov r8d, r11d
shr ecx, 4
movzx r10d, word [rsp + 0x1ae]
xor r8d, r14d
mov edx, r10d
imul r8d, edi
xor r8d, ecx
mov ecx, edi
xor r8d, dword [rsp + 0x78]
xor ecx, r8d
rol ecx, 7
imul edx, ecx
mov ecx, r8d
shr ecx, 0xd
add edx, ecx
xor r14d, edx
mov edx, r14d
sub edx, eax
mov ecx, r14d
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 esi, r14d
xor esi, r8d
mov ecx, r10d
xor esi, dword [rsp + 0x1ac]
xor esi, eax
mov edx, esi
mov r8d, esi
xor r8d, r9d
rol r8d, 4
ror edx, 3
imul ecx, r8d
add edx, ecx
xor r14d, edx
mov dword [rsp + 0x50], r14d
mov edx, eax
sub edx, r14d
rol edx, 0xa
mov r8d, edi
mov ecx, r14d
ror ecx, 8
imul edx, r9d
add ecx, edx
xor esi, ecx
mov r14d, esi
sub r14d, r11d
xor r14d, dword [rsp + 0x50]
xor r14d, dword [rsp + 0x1ac]
mov edx, r14d
sub edx, r9d
mov ecx, r14d
shr ecx, 6
imul edx, edi
sub edx, ecx
xor esi, edx
mov edx, esi
xor r8d, esi
mov ecx, r10d
rol r8d, 3
ror edx, 0xa
imul ecx, r8d
xor edx, ecx
xor r14d, edx
mov ecx, r14d
mov edx, r14d
xor edx, eax
rol edx, 3
imul edx, r9d
shr ecx, 1
sub edx, ecx
xor r9d, r9d
xor esi, edx
mov ecx, esi
xor r10d, esi
mov edx, dword [rsp + 0x48]
ror ecx, 0xd
imul r10d, r11d
add ecx, r10d
xor r14d, ecx
mov ecx, r14d
xor r14d, dword [rsp + 0x38]
sub ecx, edi
mov r8d, r14d
sub ecx, dword [rsp + 0x1ac]
xor ecx, edx
xor esi, ecx
mov edx, esi
mov rcx, qword [rsp + 0x20]
test ecx, ecx
jle 0x1000e8cf8
mov rax, r12
cmp r9d, ebp
jge 0x1000e8cd6
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000e8ce3
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000e8cc5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x1a8]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000e9043
sub ebp, ecx
shl ebp, 3
mov ecx, ebp
shr r14d, cl
shl r14d, cl
mov ebp, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov rcx, rdi
shr rcx, 3
mov qword [rsp + 0x20], rcx
test rcx, rcx
je 0x1000e8f8f
movzx edx, word [rsp + 0x1aa]
movzx ecx, ax
mov rdi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x20]
movzx r8d, word [rsp + 0x1ac]
mov r12d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x30]
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x38], ecx
movzx ecx, byte [r11 + 1]
movzx r10d, byte [r11]
shl r10d, 8
movzx r9d, byte [r11 + 4]
shl r9d, 8
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r11 + 2]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r11 + 3]
or r10d, ecx
movzx ecx, byte [r11 + 5]
or r9d, ecx
movzx ecx, byte [r11 + 6]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 7]
add r11, r13
shl r9d, 8
or r9d, ecx
xor r14d, r9d
mov ecx, r14d
xor edx, r14d
shr ecx, 4
imul edx, dword [rsp + 0x38]
xor edx, ecx
xor edx, r10d
xor esi, edx
movzx edx, word [rsp + 0x1ae]
mov ecx, dword [rsp + 0x38]
xor ecx, esi
rol ecx, 7
imul edx, ecx
mov ecx, esi
shr ecx, 0xd
add edx, ecx
xor r14d, edx
mov ecx, r14d
mov edx, r14d
sub edx, eax
rol edx, 8
ror ecx, 8
imul edx, r8d
sub edx, ecx
xor esi, edx
movzx edx, word [rsp + 0x1aa]
mov ecx, esi
ror ecx, 0xc
sub ecx, edx
imul ecx, r8d
xor r14d, ecx
xor esi, r14d
movzx ecx, word [rsp + 0x1ac]
xor esi, dword [rsp + 0x1ac]
xor esi, eax
mov r8d, esi
xor r8d, ecx
rol r8d, 4
movzx ecx, word [rsp + 0x1ae]
mov edx, esi
ror edx, 3
imul ecx, r8d
movzx r8d, word [rsp + 0x1ac]
add edx, ecx
xor r14d, edx
mov edx, eax
mov ecx, r14d
sub edx, r14d
rol edx, 0xa
ror ecx, 8
imul edx, r8d
add ecx, edx
movzx edx, word [rsp + 0x1aa]
xor esi, ecx
mov ecx, esi
sub ecx, edx
xor r14d, ecx
xor r14d, dword [rsp + 0x1ac]
mov edx, r14d
mov ecx, r14d
sub edx, r8d
shr ecx, 6
mov r8d, dword [rsp + 0x38]
imul edx, r8d
sub edx, ecx
movzx ecx, word [rsp + 0x1ae]
xor esi, edx
xor r8d, esi
rol r8d, 3
mov edx, esi
ror edx, 0xa
imul ecx, r8d
xor edx, ecx
xor r14d, edx
movzx r8d, word [rsp + 0x1ac]
mov ecx, r14d
mov edx, r14d
shr ecx, 1
xor edx, eax
rol edx, 3
imul edx, r8d
sub edx, ecx
xor esi, edx
mov edx, esi
movzx ecx, word [rsp + 0x1ae]
xor ecx, esi
ror edx, 0xd
imul ecx, dword [rsp + 0x50]
add edx, ecx
xor r14d, edx
movzx edx, word [rsp + 0x1aa]
mov ecx, r14d
xor r14d, ebp
mov ebp, r9d
sub ecx, dword [rsp + 0x38]
sub ecx, dword [rsp + 0x1ac]
xor ecx, r12d
xor esi, ecx
mov byte [rdi + 3], sil
mov r12d, r10d
mov byte [rdi + 7], r14b
xor bl, sil
xor bl, r14b
ror esi, 8
ror r14d, 8
xor bl, sil
mov byte [rdi + 2], sil
ror esi, 8
xor bl, r14b
mov byte [rdi + 6], r14b
mov byte [rdi + 1], sil
ror r14d, 8
xor bl, sil
mov byte [rdi + 5], r14b
ror esi, 8
mov byte [rdi], sil
xor bl, r14b
ror r14d, 8
mov cl, r14b
mov byte [rdi + 4], r14b
xor cl, sil
add rdi, r13
xor bl, cl
ror esi, 8
ror r14d, 8
sub r15, 1
jne 0x1000e8d63
mov rdi, qword [rsp + 0x68]
mov r15, 0xfffffffffffff000
mov r12, qword [rsp + 0x80]
mov r11, qword [rsp + 0x60]
cmp bl, byte [rdi + r11 + 8]
je 0x1000e9085
call fcn.100058248
mov r8d, 0xffff
mov rbx, rax
and rbx, r15
lea r12, [0x1001094ec]
mov rax, qword [rsp + 0xe0]
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
mov qword [rax + 0x10], r12
lea r11, [r10 + 0xfff]
mov rax, qword [0x1004c43a0]
and r11, r15
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1000e8fda
mov qword [0x1004c43a0], rax
movabs rax, 0x8000800080008001
mul r9
shr rdx, 0xf
imul rdx, rdx, 0xffff
mov rax, qword [rsp + 0xd8]
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x20], r8
jmp 0x1000e907b
xor r14d, r14d
test ecx, ecx
jns 0x1000e8d10
neg ecx
shl ecx, 3
shr esi, cl
shl esi, cl
jmp 0x1000e8d10
mov dword [rsp + 0x48], r14d
mov ebp, r14d
not ebp
xor r14d, r14d
xor esi, esi
jmp 0x1000e8d1e
mov rax, qword [rsp + 0x20]
mov qword [r10], rax
add r10, r13
cmp r10, r11
jb 0x1000e9070
jmp 0x1000e24b1
mov rax, qword [0x1000487b8]
lea r13, [0x100000000]
mov rsi, r11
mov rbp, r13
sub rsi, r12
sub rbp, rax
jne 0x1000e90aa
test rsi, rsi
je 0x1000e24a6
mov rcx, qword [0x1001d1e58]
xor r8d, r8d
lea r15, [0x100000000]
lea r9d, [rcx - 1]
mov rbx, r12
sub rbx, r11
sub r11d, r13d
add edi, r11d
test r9d, r9d
js 0x1000e9101
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x1d1e5c]
and r10d, 0xfffffff
cmp r11d, r10d
jae 0x1000e90f6
lea r9d, [rdx - 1]
jmp 0x1000e90fc
jbe 0x1000e9109
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000e90d0
movsxd r11, r8d
jmp 0x1000e918a
mov r11, rdx
jmp 0x1000e918a
mov edx, dword [r15 + r11*4 + 0x1d1e5c]
mov eax, edx
and eax, 0xfffffff
cmp eax, edi
jae 0x1000e24a6
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 0x1000e9166
sub r8d, 1
je 0x1000e9161
cmp r8d, 1
jne 0x1000e916c
mov r10, rbp
jmp 0x1000e916c
mov r10, rsi
jmp 0x1000e916c
mov r10, rbp
sub r10, rsi
sub edx, 2
je 0x1000e917c
cmp edx, 1
jne 0x1000e9187
add qword [r9 + rbx], r10
jmp 0x1000e9180
add dword [r9 + rbx], r10d
mov rcx, qword [0x1001d1e58]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000e910e
jmp 0x1000e24a6
mov eax, 0xc22c3d95
lea r11, section..data
cmp rsi, r11
jb 0x1000e91e7
mov eax, dword [0x1002f8888]
mov ecx, dword [0x1002a02b4]
imul ecx, eax
mov eax, ecx
add rax, r11
cmp rsi, rax
jae 0x1000e91e7
mov rax, rsi
sub rax, r11
cqo
mov ecx, dword [0x1002f8888]
idiv rcx
mov rcx, rax
mov eax, dword [0x1002f8888]
imul rax, rcx
add rax, r11
jmp 0x1000e91ea
mov rax, rbp
cmp rax, rbp
je 0x1000e9216
mov ecx, dword [0x1002f8888]
sub rsi, r11
mov rax, rsi
cqo
idiv rcx
mov rcx, rax
mov eax, dword [0x1002a02b4]
mov dword [rbx + rcx*4 + 0x4c5a60], 0x3bd7
jmp 0x1000e9244
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
mov ebx, eax
or rcx, 3
call qword [sym.imp.ntdll.dll_RtlDeleteFunctionTable]
mov r8d, 0x8000
mov rcx, rsi
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 + 0x1d8]
xor rcx, rsp
call fcn.10027d5f4
add rsp, 0x1e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret