Function at 0x1000a5574
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 [0x100347ae0]
xor rax, rsp
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0xd8], rdx
lea r14, [0x100000000]
xor r12d, r12d
lea rbx, [0x100000000]
lea r13d, [r12 + 0x3f]
mov ebp, 0xfffffff
lea r11d, [r12 + 1]
mov qword [rsp + 0xe0], rcx
mov rdi, r9
cmp r9, r14
mov rsi, r8
jb 0x1000a6279
movsxd rdx, dword [0x10000003c]
mov ecx, dword [rdx + r14 + 0x50]
add rcx, r14
cmp r9, rcx
jae 0x1000a627f
mov ecx, dword [0x100096e1c]
mov r8d, r9d
sub r8d, r14d
sub ecx, r11d
mov r9d, r12d
js 0x1000a5635
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x2a3b9c]
and eax, ebp
cmp r8d, eax
mov r10, rdx
jae 0x1000a5626
lea ecx, [rdx - 1]
jmp 0x1000a5630
jbe 0x1000a57fb
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000a5604
mov rdx, r12
cmp rdx, r12
je 0x1000a6279
mov eax, dword [rdx + 4]
mov edi, dword [rdx]
and eax, 7
mov r11d, dword [0x1000d5e38]
mov r8, r12
shr rdi, 2
lea r15, [rax + rdx + 8]
mov r9d, r15d
mov qword [rsp + 0x80], r15
and rdi, rbp
mov qword [rsp + 0x48], rdi
sub r11, rdi
inc r11
sub r9d, r14d
mov dword [rsp + 0x24], r9d
cmp r11, r12
mov r10, r11
je 0x1000a56ba
mov rax, qword [0x100346e50]
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, r12
jne 0x1000a568c
mov qword [0x100346e50], rax
mov rax, r8
mov ecx, r9d
xor edx, edx
div r11
lea r13, [rsi + rdx]
mov qword [rsp + 0x78], r13
mov r8, r13
mov rdx, rdi
mov eax, 0xbe5654f6
mov r11, qword [r15 + rdi]
mov qword [rsp + 0x168], r11
mov bl, r12b
lea rcx, [rsp + 0x168]
mov eax, 0xb82cf2bc
mov rax, qword [0x100037580]
mov r11, qword [rsp + 0x168]
mov r9d, dword [rsp + 0x16c]
mov rcx, r14
and r11, rbp
and r9, rbp
add r11, r14
sub rcx, rax
mov r14d, 8
mov rbp, 0xfffffffffffff000
mov qword [rsp + 0xa0], r12
lea r12d, [r14 - 4]
mov qword [rsp + 0x60], rcx
jne 0x1000a5819
xor r10d, r10d
test r9, r9
je 0x1000a5c06
mov r8d, dword [rsp + 0xa0]
mov eax, dword [rsp + 0xa4]
movzx ecx, byte [r10 + r11]
inc r10
add ecx, 0x2becbda7
add r8d, ecx
add ecx, eax
mov eax, ecx
imul eax, eax, 0x70ec
rol eax, 7
ror ecx, 7
xor eax, ecx
imul rax, rax, 0x2becbda7
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, rax, 0x2becbda7
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 r8d, eax
mov dword [rsp + 0xa4], eax
cmp r10, r9
mov dword [rsp + 0xa0], r8d
jb 0x1000a575a
jmp 0x1000a5c06
mov eax, dword [rbx + r10*8 + 0x2a3b98]
mov edx, dword [rbx + rdx*8 + 0x2a3b9c]
and edx, ebp
and eax, r13d
add edx, eax
add rdx, r14
jmp 0x1000a5638
lea rdx, [0x100000000]
lea rax, [r11 + r9]
movsxd rcx, dword [0x10000003c]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x38], rax
mov eax, r11d
sub eax, edx
mov edi, eax
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
add rcx, r9
and rdi, rbp
sub rax, rdi
mov qword [rsp + 0x28], rax
mov rax, rcx
and rax, rbp
mov qword [rsp + 0x58], rax
sub rcx, rax
mov qword [rsp + 0x70], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x40], rcx
jmp 0x1000a5886
mov eax, dword [r8]
cmp rax, rdi
jae 0x1000a588b
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000a5877
mov r10d, 0xfff
xor esi, esi
cmp r8, rcx
je 0x1000a58cc
mov eax, dword [r8]
cmp rax, rdi
jne 0x1000a58cc
mov ecx, dword [r8 + 4]
sub rcx, r14
shr rcx, 1
je 0x1000a58cc
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x28]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000a58cc
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000a58b5
mov r9d, dword [rsp + 0xa4]
mov edi, dword [rsp + 0xa0]
mov ecx, 0xf000
mov rdx, qword [rsp + 0x58]
cmp r8, qword [rsp + 0x40]
je 0x1000a5b40
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a5b40
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000a592a
add r8, rbx
cmp r8, qword [rsp + 0x40]
je 0x1000a5b40
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a5b40
xor esi, esi
jmp 0x1000a58fc
mov eax, dword [r8]
cmp rax, rdx
jne 0x1000a5946
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x70]
jae 0x1000a5b40
mov r13, rsi
inc rsi
test word [r8 + r13*2 + 8], cx
je 0x1000a58e5
lea rcx, [0x100000000]
movzx eax, word [r8 + r13*2 + 8]
xor r15d, r15d
and eax, r10d
add eax, dword [r8]
add rax, rcx
mov qword [rsp + 0x68], rax
mov rcx, rax
sub rcx, r11
je 0x1000a5a26
mov rbx, rcx
movzx ecx, byte [r15 + r11]
inc r15
add ecx, 0x2becbda7
add edi, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0x70ec
rol eax, 7
ror ecx, 7
xor eax, ecx
imul rax, rax, 0x2becbda7
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
imul rax, rax, 0x2becbda7
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 + 0xa4], r9d
add edi, r9d
cmp r15, rbx
mov dword [rsp + 0xa0], edi
jb 0x1000a5981
mov rax, qword [rsp + 0x68]
movzx ecx, word [r8 + r13*2 + 8]
mov rax, qword [rax]
mov qword [rsp + 0x118], rax
shr ecx, 0xc
cmp ecx, 3
je 0x1000a5a4b
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x1000a5a50
mov edx, 2
mov r11, qword [rsp + 0x60]
neg r11
sub edx, 2
je 0x1000a5a78
cmp edx, 1
je 0x1000a5a68
or r11, 0xffffffffffffffff
jmp 0x1000a5a83
add rax, r11
mov r11, r14
mov qword [rsp + 0x118], rax
jmp 0x1000a5a83
add dword [rsp + 0x118], r11d
mov r11, r12
xor r13d, r13d
test r11, r11
je 0x1000a5b33
movzx ecx, byte [rsp + r13 + 0x118]
inc r13
add ecx, 0x2becbda7
add edi, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0x70ec
rol eax, 7
ror ecx, 7
xor eax, ecx
imul rax, rax, 0x2becbda7
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, rax, 0x2becbda7
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 r13, r11
jb 0x1000a5a8f
mov dword [rsp + 0xa4], r9d
mov dword [rsp + 0xa0], edi
mov rax, qword [rsp + 0x68]
add r11, rax
jmp 0x1000a58db
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
xor r8d, r8d
mov bl, r8b
mov r10, qword [rsp + 0x38]
sub r10, r11
je 0x1000a5c01
movzx ecx, byte [r11 + r8]
inc r8
add ecx, 0x2becbda7
add edi, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0x70ec
rol eax, 7
ror ecx, 7
xor eax, ecx
imul rax, rax, 0x2becbda7
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, rax, 0x2becbda7
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 + 0xa4], r9d
add edi, r9d
mov dword [rsp + 0xa0], edi
cmp r8, r10
jb 0x1000a5b61
mov rdi, qword [rsp + 0x48]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
cmp rcx, r14
mov al, byte [rsp + rax + 0xa0]
mov byte [rsp + rcx + 0x187], al
jb 0x1000a5c08
mov eax, 0xd5fee1ad
mov r11, r15
mov rax, qword [rsp + 0x188]
mov r9, rdi
mov qword [rsp + 0x40], r15
and r9d, 7
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], r13
je 0x1000a6134
mov r8d, dword [rsp + 0x24]
xor r10d, r10d
mov edi, r8d
xor esi, esi
not edi
and dword [rsp + 0x38], r10d
test r9d, r9d
mov dword [rsp + 0x50], r10d
jle 0x1000a5cab
lea r8d, [r10 + 0x38]
cmp esi, r12d
movzx edx, byte [r11]
jge 0x1000a5c87
lea ecx, [r8 - 0x20]
shl edx, cl
or dword [rsp + 0x38], edx
jmp 0x1000a5c8f
mov ecx, r8d
shl edx, cl
or r10d, edx
inc esi
inc r11
sub r8d, r14d
cmp esi, r9d
jl 0x1000a5c72
mov r8d, dword [rsp + 0x24]
mov dword [rsp + 0x50], r10d
mov qword [rsp + 0x40], r11
mov ecx, eax
movzx r11d, word [rsp + 0x18a]
mov r9d, dword [rsp + 0x18c]
movzx r10d, r9w
mov edx, dword [rsp + 0x18c]
xor edx, r8d
sub ecx, edx
xor edi, ecx
mov ecx, r11d
mov esi, edi
xor ecx, edi
rol ecx, 6
ror esi, 0xc
imul ecx, r10d
xor esi, ecx
xor esi, r8d
mov edx, esi
sub edx, r9d
ror edx, 6
movzx r8d, word [rsp + 0x18e]
mov ecx, esi
rol ecx, 0xf
imul edx, r11d
xor ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, r9d
sub edx, edi
movzx r9d, ax
ror edx, 7
ror ecx, 1
imul edx, r9d
sub edx, ecx
xor esi, edx
mov edx, esi
mov ecx, esi
sub edx, r10d
shr ecx, 5
imul edx, r8d
sub edx, ecx
xor edi, edx
mov ecx, edi
mov edx, r8d
xor edx, edi
rol edx, 4
ror ecx, 4
imul edx, r10d
sub edx, ecx
xor esi, edx
mov edx, dword [rsp + 0x18c]
xor edx, esi
rol edx, 4
mov ecx, esi
ror ecx, 0xd
imul edx, r11d
sub edx, ecx
mov ecx, r10d
xor edi, edx
xor ecx, edi
mov edx, edi
ror edx, 1
imul ecx, r9d
sub ecx, edx
xor esi, ecx
mov ecx, esi
mov edx, eax
sub edx, esi
ror edx, 3
ror ecx, 4
imul edx, r8d
add ecx, edx
xor edi, ecx
mov ecx, edi
ror ecx, 0xe
mov edx, r9d
sub ecx, r10d
imul ecx, r9d
xor esi, ecx
xor edx, esi
mov ecx, esi
imul edx, r11d
shr ecx, 6
xor edx, ecx
xor edi, edx
mov edx, dword [rsp + 0x38]
mov ecx, edi
xor edi, dword [rsp + 0x50]
mov r8d, edi
sub ecx, dword [rsp + 0x18c]
sub ecx, r9d
xor r9d, r9d
xor ecx, edx
xor esi, ecx
mov edx, esi
mov rcx, qword [rsp + 0x28]
test ecx, ecx
jle 0x1000a5e00
mov rax, r13
cmp r9d, r12d
jge 0x1000a5dde
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000a5deb
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000a5dcd
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x188]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000a611c
sub r12d, ecx
shl r12d, 3
mov ecx, r12d
shr edi, cl
shl edi, cl
mov r11, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov rcx, r10
shr rcx, 3
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x1000a6068
movzx ecx, word [rsp + 0x18e]
mov r10, qword [rsp + 0x30]
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x38]
mov dword [rsp + 0x68], ecx
movzx ecx, word [rsp + 0x18c]
mov dword [rsp + 0x24], ecx
movzx ecx, word [rsp + 0x18a]
mov dword [rsp + 0x60], ecx
movzx ecx, ax
mov dword [rsp + 0x50], ecx
movzx ecx, byte [r11 + 1]
movzx r9d, byte [r11]
movzx r8d, byte [r11 + 4]
mov edx, eax
shl r9d, 8
shl r8d, 8
or r9d, ecx
movzx ecx, byte [r11 + 2]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 3]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 5]
or r8d, ecx
xor esi, r9d
movzx ecx, byte [r11 + 6]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r11 + 7]
add r11, r14
shl r8d, 8
or r8d, ecx
mov ecx, dword [rsp + 0x18c]
xor ecx, esi
sub edx, ecx
xor edx, r8d
xor edi, edx
movzx edx, word [rsp + 0x18a]
mov ecx, edi
xor edx, edi
rol edx, 6
ror ecx, 0xc
imul edx, dword [rsp + 0x24]
xor ecx, edx
xor esi, ecx
mov edx, esi
sub edx, dword [rsp + 0x18c]
ror edx, 6
mov ecx, esi
rol ecx, 0xf
imul edx, dword [rsp + 0x60]
xor ecx, edx
mov edx, dword [rsp + 0x18c]
xor edi, ecx
mov ecx, edi
sub edx, edi
ror edx, 7
ror ecx, 1
imul edx, dword [rsp + 0x50]
sub edx, ecx
xor esi, edx
mov edx, esi
movzx ecx, word [rsp + 0x18c]
sub edx, ecx
movzx ecx, word [rsp + 0x18e]
imul edx, ecx
mov ecx, esi
shr ecx, 5
sub edx, ecx
xor edi, edx
mov ecx, edi
movzx edx, word [rsp + 0x18e]
xor edx, edi
rol edx, 4
ror ecx, 4
imul edx, dword [rsp + 0x24]
sub edx, ecx
xor esi, edx
mov ecx, esi
mov edx, dword [rsp + 0x18c]
xor edx, esi
rol edx, 4
ror ecx, 0xd
imul edx, dword [rsp + 0x60]
sub edx, ecx
movzx ecx, word [rsp + 0x18c]
xor edi, edx
mov edx, edi
ror edx, 1
xor ecx, edi
imul ecx, dword [rsp + 0x50]
sub ecx, edx
xor esi, ecx
mov edx, eax
sub edx, esi
ror edx, 3
mov ecx, esi
ror ecx, 4
imul edx, dword [rsp + 0x68]
add ecx, edx
movzx edx, word [rsp + 0x18c]
xor edi, ecx
mov ecx, edi
ror ecx, 0xe
sub ecx, edx
mov edx, dword [rsp + 0x50]
imul ecx, edx
xor esi, ecx
movzx ecx, word [rsp + 0x18a]
xor edx, esi
imul edx, ecx
mov ecx, esi
shr ecx, 6
xor edx, ecx
xor edi, edx
mov ecx, edi
xor edi, r12d
mov r12d, r8d
sub ecx, dword [rsp + 0x18c]
sub ecx, dword [rsp + 0x50]
xor ecx, r13d
xor esi, ecx
mov byte [r10 + 3], sil
mov r13d, r9d
xor bl, sil
mov byte [r10 + 7], dil
xor bl, dil
ror esi, 8
ror edi, 8
mov byte [r10 + 2], sil
xor bl, sil
ror esi, 8
xor bl, dil
mov byte [r10 + 6], dil
mov byte [r10 + 1], sil
ror edi, 8
xor bl, sil
mov byte [r10 + 5], dil
ror esi, 8
xor bl, dil
ror edi, 8
mov cl, dil
xor cl, sil
mov byte [r10], sil
mov byte [r10 + 4], dil
add r10, r14
xor bl, cl
ror esi, 8
ror edi, 8
sub r15, 1
jne 0x1000a5e77
mov r15, qword [rsp + 0x80]
mov r10, qword [rsp + 0x48]
mov r13, qword [rsp + 0x78]
cmp bl, byte [r15 + r10 + 8]
je 0x1000a6160
call fcn.1000de678
mov rbx, rax
lea r13, [0x100046aec]
mov r8d, 0xffff
and rbx, rbp
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r13
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
mov rax, qword [0x100346e50]
and r11, rbp
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 0x1000a60b3
mov qword [0x100346e50], rax
movabs rax, 0x8000800080008001
mul r9
shr rdx, 0xf
mov rax, qword [rsp + 0xd8]
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x28], r8
jmp 0x1000a6156
xor edi, edi
test ecx, ecx
jns 0x1000a5e19
neg ecx
shl ecx, 3
shr esi, cl
shl esi, cl
jmp 0x1000a5e19
mov ecx, dword [rsp + 0x24]
mov r12d, ecx
not r12d
mov dword [rsp + 0x38], ecx
xor edi, edi
xor esi, esi
jmp 0x1000a5e23
mov rax, qword [rsp + 0x28]
mov qword [r10], rax
add r10, r14
cmp r10, r11
jb 0x1000a614b
jmp 0x1000a6271
mov rax, qword [0x100037580]
lea r12, [0x100000000]
mov rdi, r15
sub rdi, r13
mov rsi, r12
sub rsi, rax
jne 0x1000a6185
test rdi, rdi
je 0x1000a6266
mov rbx, r13
xor r8d, r8d
sub rbx, r15
mov rcx, qword [0x100021bc8]
lea r14, [0x100000000]
lea r9d, [rcx - 1]
sub r15d, r12d
lea ebp, [r15 + r10]
test r9d, r9d
js 0x1000a61dd
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 0x21bcc]
and r10d, 0xfffffff
cmp r15d, r10d
jae 0x1000a61d2
lea r9d, [rdx - 1]
jmp 0x1000a61d8
jbe 0x1000a61e2
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000a61ac
movsxd r11, r8d
jmp 0x1000a625f
mov r11, rdx
jmp 0x1000a625f
mov edx, dword [r14 + r11*4 + 0x21bcc]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000a6266
mov r9, rdx
mov r8d, edx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r12
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x1000a623b
sub r8d, 1
je 0x1000a6236
cmp r8d, 1
jne 0x1000a6241
mov r10, rsi
jmp 0x1000a6241
mov r10, rdi
jmp 0x1000a6241
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x1000a6251
cmp edx, 1
jne 0x1000a625c
add qword [r9 + rbx], r10
jmp 0x1000a6255
add dword [r9 + rbx], r10d
mov rcx, qword [0x100021bc8]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000a61e7
mov eax, dword [0x1000d5e38]
mov eax, 0xc9ac6351
mov rax, r13
jmp 0x1000ace67
mov edx, dword [0x10000003c]
cmp rdi, r14
jb 0x1000acdba
movsxd rax, edx
mov ecx, dword [rax + r14 + 0x50]
add rcx, r14
cmp rdi, rcx
jae 0x1000a6ec2
mov r9d, r12d
mov r8d, edi
mov ecx, dword [0x1000694a0]
sub r8d, r14d
sub ecx, r11d
js 0x1000a62e1
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x226ed4]
mov r10, rdx
and eax, ebp
cmp r8d, eax
jae 0x1000a62d2
lea ecx, [rdx - 1]
jmp 0x1000a62dc
jbe 0x1000a6480
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000a62b0
mov rdx, r12
cmp rdx, r12
je 0x1000a6ebc
mov r8, r12
mov r11d, dword [0x1000d5e38]
mov eax, dword [rdx]
mov r15d, dword [rdx + 4]
and r15d, 0xfffffff
mov qword [rsp + 0x48], r15
and eax, 7
lea rbp, [rax + rdx + 8]
mov r9d, ebp
mov qword [rsp + 0x40], rbp
sub r11, r15
inc r11
sub r9d, r14d
mov dword [rsp + 0x24], r9d
mov r10, r11
cmp r11, r12
je 0x1000a6364
mov rax, qword [0x100346e50]
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, r12
jne 0x1000a6336
mov qword [0x100346e50], rax
mov ecx, r9d
xor edx, edx
mov rax, r8
div r11
lea r13, [rsi + rdx]
mov qword [rsp + 0x78], r13
mov r8, r13
mov rdx, r15
mov eax, 0xaddb54c
lea rcx, [rsp + 0x158]
mov r11, qword [r15 + rbp]
mov bl, r12b
mov qword [rsp + 0x158], r11
mov eax, 0xba25cc1c
mov rcx, r14
mov rdi, qword [rsp + 0x158]
mov eax, 0xfffffff
and rdi, rax
mov r9d, dword [rsp + 0x15c]
and r9, rax
add rdi, r14
mov r14d, 8
mov rax, qword [0x100037580]
sub rcx, rax
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0x58], rcx
lea r12d, [r14 - 4]
jne 0x1000a649e
xor r10d, r10d
test r9, r9
je 0x1000a6825
mov r8d, dword [rsp + 0xa8]
mov r15d, 0x9ffb0838
mov eax, dword [rsp + 0xac]
movzx ecx, byte [r10 + rdi]
inc r10
sub ecx, 0x6004f7c8
add r8d, ecx
add ecx, eax
imul ecx, ecx, 0x9ffb0838
ror ecx, 1
mov eax, ecx
imul eax, eax, 0x6581
rol eax, 8
ror ecx, 8
xor eax, ecx
imul rax, r15
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x28]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
add r8d, eax
mov dword [rsp + 0xac], eax
cmp r10, r9
mov dword [rsp + 0xa8], r8d
jb 0x1000a6408
mov r15, qword [rsp + 0x48]
jmp 0x1000a6825
mov eax, dword [rbx + r10*8 + 0x226ed0]
mov edx, dword [rbx + rdx*8 + 0x226ed4]
and edx, ebp
and eax, r13d
add edx, eax
add rdx, r14
jmp 0x1000a62e4
lea rdx, [0x100000000]
lea rax, [rdi + r9]
movsxd rcx, dword [0x10000003c]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x60], rax
mov eax, edi
sub eax, edx
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov r11d, eax
mov ecx, eax
add rcx, r9
and r11, 0xfffffffffffff000
sub rax, r11
mov qword [rsp + 0x28], rax
mov rax, rcx
and rax, 0xfffffffffffff000
mov qword [rsp + 0x70], rax
sub rcx, rax
mov qword [rsp + 0x80], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x30], rcx
jmp 0x1000a6515
mov eax, dword [r8]
cmp rax, r11
jae 0x1000a651a
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000a6506
xor esi, esi
cmp r8, rcx
mov r10d, 0xfff
je 0x1000a655b
mov eax, dword [r8]
cmp rax, r11
jne 0x1000a655b
mov ecx, dword [r8 + 4]
sub rcx, r14
shr rcx, 1
je 0x1000a655b
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x28]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000a655b
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000a6544
mov r9d, dword [rsp + 0xac]
mov r11d, dword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
mov ecx, 0xf000
mov r13d, 0x9ffb0838
mov rdx, qword [rsp + 0x70]
cmp r8, qword [rsp + 0x30]
je 0x1000a6788
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a6788
mov ebp, dword [r8 + 4]
lea rax, [rbp - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000a65c5
add r8, rbp
cmp r8, qword [rsp + 0x30]
je 0x1000a6788
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a6788
xor esi, esi
jmp 0x1000a6597
mov eax, dword [r8]
cmp rax, rdx
jne 0x1000a65e4
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x80]
jae 0x1000a6788
mov rax, rsi
mov qword [rsp + 0x58], rax
inc rsi
test word [r8 + rax*2 + 8], cx
je 0x1000a6580
lea rcx, [0x100000000]
xor ebp, ebp
movzx eax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
add rax, rcx
mov qword [rsp + 0x68], rax
mov rcx, rax
sub rcx, rdi
je 0x1000a6697
mov r15, rcx
movzx ecx, byte [rdi + rbp]
inc rbp
sub ecx, 0x6004f7c8
add r11d, ecx
add ecx, r9d
imul ecx, ecx, 0x9ffb0838
ror ecx, 1
mov eax, ecx
imul eax, eax, 0x6581
rol eax, 8
ror ecx, 8
xor eax, ecx
imul rax, r13
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x28]
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 r11d, r9d
mov dword [rsp + 0xa8], r11d
cmp rbp, r15
jb 0x1000a661f
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x58]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
mov qword [rsp + 0x108], rax
cmp ecx, 3
je 0x1000a66c1
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x1000a66c6
mov edx, 2
mov rdi, rbx
neg rdi
sub edx, 2
je 0x1000a66ec
cmp edx, 1
je 0x1000a66dc
or rdi, 0xffffffffffffffff
jmp 0x1000a66f6
add rax, rdi
mov rdi, r14
mov qword [rsp + 0x108], rax
jmp 0x1000a66f6
add dword [rsp + 0x108], edi
mov rdi, r12
xor r13d, r13d
test rdi, rdi
je 0x1000a677b
mov ebp, 0x9ffb0838
movzx ecx, byte [rsp + r13 + 0x108]
inc r13
sub ecx, 0x6004f7c8
add r11d, ecx
add ecx, r9d
imul ecx, ecx, 0x9ffb0838
ror ecx, 1
mov eax, ecx
imul eax, eax, 0x6581
rol eax, 8
ror ecx, 8
xor eax, ecx
imul rax, rbp
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x28]
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 r11d, r9d
cmp r13, rdi
jb 0x1000a6703
mov dword [rsp + 0xac], r9d
mov dword [rsp + 0xa8], r11d
mov rax, qword [rsp + 0x68]
add rdi, rax
jmp 0x1000a6570
mov rbp, qword [rsp + 0x40]
xor r8d, r8d
mov r10, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x48]
sub r10, rdi
mov bl, r8b
je 0x1000a6825
mov ebp, 0x9ffb0838
movzx ecx, byte [r8 + rdi]
inc r8
sub ecx, 0x6004f7c8
add r11d, ecx
add ecx, r9d
imul ecx, ecx, 0x9ffb0838
ror ecx, 1
mov eax, ecx
imul eax, eax, 0x6581
rol eax, 8
ror ecx, 8
xor eax, ecx
imul rax, rbp
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x28]
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 r11d, r9d
cmp r8, r10
mov dword [rsp + 0xac], r9d
mov dword [rsp + 0xa8], r11d
jb 0x1000a67ac
mov rbp, qword [rsp + 0x40]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0xa8]
cmp rcx, r14
mov byte [rsp + rcx + 0x1c7], al
jb 0x1000a6827
mov eax, 0x5d74f2ac
mov r9, r15
mov rsi, rbp
mov r11d, dword [rsp + 0x24]
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x30], r13
and r9d, 7
mov qword [rsp + 0x28], r9
je 0x1000a6d79
xor r10d, r10d
mov dword [rsp + 0x50], r10d
xor ebp, ebp
mov dword [rsp + 0x38], ebp
mov r15d, r11d
not r15d
xor edi, edi
test r9d, r9d
jle 0x1000a68c8
lea r8d, [r10 + 0x38]
movzx edx, byte [rsi]
cmp edi, r12d
jge 0x1000a68a5
lea ecx, [r8 - 0x20]
shl edx, cl
or ebp, edx
jmp 0x1000a68ad
mov ecx, r8d
shl edx, cl
or r10d, edx
inc edi
inc rsi
sub r8d, r14d
cmp edi, r9d
jl 0x1000a6893
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x50], r10d
mov qword [rsp + 0x68], rsi
movzx esi, word [rsp + 0x1ca]
mov r10d, dword [rsp + 0x1cc]
mov edx, r11d
movzx edi, word [rsp + 0x1ce]
movzx ebp, r10w
mov r8d, ebp
mov ecx, edi
xor r8d, r11d
rol r8d, 6
rol edx, 7
imul ecx, r8d
xor edx, ecx
xor r15d, edx
mov edx, eax
mov ecx, ebp
sub edx, r15d
rol edx, 1
mov r9d, r15d
ror r9d, 3
imul ecx, edx
add r9d, ecx
mov ecx, esi
xor r9d, r11d
mov edx, r9d
lea r8d, [r9 + r10]
ror r8d, 2
movzx r10d, ax
rol edx, 0xe
imul ecx, r8d
mov r8d, r10d
sub ecx, edx
xor r15d, ecx
mov r11d, r15d
sub r11d, r10d
xor r11d, r9d
mov r9d, dword [rsp + 0x1cc]
xor r11d, r9d
mov ecx, r11d
not ecx
ror ecx, 0xa
add ecx, edi
imul ecx, r10d
xor r15d, ecx
mov ecx, edi
xor ecx, r15d
mov edx, r15d
ror edx, 8
imul ecx, ebp
xor edx, ecx
mov ecx, esi
xor r11d, edx
xor r8d, r11d
rol r8d, 6
mov edx, r11d
ror edx, 3
imul ecx, r8d
add edx, ecx
mov ecx, ebp
xor r15d, edx
mov edx, r15d
xor ecx, r15d
ror edx, 0xb
imul ecx, r10d
sub ecx, edx
xor r11d, ecx
mov ecx, r11d
ror ecx, 0xc
sub ecx, edi
mov edi, dword [rsp + 0x38]
imul ecx, ebp
xor r15d, ecx
mov ecx, r15d
mov edx, r15d
xor edx, eax
rol edx, 6
rol ecx, 3
imul ebp, edx
xor ecx, ebp
xor r11d, ecx
mov ecx, r11d
xor ecx, r9d
rol ecx, 3
imul esi, ecx
mov ecx, r11d
shr ecx, 0xa
sub esi, ecx
xor r15d, esi
xor edi, r15d
xor r15d, dword [rsp + 0x50]
mov r8d, r15d
mov rcx, qword [rsp + 0x28]
xor edi, r11d
xor edi, r9d
xor r9d, r9d
xor edi, eax
mov edx, edi
test ecx, ecx
jle 0x1000a6a32
mov rax, r13
cmp r9d, r12d
jge 0x1000a6a10
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000a6a1d
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000a69ff
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1c8]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000a6d60
sub r12d, ecx
shl r12d, 3
mov ecx, r12d
shr r15d, cl
shl r15d, cl
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x68]
mov r12, qword [rsp + 0x48]
mov rcx, r12
shr rcx, 3
test rcx, rcx
je 0x1000a6ca4
mov r13, rcx
mov r12d, dword [rsp + 0x50]
movzx r8d, ax
mov r9d, dword [rsp + 0x1cc]
movzx edx, r9w
mov rbp, qword [rsp + 0x30]
mov dword [rsp + 0x24], edx
mov dword [rsp + 0x60], r8d
movzx r10d, byte [rsi + 4]
movzx ecx, byte [rsi + 1]
movzx r11d, byte [rsi]
shl r11d, 8
shl r10d, 8
or r11d, ecx
movzx ecx, byte [rsi + 2]
shl r11d, 8
or r11d, ecx
shl r11d, 8
movzx ecx, byte [rsi + 3]
or r11d, ecx
movzx ecx, byte [rsi + 5]
or r10d, ecx
movzx ecx, byte [rsi + 6]
xor edi, r11d
mov r8d, edi
xor edx, edi
shl r10d, 8
or r10d, ecx
movzx ecx, byte [rsi + 7]
add rsi, r14
shl r10d, 8
or r10d, ecx
movzx ecx, word [rsp + 0x1ce]
rol edx, 6
rol r8d, 7
imul ecx, edx
xor r8d, ecx
xor r8d, r10d
mov ecx, dword [rsp + 0x24]
xor r15d, r8d
mov r8d, eax
sub r8d, r15d
rol r8d, 1
mov edx, r15d
ror edx, 3
imul ecx, r8d
add edx, ecx
movzx ecx, word [rsp + 0x1ca]
xor edi, edx
lea r8d, [rdi + r9]
mov edx, edi
ror r8d, 2
rol edx, 0xe
imul ecx, r8d
mov r8d, dword [rsp + 0x60]
sub ecx, edx
xor r15d, ecx
mov r9d, r15d
sub r9d, r8d
xor r9d, edi
movzx edi, word [rsp + 0x1ce]
xor r9d, dword [rsp + 0x1cc]
mov ecx, r9d
not ecx
ror ecx, 0xa
add ecx, edi
imul ecx, r8d
xor r15d, ecx
mov edx, r15d
mov ecx, edi
xor ecx, r15d
mov edi, dword [rsp + 0x24]
ror edx, 8
imul ecx, edi
xor edx, ecx
movzx ecx, word [rsp + 0x1ca]
xor r9d, edx
xor r8d, r9d
mov edx, r9d
rol r8d, 6
ror edx, 3
imul ecx, r8d
mov r8d, dword [rsp + 0x60]
add edx, ecx
xor r15d, edx
mov edx, r15d
mov ecx, edi
ror edx, 0xb
xor ecx, r15d
imul ecx, r8d
sub ecx, edx
xor r9d, ecx
mov ecx, r9d
movzx edx, word [rsp + 0x1ce]
ror ecx, 0xc
sub ecx, edx
imul ecx, edi
xor r15d, ecx
mov ecx, edi
mov edi, dword [rsp + 0x38]
mov dword [rsp + 0x38], r11d
mov r8d, r15d
xor r8d, eax
mov edx, r15d
rol r8d, 6
rol edx, 3
imul ecx, r8d
mov r8d, dword [rsp + 0x1cc]
xor edx, ecx
xor r9d, edx
movzx edx, word [rsp + 0x1ca]
mov ecx, r9d
xor ecx, r8d
rol ecx, 3
imul edx, ecx
mov ecx, r9d
shr ecx, 0xa
sub edx, ecx
xor r15d, edx
xor edi, r15d
xor r15d, r12d
mov r12d, r10d
mov edx, dword [rsp + 0x24]
xor edi, r9d
mov r9d, r8d
xor edi, r8d
xor edi, eax
xor bl, dil
mov byte [rbp + 3], dil
mov byte [rbp + 7], r15b
xor bl, r15b
ror edi, 8
ror r15d, 8
mov byte [rbp + 2], dil
mov byte [rbp + 6], r15b
xor bl, dil
ror edi, 8
xor bl, r15b
mov byte [rbp + 1], dil
ror r15d, 8
mov byte [rbp + 5], r15b
xor bl, dil
ror edi, 8
xor bl, r15b
ror r15d, 8
mov byte [rbp], dil
mov byte [rbp + 4], r15b
mov cl, r15b
xor cl, dil
add rbp, r14
xor bl, cl
ror edi, 8
ror r15d, 8
sub r13, 1
jne 0x1000a6a92
mov r13, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
cmp bl, byte [r12 + rbp + 8]
je 0x1000a6da6
call fcn.1000de678
lea r13, [0x100046aec]
mov rbx, rax
mov rax, qword [rsp + 0xe0]
mov r8d, 0xffff
mov qword [rax + 0x10], r13
and rbx, 0xfffffffffffff000
lea r10, [rax + 0x18]
mov rax, qword [0x100346e50]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, 0xfffffffffffff000
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 0x1000a6cf7
mov qword [0x100346e50], rax
movabs rax, 0x8000800080008001
mul r9
shr rdx, 0xf
mov rax, qword [rsp + 0xd8]
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x28], r8
jmp 0x1000a6d9c
xor r15d, r15d
test ecx, ecx
jns 0x1000a6a4d
neg ecx
shl ecx, 3
shr edi, cl
shl edi, cl
jmp 0x1000a6a4d
mov ecx, r11d
not ecx
xor r15d, r15d
mov dword [rsp + 0x38], r11d
xor edi, edi
mov dword [rsp + 0x50], ecx
jmp 0x1000a6a57
mov rax, qword [rsp + 0x28]
mov qword [r10], rax
add r10, r14
cmp r10, r11
jb 0x1000a6d91
jmp 0x1000a6271
mov rdi, rbp
sub rdi, r13
lea r14, [0x100000000]
mov rsi, r14
mov rax, qword [0x100037580]
sub rsi, rax
jne 0x1000a6dcb
test rdi, rdi
je 0x1000a6266
mov rbx, r13
xor r8d, r8d
mov rcx, qword [0x100021bc8]
lea r15, [0x100000000]
sub rbx, rbp
lea r9d, [rcx - 1]
sub ebp, r14d
add r12d, ebp
test r9d, r9d
js 0x1000a6e22
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x21bcc]
and r10d, 0xfffffff
cmp ebp, r10d
jae 0x1000a6e17
lea r9d, [rdx - 1]
jmp 0x1000a6e1d
jbe 0x1000a6e2a
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000a6df1
movsxd r11, r8d
jmp 0x1000a6eac
mov r11, rdx
jmp 0x1000a6eac
mov edx, dword [r15 + r11*4 + 0x21bcc]
mov eax, edx
and eax, 0xfffffff
cmp eax, r12d
jae 0x1000a6266
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 0x1000a6e88
sub r8d, 1
je 0x1000a6e83
cmp r8d, 1
jne 0x1000a6e8e
mov r10, rsi
jmp 0x1000a6e8e
mov r10, rdi
jmp 0x1000a6e8e
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x1000a6e9e
cmp edx, 1
jne 0x1000a6ea9
add qword [r9 + rbx], r10
jmp 0x1000a6ea2
add dword [r9 + rbx], r10d
mov rcx, qword [0x100021bc8]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000a6e2f
jmp 0x1000a6266
mov edx, dword [0x10000003c]
cmp rdi, r14
jb 0x1000acdba
movsxd rax, edx
mov ecx, dword [rax + r14 + 0x50]
add rcx, r14
cmp rdi, rcx
jae 0x1000a7abd
mov ecx, dword [0x10026c9e8]
mov r9d, r12d
mov r8d, edi
sub r8d, r14d
sub ecx, r11d
js 0x1000a6f26
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x77b0]
shr eax, 1
and eax, ebp
mov r10, rdx
cmp r8d, eax
jae 0x1000a6f17
lea ecx, [rdx - 1]
jmp 0x1000a6f21
jbe 0x1000a70b7
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000a6ef3
mov rdx, r12
cmp rdx, r12
je 0x1000a7ab7
mov r8, r12
mov r11d, dword [0x1000d5e38]
mov ebp, dword [rdx]
mov rax, rbp
shr rbp, 4
shr rax, 1
mov qword [rsp + 0x68], rbp
sub r11, rbp
and eax, 7
lea r15, [rax + rdx + 8]
mov qword [rsp + 0x48], r15
inc r11
mov r9d, r15d
sub r9d, r14d
mov r10, r11
mov dword [rsp + 0x24], r9d
cmp r11, r12
je 0x1000a6fa8
mov rax, qword [0x100346e50]
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, r12
jne 0x1000a6f7a
mov qword [0x100346e50], rax
xor edx, edx
mov ecx, r9d
mov rax, r8
div r11
lea r13, [rsi + rdx]
mov qword [rsp + 0x78], r13
mov r8, r13
mov rdx, rbp
mov eax, 0x8709bf58
lea rcx, [rsp + 0x178]
mov r11, qword [r15 + rbp]
mov qword [rsp + 0x178], r11
mov bl, r12b
mov eax, 0xee0540cc
mov eax, 0xfffffff
mov r9d, dword [rsp + 0x17c]
mov rdi, qword [rsp + 0x178]
mov rcx, r14
and rdi, rax
and r9, rax
mov rax, qword [0x100037580]
mov qword [rsp + 0xc8], r12
add rdi, r14
mov r14d, 8
sub rcx, rax
mov qword [rsp + 0x58], rcx
lea r12d, [r14 - 4]
jne 0x1000a70d7
xor r10d, r10d
test r9, r9
je 0x1000a7441
mov r15d, 0xfca946ef
mov eax, dword [rsp + 0xcc]
mov r8d, dword [rsp + 0xc8]
movzx ecx, byte [r10 + rdi]
inc r10
sub ecx, 0x356b911
add r8d, ecx
add ecx, eax
mov eax, ecx
imul eax, eax, 0x7fd3
rol eax, 0xf
ror ecx, 0xf
xor eax, ecx
imul rax, r15
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x28]
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 dword [rsp + 0xcc], eax
add r8d, eax
cmp r10, r9
mov dword [rsp + 0xc8], r8d
jb 0x1000a704c
jmp 0x1000a743c
mov edx, dword [rbx + rdx*8 + 0x77b0]
shr edx, 1
mov eax, dword [rbx + r10*8 + 0x77b4]
and eax, r13d
and edx, ebp
add edx, eax
add rdx, r14
jmp 0x1000a6f29
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
mov r8d, dword [rcx + rdx + 0xb0]
lea rax, [rdi + r9]
mov qword [rsp + 0x60], rax
mov eax, edi
sub eax, edx
mov r11d, eax
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
add rcx, r9
and r11, 0xfffffffffffff000
sub rax, r11
mov qword [rsp + 0x28], rax
mov rax, rcx
and rax, 0xfffffffffffff000
sub rcx, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x40], rcx
jmp 0x1000a714e
mov eax, dword [r8]
cmp rax, r11
jae 0x1000a7153
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000a713f
mov r10d, 0xfff
xor esi, esi
cmp r8, rcx
je 0x1000a7194
mov eax, dword [r8]
cmp rax, r11
jne 0x1000a7194
mov ecx, dword [r8 + 4]
sub rcx, r14
shr rcx, 1
je 0x1000a7194
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x28]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000a7194
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000a717d
mov r9d, dword [rsp + 0xcc]
mov r15d, 0xfca946ef
mov r11d, dword [rsp + 0xc8]
mov rbx, qword [rsp + 0x58]
mov ecx, 0xf000
mov rbp, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x70]
cmp r8, rbp
je 0x1000a73ab
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a73ab
mov r13d, dword [r8 + 4]
lea rax, [r13 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000a71ff
add r8, r13
cmp r8, rbp
je 0x1000a73ab
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a73ab
xor esi, esi
jmp 0x1000a71d3
mov eax, dword [r8]
cmp rax, rdx
jne 0x1000a721e
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x80]
jae 0x1000a73ab
mov rax, rsi
inc rsi
mov qword [rsp + 0x58], rax
test word [r8 + rax*2 + 8], cx
je 0x1000a71be
xor ebp, ebp
lea rcx, [0x100000000]
movzx eax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
add rax, rcx
mov rcx, rax
sub rcx, rdi
mov qword [rsp + 0x30], rax
je 0x1000a72c9
mov r13, rcx
movzx ecx, byte [rdi + rbp]
inc rbp
sub ecx, 0x356b911
add r11d, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0x7fd3
rol eax, 0xf
ror ecx, 0xf
xor eax, ecx
imul rax, r15
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x28]
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 + 0xcc], r9d
add r11d, r9d
cmp rbp, r13
mov dword [rsp + 0xc8], r11d
jb 0x1000a7259
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
movzx ecx, word [r8 + rcx*2 + 8]
mov rax, qword [rax]
mov qword [rsp + 0x128], rax
shr ecx, 0xc
cmp ecx, 3
je 0x1000a72f3
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x1000a72f8
mov edx, 2
mov rdi, rbx
neg rdi
sub edx, 2
je 0x1000a731e
cmp edx, 1
je 0x1000a730e
or rdi, 0xffffffffffffffff
jmp 0x1000a7328
add rax, rdi
mov rdi, r14
mov qword [rsp + 0x128], rax
jmp 0x1000a7328
add dword [rsp + 0x128], edi
mov rdi, r12
xor ebp, ebp
test rdi, rdi
je 0x1000a739e
movzx ecx, byte [rsp + rbp + 0x128]
inc rbp
sub ecx, 0x356b911
add r11d, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0x7fd3
rol eax, 0xf
ror ecx, 0xf
xor eax, ecx
imul rax, r15
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x28]
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 r11d, r9d
cmp rbp, rdi
jb 0x1000a732f
mov dword [rsp + 0xcc], r9d
mov dword [rsp + 0xc8], r11d
mov rax, qword [rsp + 0x30]
add rdi, rax
jmp 0x1000a71af
mov rbp, qword [rsp + 0x68]
mov r10, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
xor r8d, r8d
sub r10, rdi
mov r15, qword [rsp + 0x48]
mov bl, r8b
je 0x1000a7441
mov r15d, 0xfca946ef
movzx ecx, byte [r8 + rdi]
inc r8
sub ecx, 0x356b911
add r11d, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0x7fd3
rol eax, 0xf
ror ecx, 0xf
xor eax, ecx
imul rax, r15
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x28]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov r9d, edx
sar r9d, 0x1f
btr r9d, 0x1f
add r9d, edx
add r11d, r9d
cmp r8, r10
mov dword [rsp + 0xcc], r9d
mov dword [rsp + 0xc8], r11d
jb 0x1000a73d0
mov r15, qword [rsp + 0x48]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0xc8]
mov byte [rsp + rcx + 0x1af], al
cmp rcx, r14
jb 0x1000a7443
mov eax, 0xe6a780da
mov r9, rbp
mov rax, qword [rsp + 0x1b0]
and r9d, 7
mov qword [rsp + 0x40], r15
mov rdi, r15
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], r13
je 0x1000a7975
xor r10d, r10d
mov esi, dword [rsp + 0x24]
xor ebp, ebp
not esi
xor r11d, r11d
test r9d, r9d
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x50], ebp
jle 0x1000a74e1
lea r8d, [r10 + 0x38]
movzx edx, byte [rdi]
cmp r11d, r12d
jge 0x1000a74bd
lea ecx, [r8 - 0x20]
shl edx, cl
or ebp, edx
jmp 0x1000a74c5
mov ecx, r8d
shl edx, cl
or r10d, edx
inc r11d
inc rdi
sub r8d, r14d
cmp r11d, r9d
jl 0x1000a74ab
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x40], rdi
movzx r9d, word [rsp + 0x1b6]
mov ecx, esi
movzx edi, ax
movzx r10d, word [rsp + 0x1b2]
mov edx, esi
sub edx, eax
rol edx, 5
mov r8d, dword [rsp + 0x1b4]
ror ecx, 0x10
movzx r11d, r8w
mov ebp, r11d
imul ebp, edx
sub ebp, ecx
mov ecx, edi
xor ebp, dword [rsp + 0x24]
mov edx, ebp
xor ecx, ebp
ror edx, 0xc
imul ecx, r10d
add edx, ecx
mov ecx, edi
xor esi, edx
mov edx, esi
add r8d, esi
ror r8d, 5
rol edx, 0xa
imul ecx, r8d
sub ecx, edx
mov edx, r11d
xor ebp, ecx
mov ecx, ebp
xor edx, ebp
shr ecx, 0xb
imul edx, r9d
xor edx, ecx
xor esi, edx
mov r8d, esi
xor r8d, eax
ror r8d, 5
mov edx, esi
rol edx, 8
mov ecx, r11d
imul ecx, r8d
xor edx, ecx
mov r8d, r10d
xor ebp, edx
mov edx, r10d
mov ecx, ebp
xor ecx, dword [rsp + 0x1b4]
rol ecx, 1
imul edx, ecx
mov ecx, ebp
shr ecx, 0xd
sub edx, ecx
mov ecx, edi
xor esi, edx
mov edx, esi
xor r8d, esi
rol r8d, 3
rol edx, 0xb
imul ecx, r8d
mov r8d, dword [rsp + 0x1b4]
xor edx, ecx
xor ebp, edx
xor esi, ebp
xor esi, r8d
xor esi, eax
mov ecx, esi
mov edx, esi
xor edx, eax
rol edx, 8
ror ecx, 5
imul r11d, edx
sub r11d, ecx
xor ebp, r11d
mov ecx, ebp
xor r9d, ebp
shr ecx, 9
imul r9d, r10d
add r9d, ecx
xor esi, r9d
mov edx, esi
mov ecx, esi
xor esi, dword [rsp + 0x38]
sub ecx, r8d
xor r9d, r9d
mov r8d, dword [rsp + 0x50]
ror ecx, 7
rol edx, 9
imul edi, ecx
mov rcx, qword [rsp + 0x28]
xor edx, edi
xor edx, r8d
xor ebp, edx
test ecx, ecx
mov r8d, esi
mov edx, ebp
jle 0x1000a763e
mov rax, r13
cmp r9d, r12d
jge 0x1000a761c
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000a7629
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000a760b
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1b0]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000a795d
sub r12d, ecx
shl r12d, 3
mov ecx, r12d
shr esi, cl
shl esi, cl
mov r12d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov r11, qword [rsp + 0x68]
mov rcx, r11
shr rcx, 3
test rcx, rcx
mov qword [rsp + 0x28], rcx
je 0x1000a78a1
movzx edx, word [rsp + 0x1b4]
movzx ecx, ax
mov r15, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x50]
mov dword [rsp + 0x38], ecx
movzx r10d, byte [rdi]
movzx ecx, byte [rdi + 1]
movzx r9d, byte [rdi + 4]
shl r10d, 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
shl r9d, 8
movzx ecx, byte [rdi + 6]
or r9d, ecx
movzx ecx, byte [rdi + 7]
add rdi, r14
shl r9d, 8
or r9d, ecx
xor esi, r9d
mov ecx, esi
mov r8d, esi
sub r8d, eax
rol r8d, 5
ror ecx, 0x10
imul edx, r8d
movzx r8d, word [rsp + 0x1b2]
sub edx, ecx
xor edx, r10d
xor ebp, edx
mov edx, ebp
mov ecx, dword [rsp + 0x38]
xor ecx, ebp
ror edx, 0xc
imul ecx, r8d
add edx, ecx
xor esi, edx
mov ecx, dword [rsp + 0x1b4]
lea r8d, [rsi + rcx]
mov edx, esi
mov ecx, dword [rsp + 0x38]
ror r8d, 5
rol edx, 0xa
imul ecx, r8d
sub ecx, edx
xor ebp, ecx
movzx ecx, word [rsp + 0x1b6]
movzx edx, word [rsp + 0x1b4]
xor edx, ebp
imul edx, ecx
mov ecx, ebp
shr ecx, 0xb
xor edx, ecx
xor esi, edx
movzx ecx, word [rsp + 0x1b4]
mov r8d, esi
xor r8d, eax
ror r8d, 5
mov edx, esi
rol edx, 8
imul ecx, r8d
movzx r8d, word [rsp + 0x1b2]
xor edx, ecx
xor ebp, edx
mov edx, r8d
mov ecx, ebp
xor ecx, dword [rsp + 0x1b4]
rol ecx, 1
imul edx, ecx
mov ecx, ebp
shr ecx, 0xd
sub edx, ecx
xor esi, edx
mov edx, esi
xor r8d, esi
rol r8d, 3
mov ecx, dword [rsp + 0x38]
rol edx, 0xb
imul ecx, r8d
xor edx, ecx
movzx ecx, word [rsp + 0x1b4]
xor ebp, edx
xor esi, ebp
xor esi, dword [rsp + 0x1b4]
xor esi, eax
mov r8d, esi
xor r8d, eax
mov edx, esi
rol r8d, 8
ror edx, 5
imul ecx, r8d
sub ecx, edx
movzx edx, word [rsp + 0x1b6]
xor ebp, ecx
xor edx, ebp
movzx ecx, word [rsp + 0x1b2]
imul edx, ecx
mov ecx, ebp
shr ecx, 9
add edx, ecx
mov ecx, dword [rsp + 0x38]
xor esi, edx
mov edx, esi
mov r8d, esi
xor esi, r12d
sub edx, dword [rsp + 0x1b4]
mov r12d, r9d
ror edx, 7
rol r8d, 9
imul ecx, edx
movzx edx, word [rsp + 0x1b4]
xor r8d, ecx
xor r8d, r13d
xor ebp, r8d
mov byte [r11 + 3], bpl
mov byte [r11 + 7], sil
mov r13d, r10d
xor bl, bpl
xor bl, sil
ror ebp, 8
mov byte [r11 + 2], bpl
ror esi, 8
mov byte [r11 + 6], sil
xor bl, bpl
ror ebp, 8
mov byte [r11 + 1], bpl
xor bl, sil
ror esi, 8
xor bl, bpl
ror ebp, 8
xor bl, sil
mov byte [r11 + 5], sil
mov byte [r11], bpl
ror esi, 8
mov cl, sil
xor cl, bpl
mov byte [r11 + 4], sil
add r11, r14
xor bl, cl
ror ebp, 8
ror esi, 8
sub r15, 1
jne 0x1000a7699
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x78]
mov r11, qword [rsp + 0x68]
cmp bl, byte [r15 + r11 + 8]
je 0x1000a79a1
call fcn.1000de678
lea r13, [0x100046aec]
mov r8d, 0xffff
mov rbx, rax
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r13
lea r10, [rax + 0x18]
mov rax, qword [0x100346e50]
and rbx, 0xfffffffffffff000
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, 0xfffffffffffff000
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 0x1000a78f4
mov qword [0x100346e50], rax
movabs rax, 0x8000800080008001
mul r9
shr rdx, 0xf
mov rax, qword [rsp + 0xd8]
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x28], r8
jmp 0x1000a7997
xor esi, esi
test ecx, ecx
jns 0x1000a7657
neg ecx
shl ecx, 3
shr ebp, cl
shl ebp, cl
jmp 0x1000a7657
mov ecx, dword [rsp + 0x24]
mov dword [rsp + 0x50], ecx
mov r12d, ecx
xor esi, esi
xor ebp, ebp
not r12d
jmp 0x1000a7661
mov rax, qword [rsp + 0x28]
mov qword [r10], rax
add r10, r14
cmp r10, r11
jb 0x1000a798c
jmp 0x1000a6271
lea r12, [0x100000000]
mov rdi, r15
mov rax, qword [0x100037580]
mov rsi, r12
sub rdi, r13
sub rsi, rax
jne 0x1000a79c6
test rdi, rdi
je 0x1000a6266
lea r14, [0x100000000]
xor r8d, r8d
mov rcx, qword [0x100021bc8]
lea r9d, [rcx - 1]
mov rbx, r13
sub rbx, r15
sub r15d, r12d
test r9d, r9d
lea ebp, [r11 + r15]
js 0x1000a7a1e
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 0x21bcc]
and r10d, 0xfffffff
cmp r15d, r10d
jae 0x1000a7a13
lea r9d, [rdx - 1]
jmp 0x1000a7a19
jbe 0x1000a7a26
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000a79ed
movsxd r11, r8d
jmp 0x1000a7aa7
mov r11, rdx
jmp 0x1000a7aa7
mov edx, dword [r14 + r11*4 + 0x21bcc]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000a6266
mov r9, rdx
mov r8d, edx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r12
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x1000a7a83
sub r8d, 1
je 0x1000a7a7e
cmp r8d, 1
jne 0x1000a7a89
mov r10, rsi
jmp 0x1000a7a89
mov r10, rdi
jmp 0x1000a7a89
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x1000a7a99
cmp edx, 1
jne 0x1000a7aa4
add qword [r9 + rbx], r10
jmp 0x1000a7a9d
add dword [r9 + rbx], r10d
mov rcx, qword [0x100021bc8]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000a7a2b
jmp 0x1000a6266
mov edx, dword [0x10000003c]
cmp rdi, r14
jb 0x1000acdba
movsxd rax, edx
mov ecx, dword [rax + r14 + 0x50]
add rcx, r14
cmp rdi, rcx
jae 0x1000a86b1
mov r8d, edi
sub r8d, r14d
mov r9d, r12d
mov ecx, dword [0x10003da10]
sub ecx, r11d
js 0x1000a7b1f
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x15cd0]
and eax, ebp
cmp r8d, eax
mov r10, rdx
jae 0x1000a7b10
lea ecx, [rdx - 1]
jmp 0x1000a7b1a
jbe 0x1000a7cb9
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000a7aee
mov rdx, r12
cmp rdx, r12
je 0x1000a86ab
mov r15d, dword [rdx]
mov r8, r12
mov rax, r15
mov r11d, dword [0x1000d5e38]
shr r15, 3
and r15, rbp
mov qword [rsp + 0x70], r15
and eax, 7
sub r11, r15
inc r11
lea rbx, [rax + rdx + 8]
mov r9d, ebx
mov r10, r11
sub r9d, r14d
cmp r11, r12
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x24], r9d
je 0x1000a7ba2
mov rax, qword [0x100346e50]
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, r12
jne 0x1000a7b74
mov qword [0x100346e50], rax
xor edx, edx
mov rax, r8
mov ecx, r9d
div r11
lea r13, [rsi + rdx]
mov rdx, r15
mov qword [rsp + 0x78], r13
mov r8, r13
mov eax, 0xd63c7d73
lea rcx, [rsp + 0x140]
mov r11, qword [rbx + r15]
mov bl, r12b
mov qword [rsp + 0x140], r11
mov byte [rsp + 0x20], bl
mov eax, 0x6b0225dd
mov rdi, qword [rsp + 0x140]
mov rax, qword [0x100037580]
and rdi, rbp
mov rcx, r14
add rdi, r14
mov r9d, dword [rsp + 0x144]
mov r14d, 8
and r9, rbp
mov rbp, 0xfffffffffffff000
mov qword [rsp + 0x98], r12
sub rcx, rax
mov qword [rsp + 0x38], rcx
lea r12d, [r14 - 4]
jne 0x1000a7cd7
xor r11d, r11d
test r9, r9
je 0x1000a8037
mov ecx, dword [rsp + 0x9c]
mov r10d, dword [rsp + 0x98]
mov r8d, 0xe7acf032
movzx eax, byte [r11 + rdi]
inc r11
sub eax, 0x18530fce
add r10d, eax
add eax, ecx
imul rax, r8
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x30]
shr rax, 0x20
add eax, ecx
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 ecx, edx
sar ecx, 0x1f
btr ecx, 0x1f
add ecx, edx
add r10d, ecx
mov dword [rsp + 0x9c], ecx
mov dword [rsp + 0x98], r10d
cmp r11, r9
jb 0x1000a7c4c
jmp 0x1000a8037
mov edx, dword [rbx + rdx*8 + 0x15cd4]
and edx, r13d
mov eax, dword [rbx + r10*8 + 0x15cd0]
and eax, ebp
add edx, eax
add rdx, r14
jmp 0x1000a7b22
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
lea rax, [rdi + r9]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x50], rax
mov eax, edi
sub eax, edx
add r8, rdx
mov r11d, eax
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
add rcx, r9
and r11, rbp
sub rax, r11
mov qword [rsp + 0x28], rax
mov rax, rcx
and rax, rbp
mov qword [rsp + 0x58], rax
sub rcx, rax
mov qword [rsp + 0x80], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x68], rcx
jmp 0x1000a7d47
mov eax, dword [r8]
cmp rax, r11
jae 0x1000a7d4c
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000a7d38
mov r10d, 0xfff
xor esi, esi
cmp r8, rcx
je 0x1000a7d8d
mov eax, dword [r8]
cmp rax, r11
jne 0x1000a7d8d
mov ecx, dword [r8 + 4]
sub rcx, r14
shr rcx, 1
je 0x1000a7d8d
mov r9, qword [rsp + 0x28]
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000a7d8d
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000a7d76
mov r9d, dword [rsp + 0x9c]
mov ebx, 0xe7acf032
mov r11d, dword [rsp + 0x98]
mov r13, qword [rsp + 0x68]
mov ecx, 0xf000
mov rdx, qword [rsp + 0x58]
cmp r8, r13
je 0x1000a7fa9
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a7fa9
mov r15d, dword [r8 + 4]
lea rax, [r15 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000a7df2
add r8, r15
cmp r8, r13
je 0x1000a7fa9
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a7fa9
xor esi, esi
jmp 0x1000a7dc6
mov eax, dword [r8]
cmp rax, rdx
jne 0x1000a7e11
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x80]
jae 0x1000a7fa9
mov rax, rsi
mov qword [rsp + 0x60], rax
inc rsi
test word [r8 + rax*2 + 8], cx
je 0x1000a7db1
movzx eax, word [r8 + rax*2 + 8]
lea rcx, [0x100000000]
xor r13d, r13d
and eax, r10d
add eax, dword [r8]
add rax, rcx
mov rcx, rax
mov qword [rsp + 0x40], rax
sub rcx, rdi
je 0x1000a7ec1
mov r15, rcx
movzx eax, byte [r13 + rdi]
inc r13
sub eax, 0x18530fce
add r11d, eax
add eax, r9d
imul rax, rbx
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x30]
add eax, ecx
imul rax, rbx
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 + 0x9c], r9d
add r11d, r9d
cmp r13, r15
mov dword [rsp + 0x98], r11d
jb 0x1000a7e4d
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rax]
movzx ecx, word [r8 + rcx*2 + 8]
mov qword [rsp + 0xe8], rax
shr ecx, 0xc
cmp ecx, 3
je 0x1000a7eeb
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x1000a7ef0
mov edx, 2
mov rdi, qword [rsp + 0x38]
neg rdi
sub edx, 2
je 0x1000a7f18
cmp edx, 1
je 0x1000a7f08
or rdi, 0xffffffffffffffff
jmp 0x1000a7f22
add rax, rdi
mov qword [rsp + 0xe8], rax
mov rdi, r14
jmp 0x1000a7f22
add dword [rsp + 0xe8], edi
mov rdi, r12
xor r13d, r13d
test rdi, rdi
je 0x1000a7f9c
movzx eax, byte [rsp + r13 + 0xe8]
inc r13
sub eax, 0x18530fce
add r11d, eax
add eax, r9d
imul rax, rbx
mov qword [rsp + 0x30], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x30]
add eax, ecx
imul rax, rbx
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
add r11d, r9d
cmp r13, rdi
jb 0x1000a7f2a
mov dword [rsp + 0x9c], r9d
mov dword [rsp + 0x98], r11d
mov rax, qword [rsp + 0x40]
add rdi, rax
jmp 0x1000a7da2
xor r10d, r10d
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x70]
mov bl, r10b
mov r13, qword [rsp + 0x78]
sub rsi, rdi
je 0x1000a8037
mov r8d, 0xe7acf032
movzx eax, byte [rdi + r10]
inc r10
sub eax, 0x18530fce
add r11d, eax
add eax, r9d
imul rax, r8
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x30]
shr rax, 0x20
add eax, ecx
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 + 0x9c], r9d
add r11d, r9d
cmp r10, rsi
mov dword [rsp + 0x98], r11d
jb 0x1000a7fc9
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0x98]
mov byte [rsp + rcx + 0x1bf], al
cmp rcx, r14
jb 0x1000a8039
mov eax, 0x518fe7bf
mov rax, qword [rsp + 0x1c0]
mov r9, r15
mov r10, qword [rsp + 0x48]
and r9d, 7
mov ecx, dword [rsp + 0x24]
mov qword [rsp + 0x40], r10
mov r11, r10
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r9
je 0x1000a8565
xor r10d, r10d
mov edi, ecx
not edi
xor esi, esi
and dword [rsp + 0x50], r10d
test r9d, r9d
mov dword [rsp + 0x38], r10d
jle 0x1000a80e8
lea r8d, [r10 + 0x38]
mov ebx, dword [rsp + 0x50]
cmp esi, r12d
movzx edx, byte [r11]
jge 0x1000a80bd
lea ecx, [r8 - 0x20]
shl edx, cl
or ebx, edx
jmp 0x1000a80c5
mov ecx, r8d
shl edx, cl
or r10d, edx
inc esi
inc r11
sub r8d, r14d
cmp esi, r9d
jl 0x1000a80aa
mov ecx, dword [rsp + 0x24]
mov dword [rsp + 0x50], ebx
mov bl, byte [rsp + 0x20]
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x40], r11
movzx r8d, word [rsp + 0x1c2]
mov edx, dword [rsp + 0x1c4]
movzx r11d, ax
movzx r10d, dx
mov esi, edx
xor esi, eax
movzx r9d, word [rsp + 0x1c6]
xor esi, edi
xor esi, ecx
mov ecx, esi
sub ecx, eax
sub ecx, r9d
xor edi, ecx
mov ecx, edi
mov edx, edi
xor edx, r11d
shr ecx, 1
imul edx, r10d
add edx, ecx
xor esi, edx
mov ecx, esi
mov edx, esi
sub edx, r9d
shr ecx, 2
imul edx, r8d
sub edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
ror edx, 0xe
xor ecx, r8d
imul ecx, r11d
sub ecx, edx
mov edx, eax
xor esi, ecx
mov ecx, esi
sub edx, esi
rol edx, 8
rol ecx, 0xa
imul edx, r9d
sub edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
ror edx, 5
xor ecx, r8d
imul ecx, r10d
xor edx, ecx
xor esi, edx
mov ecx, esi
mov edx, dword [rsp + 0x1c4]
add edx, esi
ror edx, 2
rol ecx, 0xc
imul edx, r8d
add ecx, edx
mov edx, eax
xor edi, ecx
xor edx, edi
mov ecx, dword [rsp + 0x1c4]
sub ecx, edx
xor esi, ecx
mov ecx, esi
ror ecx, 5
xor ecx, r9d
imul ecx, r11d
xor edi, ecx
mov ecx, edi
mov edx, edi
xor edx, r9d
mov r9d, dword [rsp + 0x1c4]
shr ecx, 0xf
imul edx, r10d
xor edx, ecx
xor esi, edx
lea edx, [r9 + rsi]
mov ecx, esi
ror edx, 0xe
rol ecx, 0xa
imul edx, r8d
sub edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
xor edi, dword [rsp + 0x38]
xor ecx, r10d
ror edx, 3
mov r8d, edi
xor r10d, r10d
imul ecx, r11d
add edx, ecx
xor edx, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
xor esi, edx
test ecx, ecx
mov edx, esi
jle 0x1000a823a
mov rax, r13
cmp r10d, r12d
jge 0x1000a8218
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000a8225
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r10d
cmp r10d, ecx
jl 0x1000a8207
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1c0]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000a854d
sub r12d, ecx
shl r12d, 3
mov ecx, r12d
shr edi, cl
shl edi, cl
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x38]
mov rcx, r15
shr rcx, 3
test rcx, rcx
mov qword [rsp + 0x28], rcx
je 0x1000a8499
mov edx, r9d
mov r15, qword [rsp + 0x28]
movzx ecx, word [rsp + 0x1c6]
xor edx, eax
mov r13d, dword [rsp + 0x1c4]
mov r10, qword [rsp + 0x30]
mov dword [rsp + 0x68], ecx
movzx ecx, word [rsp + 0x1c2]
mov dword [rsp + 0x38], ecx
movzx ecx, r9w
mov dword [rsp + 0x60], ecx
movzx ecx, ax
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x80], edx
movzx r8d, byte [r11 + 4]
movzx r9d, byte [r11 + 1]
movzx ecx, byte [r11]
shl ecx, 8
shl r8d, 8
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r11 + 2]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r11 + 3]
or r9d, ecx
movzx ecx, byte [r11 + 5]
or r8d, ecx
movzx ecx, byte [r11 + 6]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r11 + 7]
add r11, r14
shl r8d, 8
or r8d, ecx
mov ecx, r9d
xor edi, r8d
xor ecx, edi
xor esi, ecx
xor esi, edx
mov ecx, esi
movzx edx, word [rsp + 0x1c6]
sub ecx, eax
sub ecx, edx
xor edi, ecx
mov edx, edi
mov ecx, edi
xor edx, dword [rsp + 0x24]
shr ecx, 1
imul edx, dword [rsp + 0x60]
add edx, ecx
xor esi, edx
mov edx, esi
movzx ecx, word [rsp + 0x1c6]
sub edx, ecx
movzx ecx, word [rsp + 0x1c2]
imul edx, ecx
mov ecx, esi
shr ecx, 2
sub edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
xor ecx, dword [rsp + 0x38]
ror edx, 0xe
imul ecx, dword [rsp + 0x24]
sub ecx, edx
xor esi, ecx
mov ecx, esi
mov edx, eax
sub edx, esi
rol edx, 8
rol ecx, 0xa
imul edx, dword [rsp + 0x68]
sub edx, ecx
xor edi, edx
mov ecx, edi
xor ecx, dword [rsp + 0x38]
mov edx, edi
ror edx, 5
imul ecx, dword [rsp + 0x60]
xor edx, ecx
xor esi, edx
lea edx, [r13 + rsi]
ror edx, 2
mov ecx, esi
rol ecx, 0xc
imul edx, dword [rsp + 0x38]
add ecx, edx
mov edx, eax
xor edi, ecx
xor edx, edi
mov ecx, r13d
sub ecx, edx
movzx edx, word [rsp + 0x1c6]
xor esi, ecx
mov ecx, esi
ror ecx, 5
xor ecx, edx
imul ecx, dword [rsp + 0x24]
xor edi, ecx
movzx ecx, word [rsp + 0x1c6]
mov edx, edi
xor edx, ecx
mov ecx, edi
shr ecx, 0xf
imul edx, dword [rsp + 0x60]
xor edx, ecx
xor esi, edx
lea edx, [r13 + rsi]
mov ecx, esi
ror edx, 0xe
rol ecx, 0xa
imul edx, dword [rsp + 0x38]
sub edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
xor edi, r12d
xor ecx, dword [rsp + 0x60]
mov r12d, r8d
ror edx, 3
imul ecx, dword [rsp + 0x24]
add edx, ecx
xor edx, dword [rsp + 0x50]
xor esi, edx
xor bl, sil
xor bl, dil
mov dword [rsp + 0x50], r9d
mov edx, dword [rsp + 0x80]
mov byte [r10 + 3], sil
mov byte [r10 + 7], 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
xor bl, dil
mov byte [r10 + 5], dil
ror edi, 8
mov cl, dil
xor cl, sil
mov byte [r10], sil
mov byte [r10 + 4], dil
add r10, r14
xor bl, cl
ror esi, 8
ror edi, 8
sub r15, 1
jne 0x1000a82bc
mov r15, qword [rsp + 0x70]
mov r10, qword [rsp + 0x48]
mov r13, qword [rsp + 0x78]
cmp bl, byte [r15 + r10 + 8]
je 0x1000a8595
call fcn.1000de678
lea r13, [0x100046aec]
mov r8d, 0xffff
mov rbx, rax
mov rax, qword [rsp + 0xe0]
and rbx, rbp
lea r10, [rax + 0x18]
mov qword [rax + 0x10], r13
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, rbp
xor r9d, r9d
mov rax, qword [0x100346e50]
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 0x1000a84e4
mov qword [0x100346e50], 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 + 0x28], r8
jmp 0x1000a858b
xor edi, edi
test ecx, ecx
jns 0x1000a8253
neg ecx
shl ecx, 3
shr esi, cl
shl esi, cl
jmp 0x1000a8253
mov r12d, ecx
mov r9d, dword [rsp + 0x1c4]
xor edi, edi
xor esi, esi
mov dword [rsp + 0x50], ecx
not r12d
jmp 0x1000a8262
mov rax, qword [rsp + 0x28]
mov qword [r10], rax
add r10, r14
cmp r10, r11
jb 0x1000a8580
jmp 0x1000a6271
mov rdi, r10
lea r12, [0x100000000]
mov rax, qword [0x100037580]
sub rdi, r13
mov rsi, r12
sub rsi, rax
jne 0x1000a85ba
test rdi, rdi
je 0x1000a6266
mov rbx, r13
mov rcx, qword [0x100021bc8]
lea r14, [0x100000000]
xor r8d, r8d
lea r9d, [rcx - 1]
sub rbx, r10
sub r10d, r12d
test r9d, r9d
lea ebp, [r15 + r10]
js 0x1000a8612
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r11d, dword [r14 + rdx*4 + 0x21bcc]
and r11d, 0xfffffff
cmp r10d, r11d
jae 0x1000a8607
lea r9d, [rdx - 1]
jmp 0x1000a860d
jbe 0x1000a861a
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000a85e1
movsxd r11, r8d
jmp 0x1000a869b
mov r11, rdx
jmp 0x1000a869b
mov edx, dword [r14 + r11*4 + 0x21bcc]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000a6266
mov r8d, edx
mov r9, rdx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r12
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x1000a8677
sub r8d, 1
je 0x1000a8672
cmp r8d, 1
jne 0x1000a867d
mov r10, rsi
jmp 0x1000a867d
mov r10, rdi
jmp 0x1000a867d
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x1000a868d
cmp edx, 1
jne 0x1000a8698
add qword [r9 + rbx], r10
jmp 0x1000a8691
add dword [r9 + rbx], r10d
mov rcx, qword [0x100021bc8]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000a861f
jmp 0x1000a6266
mov edx, dword [0x10000003c]
cmp rdi, r14
jb 0x1000acdba
movsxd rax, edx
mov ecx, dword [rax + r14 + 0x50]
add rcx, r14
cmp rdi, rcx
jae 0x1000a9328
mov ecx, dword [0x1001096f4]
mov r8d, edi
sub r8d, r14d
sub ecx, r11d
mov r9d, r12d
js 0x1000a8713
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x2420d8]
mov r10, rdx
and eax, ebp
cmp r8d, eax
jae 0x1000a8704
lea ecx, [rdx - 1]
jmp 0x1000a870e
jbe 0x1000a88d0
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000a86e2
mov rdx, r12
cmp rdx, r12
je 0x1000a9322
mov edi, dword [rdx]
mov r11d, dword [0x1000d5e38]
mov rax, rdi
mov r8, r12
shr rdi, 4
mov qword [rsp + 0x40], rdi
shr rax, 1
sub r11, rdi
and eax, 7
lea r15, [rax + rdx + 8]
mov qword [rsp + 0x80], r15
mov r9d, r15d
inc r11
mov r10, r11
sub r9d, r14d
cmp r11, r12
mov dword [rsp + 0x24], r9d
je 0x1000a8798
mov rax, qword [0x100346e50]
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, r12
jne 0x1000a876a
mov qword [0x100346e50], rax
mov rax, r8
xor edx, edx
div r11
mov ecx, r9d
lea r13, [rsi + rdx]
mov qword [rsp + 0x78], r13
mov r8, r13
mov rdx, rdi
mov eax, 0x6df187d5
mov bl, r12b
mov r11, qword [r15 + rdi]
mov qword [rsp + 0x150], r11
lea rcx, [rsp + 0x150]
mov eax, 0x37be51f8
mov r11, qword [rsp + 0x150]
and r11, rbp
mov rax, qword [0x100037580]
mov r9d, dword [rsp + 0x154]
mov rcx, r14
mov qword [rsp + 0x90], r12
and r9, rbp
add r11, r14
mov r14d, 8
sub rcx, rax
lea r12d, [r14 - 4]
mov qword [rsp + 0x60], rcx
mov rbp, 0xfffffffffffff000
jne 0x1000a88ee
xor esi, esi
test r9, r9
je 0x1000a8cc2
mov ecx, dword [rsp + 0x94]
mov r8d, 0xed08cdd6
mov r10d, dword [rsp + 0x90]
movzx eax, byte [r11 + rsi]
inc rsi
sub eax, 0x12f7322a
add r10d, eax
add 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 eax, eax, 0xed08cdd6
ror eax, 0xf
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 ecx, edx
sar ecx, 0x1f
btr ecx, 0x1f
add ecx, edx
add r10d, ecx
mov dword [rsp + 0x94], ecx
mov dword [rsp + 0x90], r10d
cmp rsi, r9
jb 0x1000a883d
jmp 0x1000a8cc2
mov edx, dword [rbx + rdx*8 + 0x2420dc]
mov eax, dword [rbx + r10*8 + 0x2420d8]
and edx, r13d
and eax, ebp
add edx, eax
add rdx, r14
jmp 0x1000a8716
movsxd rcx, dword [0x10000003c]
lea rdx, [0x100000000]
lea rax, [r11 + r9]
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
add rcx, r9
mov edi, eax
and rdi, rbp
sub rax, rdi
mov qword [rsp + 0x28], rax
mov rax, rcx
and rax, rbp
mov qword [rsp + 0x58], rax
sub rcx, rax
mov qword [rsp + 0x68], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x70], rcx
jmp 0x1000a895b
mov eax, dword [r8]
cmp rax, rdi
jae 0x1000a8960
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000a894c
mov r10d, 0xfff
xor esi, esi
cmp r8, rcx
je 0x1000a89a1
mov eax, dword [r8]
cmp rax, rdi
jne 0x1000a89a1
mov ecx, dword [r8 + 4]
sub rcx, r14
shr rcx, 1
je 0x1000a89a1
mov r9, qword [rsp + 0x28]
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000a89a1
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000a898a
mov edi, dword [rsp + 0x90]
mov r13d, 0xed08cdd6
mov r9d, dword [rsp + 0x94]
mov ecx, 0xf000
mov rdx, qword [rsp + 0x58]
cmp r8, qword [rsp + 0x70]
je 0x1000a8c04
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a8c04
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000a8a05
add r8, rbx
cmp r8, qword [rsp + 0x70]
je 0x1000a8c04
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a8c04
xor esi, esi
jmp 0x1000a89d7
mov eax, dword [r8]
cmp rax, rdx
jne 0x1000a8a21
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x68]
jae 0x1000a8c04
mov r15, rsi
inc rsi
test word [r8 + r15*2 + 8], cx
je 0x1000a89c0
movzx eax, word [r8 + r15*2 + 8]
lea rcx, [0x100000000]
xor ebx, ebx
and eax, r10d
add eax, dword [r8]
add rax, rcx
mov rcx, rax
mov qword [rsp + 0x48], rax
sub rcx, r11
je 0x1000a8af8
mov r12, rcx
movzx eax, byte [r11 + rbx]
inc rbx
sub eax, 0x12f7322a
add edi, eax
add eax, r9d
imul rax, r13
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 eax, eax, 0xed08cdd6
ror eax, 0xf
imul rax, r13
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
add edi, r9d
mov dword [rsp + 0x94], r9d
mov dword [rsp + 0x90], edi
cmp rbx, r12
jb 0x1000a8a5b
mov rax, qword [rsp + 0x48]
mov r12d, 4
mov rax, qword [rax]
movzx ecx, word [r8 + r15*2 + 8]
mov qword [rsp + 0xf0], rax
shr ecx, 0xc
cmp ecx, 3
je 0x1000a8b1d
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x1000a8b22
mov edx, 2
mov r11, qword [rsp + 0x60]
neg r11
sub edx, 2
je 0x1000a8b4a
cmp edx, 1
je 0x1000a8b3a
or r11, 0xffffffffffffffff
jmp 0x1000a8b55
add rax, r11
mov r11, r14
mov qword [rsp + 0xf0], rax
jmp 0x1000a8b55
add dword [rsp + 0xf0], r11d
mov r11, r12
xor r15d, r15d
test r11, r11
je 0x1000a8bf7
movzx eax, byte [rsp + r15 + 0xf0]
inc r15
sub eax, 0x12f7322a
add edi, eax
add eax, r9d
imul rax, r13
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 eax, eax, 0xed08cdd6
ror eax, 0xf
imul rax, r13
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 r15, r11
jb 0x1000a8b61
mov dword [rsp + 0x94], r9d
mov dword [rsp + 0x90], edi
mov rax, qword [rsp + 0x48]
add r11, rax
jmp 0x1000a89b6
xor r10d, r10d
mov bl, r10b
mov rsi, qword [rsp + 0x38]
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
sub rsi, r11
je 0x1000a8cbd
mov r8d, 0xed08cdd6
movzx eax, byte [r10 + r11]
inc r10
sub eax, 0x12f7322a
add edi, eax
add eax, r9d
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 eax, eax, 0xed08cdd6
ror eax, 0xf
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 r9d, edx
sar r9d, 0x1f
btr r9d, 0x1f
add r9d, edx
mov dword [rsp + 0x94], r9d
add edi, r9d
mov dword [rsp + 0x90], edi
cmp r10, rsi
jb 0x1000a8c2b
mov rdi, qword [rsp + 0x40]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0x90]
cmp rcx, r14
mov byte [rsp + rcx + 0x1b7], al
jb 0x1000a8cc4
mov eax, 0xe152c1f9
mov r9, rdi
and r9d, 7
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x28], r9
je 0x1000a91e0
xor r10d, r10d
mov edi, dword [rsp + 0x24]
not edi
xor esi, esi
xor r11d, r11d
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x50], esi
test r9d, r9d
jle 0x1000a8d6a
mov rax, r15
lea r8d, [r10 + 0x38]
cmp r11d, r12d
movzx edx, byte [rax]
jge 0x1000a8d3e
lea ecx, [r8 - 0x20]
shl edx, cl
or esi, edx
jmp 0x1000a8d46
mov ecx, r8d
shl edx, cl
or r10d, edx
inc r11d
inc rax
sub r8d, r14d
cmp r11d, r9d
jl 0x1000a8d2c
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1b8]
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x38], r10d
movzx r8d, ax
mov ecx, edi
movzx r9d, word [rsp + 0x1be]
mov edx, dword [rsp + 0x1bc]
mov esi, edi
movzx r10d, word [rsp + 0x1ba]
movzx r11d, dx
xor ecx, eax
ror ecx, 1
ror esi, 8
imul ecx, r11d
xor esi, ecx
xor esi, dword [rsp + 0x24]
add edx, esi
mov ecx, esi
ror edx, 0xc
ror ecx, 0xa
imul edx, r10d
add ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, edi
xor edx, r9d
rol edx, 2
ror ecx, 0x10
imul edx, r8d
xor ecx, edx
xor esi, ecx
mov edx, esi
mov ecx, esi
xor edx, eax
rol edx, 8
rol ecx, 6
imul edx, r9d
add ecx, edx
xor edi, ecx
mov ecx, edi
xor ecx, r10d
mov edx, edi
ror edx, 6
imul ecx, r11d
add edx, ecx
xor esi, edx
mov ecx, esi
mov edx, esi
sub edx, dword [rsp + 0x1bc]
ror edx, 5
ror ecx, 0xb
imul edx, r10d
xor ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, edi
shr ecx, 0xf
xor edx, r11d
imul edx, r8d
add edx, ecx
xor esi, edx
mov ecx, esi
sub ecx, r9d
sub ecx, eax
xor edi, ecx
mov edx, edi
sub edx, eax
ror edx, 0xe
mov ecx, edi
rol ecx, 1
imul edx, r11d
add ecx, edx
xor esi, ecx
mov ecx, esi
not ecx
ror ecx, 0xd
add ecx, r10d
imul ecx, r11d
xor edi, ecx
mov edx, edi
sub edx, r9d
rol edx, 4
imul edx, r8d
mov ecx, edi
xor edi, dword [rsp + 0x38]
mov r8d, edi
shr ecx, 0xc
xor r9d, r9d
xor edx, ecx
xor edx, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
xor esi, edx
test ecx, ecx
mov edx, esi
jle 0x1000a8ea5
cmp r9d, r12d
jge 0x1000a8e85
rol edx, 8
mov byte [r13], dl
inc r13
xor bl, dl
jmp 0x1000a8e93
rol r8d, 8
mov byte [r13], r8b
inc r13
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000a8e72
mov qword [rsp + 0x48], r13
mov r13, qword [rsp + 0x78]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000a91c8
sub r12d, ecx
shl r12d, 3
mov ecx, r12d
shr edi, cl
shl edi, cl
mov r12d, dword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov rcx, r11
shr rcx, 3
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x1000a9114
mov r11, qword [rsp + 0x30]
mov r15, qword [rsp + 0x28]
mov r13, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x1bc]
movzx ecx, r8w
mov dword [rsp + 0x38], ecx
movzx ecx, word [rsp + 0x1be]
neg ecx
mov dword [rsp + 0x68], ecx
movzx ecx, ax
mov dword [rsp + 0x24], ecx
movzx ecx, byte [r11]
movzx r9d, byte [r11 + 4]
shl ecx, 8
shl r9d, 8
movzx r10d, byte [r11 + 1]
or r10d, ecx
shl r10d, 8
movzx ecx, byte [r11 + 2]
or r10d, ecx
movzx ecx, byte [r11 + 3]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r11 + 5]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r11 + 6]
or r9d, ecx
movzx ecx, byte [r11 + 7]
add r11, r14
shl r9d, 8
or r9d, ecx
xor edi, r9d
mov edx, edi
mov ecx, edi
xor edx, eax
ror edx, 1
ror ecx, 8
imul edx, dword [rsp + 0x38]
xor ecx, edx
xor ecx, r10d
xor esi, ecx
lea edx, [r8 + rsi]
movzx r8d, word [rsp + 0x1ba]
ror edx, 0xc
mov ecx, esi
ror ecx, 0xa
imul edx, r8d
add ecx, edx
xor edi, ecx
movzx ecx, word [rsp + 0x1be]
mov edx, edi
mov r8d, edi
xor r8d, ecx
rol r8d, 2
ror edx, 0x10
mov ecx, dword [rsp + 0x24]
imul ecx, r8d
xor edx, ecx
xor esi, edx
mov edx, esi
movzx ecx, word [rsp + 0x1be]
mov r8d, esi
xor r8d, eax
rol r8d, 8
rol edx, 6
imul ecx, r8d
add edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
movzx r8d, word [rsp + 0x1ba]
xor ecx, r8d
ror edx, 6
imul ecx, dword [rsp + 0x38]
add edx, ecx
movzx ecx, word [rsp + 0x1ba]
xor esi, edx
mov edx, esi
mov r8d, esi
sub r8d, dword [rsp + 0x1bc]
ror r8d, 5
ror edx, 0xb
imul ecx, r8d
xor edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
xor edx, dword [rsp + 0x38]
shr ecx, 0xf
imul edx, dword [rsp + 0x24]
add edx, ecx
xor esi, edx
movzx edx, word [rsp + 0x1be]
mov ecx, esi
sub ecx, edx
sub ecx, eax
xor edi, ecx
mov edx, edi
mov ecx, dword [rsp + 0x38]
mov r8d, edi
sub r8d, eax
ror r8d, 0xe
rol edx, 1
imul ecx, r8d
add edx, ecx
mov r8d, dword [rsp + 0x1bc]
xor esi, edx
movzx edx, word [rsp + 0x1ba]
mov ecx, esi
not ecx
ror ecx, 0xd
add ecx, edx
mov edx, dword [rsp + 0x24]
imul ecx, dword [rsp + 0x38]
xor edi, ecx
mov ecx, dword [rsp + 0x68]
add ecx, edi
rol ecx, 4
imul edx, ecx
mov ecx, edi
xor edi, r12d
mov r12d, r9d
shr ecx, 0xc
xor edx, ecx
xor edx, dword [rsp + 0x50]
xor esi, edx
mov dword [rsp + 0x50], r10d
mov byte [r13 + 3], sil
mov byte [r13 + 7], dil
xor bl, sil
xor bl, dil
ror esi, 8
ror edi, 8
xor bl, sil
mov byte [r13 + 2], sil
mov byte [r13 + 6], dil
ror esi, 8
xor bl, dil
mov byte [r13 + 1], sil
ror edi, 8
mov byte [r13 + 5], dil
xor bl, sil
ror esi, 8
mov byte [r13], sil
xor bl, dil
ror edi, 8
mov byte [r13 + 4], dil
mov cl, dil
xor cl, sil
add r13, r14
xor bl, cl
ror esi, 8
ror edi, 8
sub r15, 1
jne 0x1000a8f11
mov r15, qword [rsp + 0x80]
mov r11, qword [rsp + 0x40]
mov r13, qword [rsp + 0x78]
cmp bl, byte [r15 + r11 + 8]
je 0x1000a920c
call fcn.1000de678
mov rbx, rax
and rbx, rbp
lea r13, [0x100046aec]
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r13
mov r8d, 0xffff
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, rbp
mov rax, qword [0x100346e50]
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 0x1000a915f
mov qword [0x100346e50], 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 + 0x28], r8
jmp 0x1000a9202
xor edi, edi
test ecx, ecx
jns 0x1000a8ebe
neg ecx
shl ecx, 3
shr esi, cl
shl esi, cl
jmp 0x1000a8ebe
xor edi, edi
mov ecx, dword [rsp + 0x24]
mov r12d, ecx
mov dword [rsp + 0x50], ecx
xor esi, esi
not r12d
jmp 0x1000a8ec3
mov rax, qword [rsp + 0x28]
mov qword [r10], rax
add r10, r14
cmp r10, r11
jb 0x1000a91f7
jmp 0x1000a6271
mov rax, qword [0x100037580]
mov rdi, r15
sub rdi, r13
lea r12, [0x100000000]
mov rsi, r12
sub rsi, rax
jne 0x1000a9231
test rdi, rdi
je 0x1000a6266
mov rbx, r13
lea r14, [0x100000000]
xor r8d, r8d
sub rbx, r15
sub r15d, r12d
lea ebp, [r11 + r15]
mov rcx, qword [0x100021bc8]
lea r9d, [rcx - 1]
test r9d, r9d
js 0x1000a9289
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 0x21bcc]
and r10d, 0xfffffff
cmp r15d, r10d
jae 0x1000a927e
lea r9d, [rdx - 1]
jmp 0x1000a9284
jbe 0x1000a9291
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000a9258
movsxd r11, r8d
jmp 0x1000a9312
mov r11, rdx
jmp 0x1000a9312
mov edx, dword [r14 + r11*4 + 0x21bcc]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000a6266
mov r9, rdx
mov r8d, edx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r12
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x1000a92ee
sub r8d, 1
je 0x1000a92e9
cmp r8d, 1
jne 0x1000a92f4
mov r10, rsi
jmp 0x1000a92f4
mov r10, rdi
jmp 0x1000a92f4
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x1000a9304
cmp edx, 1
jne 0x1000a930f
add qword [r9 + rbx], r10
jmp 0x1000a9308
add dword [r9 + rbx], r10d
mov rcx, qword [0x100021bc8]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000a9296
jmp 0x1000a6266
mov edx, dword [0x10000003c]
cmp rdi, r14
jb 0x1000acdba
movsxd rax, edx
mov ecx, dword [rax + r14 + 0x50]
add rcx, r14
cmp rdi, rcx
jae 0x1000a9fd7
mov r9d, r12d
mov ecx, dword [0x100101598]
mov r8d, edi
sub r8d, r14d
sub ecx, r11d
js 0x1000a938c
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x1750]
shr eax, 1
and eax, ebp
cmp r8d, eax
jae 0x1000a937d
lea ecx, [rdx - 1]
jmp 0x1000a9387
jbe 0x1000a954d
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000a9359
mov rdx, r12
cmp rdx, r12
je 0x1000a9fd1
mov r10d, dword [0x1000d5e38]
mov r15d, dword [rdx]
mov r8, r12
mov rax, r15
shr r15, 3
and r15, rbp
and eax, 7
sub r10, r15
lea rbx, [rax + rdx + 8]
mov qword [rsp + 0x58], r15
inc r10
mov r9, r10
mov qword [rsp + 0x40], rbx
mov edi, ebx
sub edi, r14d
cmp r10, r12
mov dword [rsp + 0x24], edi
je 0x1000a940d
mov rax, qword [0x100346e50]
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, r12
jne 0x1000a93df
mov qword [0x100346e50], rax
mov ecx, edi
xor edx, edx
mov rax, r8
div r10
lea r13, [rsi + rdx]
mov r8, r13
mov rdx, r15
mov qword [rsp + 0x78], r13
mov eax, 0xe2d8b0d7
mov r11, qword [rbx + r15]
lea rcx, [rsp + 0x160]
mov bl, r12b
mov qword [rsp + 0x160], r11
mov eax, 0xcba6a9cf
mov rax, qword [0x100037580]
mov r11, qword [rsp + 0x160]
mov r9d, dword [rsp + 0x164]
mov qword [rsp + 0xb0], r12
mov rcx, r14
and r11, rbp
and r9, rbp
add r11, r14
sub rcx, rax
mov rbp, 0xfffffffffffff000
mov qword [rsp + 0x60], rcx
mov r14d, 8
lea r12d, [r14 - 4]
jne 0x1000a956d
xor r10d, r10d
test r9, r9
je 0x1000a995c
mov eax, dword [rsp + 0xb4]
mov r8d, dword [rsp + 0xb0]
movzx ecx, byte [r10 + r11]
inc r10
add ecx, 0x6b615f7d
add r8d, ecx
add ecx, eax
mov eax, ecx
imul eax, eax, 0xfc05
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, rax, 0x6b615f7d
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, rax, 0x6b615f7d
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 r8d, eax
cmp r10, r9
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xb0], r8d
jb 0x1000a94ac
jmp 0x1000a995c
mov edx, dword [rbx + rdx*8 + 0x1750]
mov eax, dword [rbx + r10*8 + 0x1754]
shr edx, 1
and eax, r13d
and edx, ebp
add edx, eax
add rdx, r14
jmp 0x1000a938f
lea rax, [r11 + r9]
lea rdx, [0x100000000]
movsxd rcx, dword [0x10000003c]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x38], 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, rbp
sub rax, rdi
mov qword [rsp + 0x28], rax
mov rax, rcx
and rax, rbp
sub rcx, rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x80], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x70], rcx
jmp 0x1000a95dd
mov eax, dword [r8]
cmp rax, rdi
jae 0x1000a95e2
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000a95ce
mov r10d, 0xfff
xor esi, esi
cmp r8, rcx
je 0x1000a9623
mov eax, dword [r8]
cmp rax, rdi
jne 0x1000a9623
mov ecx, dword [r8 + 4]
sub rcx, r14
shr rcx, 1
je 0x1000a9623
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x28]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000a9623
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000a960c
mov edi, dword [rsp + 0xb0]
mov r9d, dword [rsp + 0xb4]
mov rdx, qword [rsp + 0x68]
mov ecx, 0xf000
cmp r8, qword [rsp + 0x70]
je 0x1000a989a
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a989a
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000a9681
add r8, rbx
cmp r8, qword [rsp + 0x70]
je 0x1000a989a
mov eax, dword [r8]
cmp rax, rdx
ja 0x1000a989a
xor esi, esi
jmp 0x1000a9653
mov eax, dword [r8]
cmp rax, rdx
jne 0x1000a96a0
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x80]
jae 0x1000a989a
mov r13, rsi
inc rsi
test word [r8 + r13*2 + 8], cx
je 0x1000a963c
movzx eax, word [r8 + r13*2 + 8]
xor r15d, r15d
and eax, r10d
lea rcx, [0x100000000]
add eax, dword [r8]
add rax, rcx
mov qword [rsp + 0x48], rax
mov rcx, rax
sub rcx, r11
je 0x1000a9780
mov rbx, rcx
movzx ecx, byte [r15 + r11]
inc r15
add ecx, 0x6b615f7d
add edi, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0xfc05
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, rax, 0x6b615f7d
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
imul rax, rax, 0x6b615f7d
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
mov dword [rsp + 0xb4], r9d
mov dword [rsp + 0xb0], edi
cmp r15, rbx
jb 0x1000a96db
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
movzx ecx, word [r8 + r13*2 + 8]
shr ecx, 0xc
cmp ecx, 3
mov qword [rsp + 0x100], rax
je 0x1000a97a5
sub ecx, 0xa
neg ecx
sbb edx, edx
add edx, 3
jmp 0x1000a97aa
mov edx, 2
mov r11, qword [rsp + 0x60]
neg r11
sub edx, 2
je 0x1000a97d2
cmp edx, 1
je 0x1000a97c2
or r11, 0xffffffffffffffff
jmp 0x1000a97dd
add rax, r11
mov r11, r14
mov qword [rsp + 0x100], rax
jmp 0x1000a97dd
add dword [rsp + 0x100], r11d
mov r11, r12
xor r13d, r13d
test r11, r11
je 0x1000a988d
movzx ecx, byte [rsp + r13 + 0x100]
inc r13
add ecx, 0x6b615f7d
add edi, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0xfc05
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, rax, 0x6b615f7d
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
imul rax, rax, 0x6b615f7d
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 r13, r11
jb 0x1000a97e9
mov dword [rsp + 0xb4], r9d
mov dword [rsp + 0xb0], edi
mov rax, qword [rsp + 0x48]
add r11, rax
jmp 0x1000a9632
xor r8d, r8d
mov r10, qword [rsp + 0x38]
sub r10, r11
mov r15, qword [rsp + 0x58]
mov r13, qword [rsp + 0x78]
mov bl, r8b
je 0x1000a9958
movzx ecx, byte [r11 + r8]
inc r8
add ecx, 0x6b615f7d
add edi, ecx
add ecx, r9d
mov eax, ecx
imul eax, eax, 0xfc05
rol eax, 0xd
ror ecx, 0xd
xor eax, ecx
imul rax, rax, 0x6b615f7d
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
imul rax, rax, 0x6b615f7d
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
add edi, r9d
mov dword [rsp + 0xb4], r9d
cmp r8, r10
mov dword [rsp + 0xb0], edi
jb 0x1000a98b8
mov edi, dword [rsp + 0x24]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0xb0]
mov byte [rsp + rcx + 0x18f], al
cmp rcx, r14
jb 0x1000a995e
mov eax, 0x176b4afb
mov rax, qword [rsp + 0x190]
mov r10, qword [rsp + 0x40]
mov r11, r10
mov r9, r15
and r9d, 7
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r9
je 0x1000a9e93
xor r10d, r10d
xor esi, esi
not edi
and dword [rsp + 0x50], r10d
test r9d, r9d
mov dword [rsp + 0x38], r10d
jle 0x1000a99f9
lea r8d, [r10 + 0x38]
movzx edx, byte [r11]
cmp esi, r12d
jge 0x1000a99da
lea ecx, [r8 - 0x20]
shl edx, cl
or dword [rsp + 0x50], edx
jmp 0x1000a99e2
mov ecx, r8d
shl edx, cl
or r10d, edx
inc esi
inc r11
sub r8d, r14d
cmp esi, r9d
jl 0x1000a99c5
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x48], r11
movzx r8d, word [rsp + 0x196]
movzx r11d, ax
movzx r10d, word [rsp + 0x192]
movzx r9d, word [rsp + 0x194]
mov ecx, dword [rsp + 0x24]
xor edi, ecx
xor edi, eax
xor edi, dword [rsp + 0x194]
mov esi, edi
sub esi, r9d
xor esi, ecx
xor esi, eax
mov edx, esi
sub edx, dword [rsp + 0x194]
mov ecx, esi
ror edx, 0xc
ror ecx, 0xb
imul edx, r10d
sub edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
ror edx, 6
xor ecx, r8d
imul ecx, r11d
xor edx, ecx
xor esi, edx
mov edx, esi
xor edx, r9d
mov ecx, esi
shr ecx, 0xb
imul edx, r8d
xor edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
xor edx, r11d
rol edx, 6
rol ecx, 8
imul edx, r9d
sub edx, ecx
xor esi, edx
mov edx, esi
mov ecx, esi
xor edx, dword [rsp + 0x194]
rol edx, 2
ror ecx, 6
imul edx, r10d
xor ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, edi
ror edx, 0xe
xor ecx, r10d
imul ecx, r11d
add edx, ecx
xor esi, edx
mov ecx, esi
mov edx, esi
sub edx, r10d
shr ecx, 5
rol edx, 7
imul edx, r8d
xor edx, ecx
xor edi, edx
mov edx, edi
xor edx, eax
mov ecx, edi
shr ecx, 8
rol edx, 3
imul edx, r9d
sub edx, ecx
xor esi, edx
mov ecx, esi
mov edx, dword [rsp + 0x194]
sub edx, esi
ror edx, 0xc
rol ecx, 8
imul edx, r10d
add ecx, edx
xor edi, ecx
mov edx, edi
mov ecx, edi
xor edi, dword [rsp + 0x38]
xor edx, dword [rsp + 0x194]
xor r9d, r9d
mov r8d, edi
rol edx, 4
ror ecx, 0xa
imul edx, r11d
sub edx, ecx
xor edx, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
xor esi, edx
test ecx, ecx
mov edx, esi
jle 0x1000a9b57
mov rax, r13
cmp r9d, r12d
jge 0x1000a9b35
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000a9b42
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000a9b24
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x190]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000a9e7b
sub r12d, ecx
shl r12d, 3
mov ecx, r12d
shr edi, cl
shl edi, cl
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x38]
mov rcx, r15
shr rcx, 3
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x1000a9dc7
mov r15d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x28]
movzx edx, word [rsp + 0x194]
movzx ecx, word [rsp + 0x192]
mov r10, qword [rsp + 0x30]
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x80], edx
neg ecx
mov dword [rsp + 0x38], ecx
movzx ecx, word [rsp + 0x196]
mov dword [rsp + 0x68], ecx
movzx ecx, ax
mov dword [rsp + 0x60], ecx
movzx r9d, byte [r11]
shl r9d, 8
movzx r8d, byte [r11 + 4]
movzx ecx, byte [r11 + 1]
shl r8d, 8
or r9d, ecx
movzx ecx, byte [r11 + 2]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 3]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 5]
or r8d, ecx
movzx ecx, byte [r11 + 6]
xor esi, r9d
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r11 + 7]
add r11, r14
shl r8d, 8
or r8d, ecx
xor edi, r8d
xor edi, esi
xor edi, eax
xor edi, dword [rsp + 0x194]
mov ecx, edi
sub ecx, edx
xor esi, ecx
xor esi, eax
mov edx, esi
sub edx, dword [rsp + 0x194]
ror edx, 0xc
mov ecx, esi
ror ecx, 0xb
imul edx, dword [rsp + 0x24]
sub edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
xor ecx, dword [rsp + 0x68]
ror edx, 6
imul ecx, dword [rsp + 0x60]
xor edx, ecx
xor esi, edx
mov edx, esi
movzx ecx, word [rsp + 0x194]
xor edx, ecx
movzx ecx, word [rsp + 0x196]
imul edx, ecx
mov ecx, esi
shr ecx, 0xb
xor edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
xor edx, dword [rsp + 0x60]
rol edx, 6
rol ecx, 8
imul edx, dword [rsp + 0x80]
sub edx, ecx
xor esi, edx
mov ecx, esi
mov edx, esi
xor edx, dword [rsp + 0x194]
rol edx, 2
ror ecx, 6
imul edx, dword [rsp + 0x24]
xor ecx, edx
xor edi, ecx
mov ecx, edi
xor ecx, dword [rsp + 0x24]
mov edx, edi
ror edx, 0xe
imul ecx, dword [rsp + 0x60]
add edx, ecx
xor esi, edx
movzx ecx, word [rsp + 0x196]
mov edx, dword [rsp + 0x38]
add edx, esi
rol edx, 7
imul edx, ecx
mov ecx, esi
shr ecx, 5
xor edx, ecx
xor edi, edx
movzx ecx, word [rsp + 0x194]
mov edx, edi
xor edx, eax
rol edx, 3
imul edx, ecx
mov ecx, edi
shr ecx, 8
sub edx, ecx
xor esi, edx
mov ecx, esi
mov edx, dword [rsp + 0x194]
sub edx, esi
ror edx, 0xc
rol ecx, 8
imul edx, dword [rsp + 0x24]
add ecx, edx
xor edi, ecx
mov edx, edi
mov ecx, edi
xor edi, r12d
mov r12d, r8d
xor edx, dword [rsp + 0x194]
rol edx, 4
ror ecx, 0xa
imul edx, dword [rsp + 0x60]
sub edx, ecx
xor edx, r15d
mov r15d, r9d
xor esi, edx
xor bl, sil
movzx edx, word [rsp + 0x194]
mov byte [r10 + 3], sil
mov byte [r10 + 7], dil
xor bl, dil
ror esi, 8
ror edi, 8
mov byte [r10 + 2], sil
mov byte [r10 + 6], dil
xor bl, sil
ror esi, 8
mov byte [r10 + 1], sil
xor bl, dil
ror edi, 8
xor bl, sil
mov byte [r10 + 5], dil
ror esi, 8
xor bl, dil
mov byte [r10], sil
ror edi, 8
mov byte [r10 + 4], dil
mov cl, dil
xor cl, sil
add r10, r14
xor bl, cl
ror esi, 8
ror edi, 8
sub r13, 1
jne 0x1000a9bd7
mov r10, qword [rsp + 0x40]
mov r15, qword [rsp + 0x58]
mov r13, qword [rsp + 0x78]
cmp bl, byte [r15 + r10 + 8]
je 0x1000a9ebb
call fcn.1000de678
mov r8d, 0xffff
mov rbx, rax
lea r13, [0x100046aec]
and rbx, rbp
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r13
lea r10, [rax + 0x18]
mov rax, qword [0x100346e50]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, rbp
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 0x1000a9e12
mov qword [0x100346e50], 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 + 0x28], r8
jmp 0x1000a9eb1
xor edi, edi
test ecx, ecx
jns 0x1000a9b70
neg ecx
shl ecx, 3
shr esi, cl
shl esi, cl
jmp 0x1000a9b70
mov r12d, edi
mov dword [rsp + 0x50], edi
not r12d
xor edi, edi
xor esi, esi
jmp 0x1000a9b7f
mov rax, qword [rsp + 0x28]
mov qword [r10], rax
add r10, r14
cmp r10, r11
jb 0x1000a9ea6
jmp 0x1000a6271
mov rdi, r10
lea r12, [0x100000000]
sub rdi, r13
mov rsi, r12
mov rax, qword [0x100037580]
sub rsi, rax
jne 0x1000a9ee0
test rdi, rdi
je 0x1000a6266
lea r14, [0x100000000]
xor r8d, r8d
mov rcx, qword [0x100021bc8]
mov rbx, r13
lea r9d, [rcx - 1]
sub rbx, r10
sub r10d, r12d
lea ebp, [r15 + r10]
test r9d, r9d
js 0x1000a9f38
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r11d, dword [r14 + rdx*4 + 0x21bcc]
and r11d, 0xfffffff
cmp r10d, r11d
jae 0x1000a9f2d
lea r9d, [rdx - 1]
jmp 0x1000a9f33
jbe 0x1000a9f40
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000a9f07
movsxd r11, r8d
jmp 0x1000a9fc1
mov r11, rdx
jmp 0x1000a9fc1
mov edx, dword [r14 + r11*4 + 0x21bcc]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000a6266
mov r8d, edx
mov r9, rdx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r12
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x1000a9f9d
sub r8d, 1
je 0x1000a9f98
cmp r8d, 1
jne 0x1000a9fa3
mov r10, rsi
jmp 0x1000a9fa3
mov r10, rdi
jmp 0x1000a9fa3
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x1000a9fb3
cmp edx, 1
jne 0x1000a9fbe
add qword [r9 + rbx], r10
jmp 0x1000a9fb7
add dword [r9 + rbx], r10d
mov rcx, qword [0x100021bc8]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000a9f45
jmp 0x1000a6266
mov edx, dword [0x10000003c]
cmp rdi, r14
jb 0x1000acdba
movsxd rax, edx
mov ecx, dword [rax + r14 + 0x50]
add rcx, r14
cmp rdi, rcx
jae 0x1000aab7e
mov r9d, r12d
mov ecx, dword [0x100264100]
mov r8d, edi
sub r8d, r14d
sub ecx, r11d
js 0x1000aa039
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x26779c]
and eax, ebp
cmp r8d, eax
jae 0x1000aa02a
lea ecx, [rdx - 1]
jmp 0x1000aa034
jbe 0x1000aa1bb
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000aa008
mov rdx, r12
cmp rdx, r12
je 0x1000aab78
mov r8, r12
mov edi, dword [rdx]
mov rax, rdi
and rdi, rbp
mov r11d, dword [0x1000d5e38]
mov qword [rsp + 0x40], rdi
shr rax, 0x1d
lea r15, [rax + rdx + 8]
mov r9d, r15d
mov qword [rsp + 0x80], r15
sub r11, rdi
inc r11
sub r9d, r14d
cmp r11, r12
mov r10, r11
mov dword [rsp + 0x24], r9d
je 0x1000aa0bb
mov rax, qword [0x100346e50]
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, r12
jne 0x1000aa08d
mov qword [0x100346e50], rax
xor edx, edx
mov ecx, r9d
mov rax, r8
div r11
lea r13, [rsi + rdx]
mov qword [rsp + 0x78], r13
mov r8, r13
mov rdx, rdi
mov eax, 0xb9a56b23
mov r11, qword [r15 + rdi]
lea rcx, [rsp + 0x170]
mov bl, r12b
mov qword [rsp + 0x170], r11
mov eax, 0xedaf3c14
mov rax, qword [0x100037580]
mov rcx, r14
mov r11, qword [rsp + 0x170]
and r11, rbp
mov r9d, dword [rsp + 0x174]
mov qword [rsp + 0xc0], r12
and r9, rbp
add r11, r14
mov r14d, 8
sub rcx, rax
lea r12d, [r14 - 4]
mov qword [rsp + 0x68], rcx
mov rbp, 0xfffffffffffff000
jne 0x1000aa1d9
xor r10d, r10d
test r9, r9
je 0x1000aa505
mov esi, 0xcd70a5ee
mov r8d, dword [rsp + 0xc0]
mov edx, dword [rsp + 0xc4]
movzx ecx, byte [r10 + r11]
inc r10
sub ecx, 0x328f5a12
add r8d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x41b
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
imul rax, rsi
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov edx, dword [rsp + 0x28]
add edx, eax
imul edx, edx, 0xcd70a5ee
ror edx, 0x1b
mov dword [rsp + 0xc4], edx
add r8d, edx
mov dword [rsp + 0xc0], r8d
cmp r10, r9
jb 0x1000aa160
jmp 0x1000aa505
mov eax, dword [rbx + r10*8 + 0x267798]
mov edx, dword [rbx + rdx*8 + 0x26779c]
and edx, ebp
and eax, r13d
add edx, eax
add rdx, r14
jmp 0x1000aa03c
movsxd rcx, dword [0x10000003c]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
lea rax, [r11 + r9]
mov qword [rsp + 0x60], rax
mov eax, r11d
sub eax, edx
mov esi, eax
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
add rcx, r9
and rsi, rbp
sub rax, rsi
mov qword [rsp + 0x28], rax
mov rax, rcx
and rax, rbp
mov qword [rsp + 0x70], rax
sub rcx, rax
mov qword [rsp + 0x48], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x30], rcx
jmp 0x1000aa246
mov eax, dword [r8]
cmp rax, rsi
jae 0x1000aa24b
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000aa237
mov r10d, 0xfff
xor edi, edi
cmp r8, rcx
je 0x1000aa28c
mov eax, dword [r8]
cmp rax, rsi
jne 0x1000aa28c
mov ecx, dword [r8 + 4]
sub rcx, r14
shr rcx, 1
je 0x1000aa28c
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x28]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000aa28c
inc rdi
add rdx, 2
cmp rdi, rcx
jne 0x1000aa275
mov edx, dword [rsp + 0xc4]
mov r9d, dword [rsp + 0xc0]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
mov ecx, 0xf000
mov r13d, 0xcd70a5ee
cmp r8, r15
je 0x1000aa47f
mov eax, dword [r8]
cmp rax, rsi
ja 0x1000aa47f
mov ebx, dword [r8 + 4]
lea rax, [rbx - 8]
shr rax, 1
cmp rdi, rax
jne 0x1000aa2f1
add r8, rbx
cmp r8, r15
je 0x1000aa47f
mov eax, dword [r8]
cmp rax, rsi
ja 0x1000aa47f
xor edi, edi
jmp 0x1000aa2c5
mov eax, dword [r8]
cmp rax, rsi
jne 0x1000aa30d
movzx eax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x48]
jae 0x1000aa47f
mov rax, rdi
mov qword [rsp + 0x58], rax
inc rdi
test word [r8 + rax*2 + 8], cx
je 0x1000aa2b0
xor r15d, r15d
movzx esi, word [r8 + rax*2 + 8]
and esi, r10d
add esi, dword [r8]
lea rax, [0x100000000]
add rsi, rax
mov rax, rsi
sub rax, r11
je 0x1000aa39a
mov rbx, rax
movzx ecx, byte [r15 + r11]
inc r15
sub ecx, 0x328f5a12
add r9d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x41b
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
imul rax, r13
mov qword [rsp + 0x28], rax
mov edx, dword [rsp + 0x28]
shr rax, 0x20
add edx, eax
imul edx, edx, 0xcd70a5ee
ror edx, 0x1b
mov dword [rsp + 0xc4], edx
add r9d, edx
mov dword [rsp + 0xc0], r9d
cmp r15, rbx
jb 0x1000aa344
mov rcx, qword [rsp + 0x58]
movzx ecx, word [r8 + rcx*2 + 8]
mov rax, qword [rsi]
mov qword [rsp + 0x110], rax
shr ecx, 0xc
cmp ecx, 3
je 0x1000aa3c6
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000aa3cc
mov r11d, 2
mov rcx, qword [rsp + 0x68]
neg rcx
mov qword [rsp + 0x58], rcx
sub r11d, 2
je 0x1000aa400
cmp r11d, 1
je 0x1000aa3eb
or r11, 0xffffffffffffffff
jmp 0x1000aa40f
mov r11, r14
mov rcx, qword [rsp + 0x58]
add rax, rcx
mov qword [rsp + 0x110], rax
jmp 0x1000aa40f
mov rcx, qword [rsp + 0x58]
mov r11, r12
add dword [rsp + 0x110], ecx
xor r13d, r13d
test r11, r11
je 0x1000aa477
mov r15d, 0xcd70a5ee
movzx ecx, byte [rsp + r13 + 0x110]
inc r13
sub ecx, 0x328f5a12
add r9d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x41b
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
imul rax, r15
mov qword [rsp + 0x28], rax
mov edx, dword [rsp + 0x28]
shr rax, 0x20
add edx, eax
imul edx, edx, 0xcd70a5ee
ror edx, 0x1b
add r9d, edx
cmp r13, r11
jb 0x1000aa41d
mov dword [rsp + 0xc4], edx
mov dword [rsp + 0xc0], r9d
add r11, rsi
jmp 0x1000aa29b
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
xor r8d, r8d
mov r10, qword [rsp + 0x60]
mov bl, r8b
sub r10, r11
je 0x1000aa500
mov r15d, 0xcd70a5ee
movzx ecx, byte [r11 + r8]
inc r8
sub ecx, 0x328f5a12
add r9d, ecx
add ecx, edx
mov eax, ecx
imul eax, eax, 0x41b
rol eax, 0xe
ror ecx, 0xe
xor eax, ecx
imul rax, r15
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov edx, dword [rsp + 0x28]
add edx, eax
imul edx, edx, 0xcd70a5ee
ror edx, 0x1b
add r9d, edx
mov dword [rsp + 0xc4], edx
cmp r8, r10
mov dword [rsp + 0xc0], r9d
jb 0x1000aa4a2
mov r15, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x40]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
cmp rcx, r14
mov al, byte [rsp + rax + 0xc0]
mov byte [rsp + rcx + 0x197], al
jb 0x1000aa507
mov eax, 0x60cc770
mov r9, rdi
and r9d, 7
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x28], r9
je 0x1000aaa36
xor r10d, r10d
mov edi, dword [rsp + 0x24]
xor esi, esi
mov dword [rsp + 0x38], r10d
xor r11d, r11d
not edi
test r9d, r9d
mov dword [rsp + 0x50], esi
jle 0x1000aa5ad
mov rax, r15
lea r8d, [r10 + 0x38]
cmp r11d, r12d
movzx edx, byte [rax]
jge 0x1000aa581
lea ecx, [r8 - 0x20]
shl edx, cl
or esi, edx
jmp 0x1000aa589
mov ecx, r8d
shl edx, cl
or r10d, edx
inc r11d
inc rax
sub r8d, r14d
cmp r11d, r9d
jl 0x1000aa56f
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x198]
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x38], r10d
movzx r10d, word [rsp + 0x19c]
movzx r11d, ax
mov ecx, eax
mov esi, edi
movzx r9d, word [rsp + 0x19a]
movzx r8d, word [rsp + 0x19e]
sub ecx, edi
rol ecx, 0xc
ror esi, 0x10
imul ecx, r10d
xor esi, ecx
mov ecx, r11d
xor esi, dword [rsp + 0x24]
mov edx, esi
xor ecx, esi
ror edx, 5
imul ecx, r9d
xor edx, ecx
xor edi, edx
mov edx, edi
sub edx, dword [rsp + 0x19c]
mov ecx, edi
ror edx, 0xb
rol ecx, 7
imul edx, r11d
add ecx, edx
mov edx, r10d
xor esi, ecx
mov ecx, esi
xor edx, esi
shr ecx, 5
imul edx, r8d
xor edx, ecx
xor edi, edx
mov edx, edi
sub edx, eax
mov ecx, edi
rol edx, 0xb
ror ecx, 0xe
imul edx, r10d
xor ecx, edx
xor esi, ecx
mov edx, esi
mov ecx, esi
sub edx, dword [rsp + 0x19c]
ror edx, 1
rol ecx, 0xb
imul edx, r9d
xor ecx, edx
xor edi, ecx
mov ecx, edi
xor r8d, edi
rol r8d, 7
ror ecx, 2
imul r8d, r11d
xor ecx, r8d
mov r8d, dword [rsp + 0x19c]
xor esi, ecx
mov edx, esi
mov ecx, eax
xor edx, r8d
sub ecx, edx
xor edi, ecx
mov ecx, edi
lea edx, [rdi + rax]
rol edx, 7
ror ecx, 3
imul edx, r10d
sub edx, ecx
xor esi, edx
mov edx, esi
xor edx, r8d
mov ecx, esi
shr ecx, 8
rol edx, 6
imul edx, r9d
sub edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
xor edx, r8d
rol edx, 2
xor edi, dword [rsp + 0x38]
imul edx, r11d
rol ecx, 0xf
xor r9d, r9d
add ecx, edx
xor ecx, dword [rsp + 0x50]
xor esi, ecx
mov edx, esi
mov rcx, qword [rsp + 0x28]
mov r8d, edi
test ecx, ecx
jle 0x1000aa6fc
cmp r9d, r12d
jge 0x1000aa6dc
rol edx, 8
mov byte [r13], dl
inc r13
xor bl, dl
jmp 0x1000aa6ea
rol r8d, 8
mov byte [r13], r8b
inc r13
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000aa6c9
mov qword [rsp + 0x48], r13
mov r13, qword [rsp + 0x78]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000aaa1e
sub r12d, ecx
shl r12d, 3
mov ecx, r12d
shr edi, cl
shl edi, cl
mov r12d, dword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov rcx, r11
shr rcx, 3
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x1000aa96a
mov r13, qword [rsp + 0x48]
mov r11, qword [rsp + 0x30]
movzx ecx, word [rsp + 0x19a]
movzx r8d, word [rsp + 0x19c]
mov r15, qword [rsp + 0x28]
mov dword [rsp + 0x68], ecx
movzx ecx, ax
mov dword [rsp + 0x24], ecx
movzx ecx, byte [r11]
mov edx, eax
movzx r10d, byte [r11 + 1]
shl ecx, 8
movzx r9d, byte [r11 + 4]
shl r9d, 8
or r10d, ecx
movzx ecx, byte [r11 + 2]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r11 + 3]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [r11 + 5]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r11 + 6]
or r9d, ecx
movzx ecx, byte [r11 + 7]
add r11, r14
shl r9d, 8
or r9d, ecx
xor edi, r9d
sub edx, edi
mov ecx, edi
rol edx, 0xc
ror ecx, 0x10
imul edx, r8d
xor ecx, edx
xor ecx, r10d
xor esi, ecx
mov ecx, dword [rsp + 0x24]
xor ecx, esi
mov edx, esi
ror edx, 5
imul ecx, dword [rsp + 0x68]
xor edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
sub edx, dword [rsp + 0x19c]
ror edx, 0xb
rol ecx, 7
imul edx, dword [rsp + 0x24]
add ecx, edx
mov edx, r8d
xor esi, ecx
xor edx, esi
movzx ecx, word [rsp + 0x19e]
imul edx, ecx
mov ecx, esi
shr ecx, 5
xor edx, ecx
movzx ecx, word [rsp + 0x19c]
xor edi, edx
mov edx, edi
mov r8d, edi
sub r8d, eax
rol r8d, 0xb
ror edx, 0xe
imul ecx, r8d
xor edx, ecx
movzx ecx, word [rsp + 0x19a]
xor esi, edx
mov edx, esi
mov r8d, esi
sub r8d, dword [rsp + 0x19c]
ror r8d, 1
rol edx, 0xb
imul ecx, r8d
xor edx, ecx
movzx r8d, word [rsp + 0x19e]
xor edi, edx
mov edx, edi
mov ecx, dword [rsp + 0x24]
xor r8d, edi
rol r8d, 7
ror edx, 2
imul ecx, r8d
xor edx, ecx
xor esi, edx
mov edx, esi
xor edx, dword [rsp + 0x19c]
mov ecx, eax
sub ecx, edx
xor edi, ecx
movzx ecx, word [rsp + 0x19c]
lea r8d, [rdi + rax]
mov edx, edi
rol r8d, 7
ror edx, 3
imul ecx, r8d
sub ecx, edx
xor esi, ecx
movzx edx, word [rsp + 0x19a]
mov ecx, esi
xor ecx, dword [rsp + 0x19c]
rol ecx, 6
imul edx, ecx
mov ecx, esi
shr ecx, 8
sub edx, ecx
xor edi, edx
mov r8d, edi
mov edx, edi
mov ecx, dword [rsp + 0x24]
xor edi, r12d
mov r12d, r9d
xor edx, dword [rsp + 0x19c]
rol edx, 2
rol r8d, 0xf
imul ecx, edx
add r8d, ecx
xor r8d, dword [rsp + 0x50]
mov dword [rsp + 0x50], r10d
xor esi, r8d
movzx r8d, word [rsp + 0x19c]
mov byte [r13 + 3], sil
xor bl, sil
mov byte [r13 + 7], dil
xor bl, dil
ror esi, 8
mov byte [r13 + 2], sil
ror edi, 8
xor bl, sil
mov byte [r13 + 6], dil
ror esi, 8
mov byte [r13 + 1], sil
xor bl, dil
ror edi, 8
xor bl, sil
mov byte [r13 + 5], dil
ror esi, 8
xor bl, dil
mov byte [r13], sil
ror edi, 8
xor bl, dil
xor bl, sil
mov byte [r13 + 4], dil
ror esi, 8
ror edi, 8
add r13, r14
sub r15, 1
jne 0x1000aa75f
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
mov r11, qword [rsp + 0x40]
cmp bl, byte [r15 + r11 + 8]
je 0x1000aaa62
call fcn.1000de678
mov rbx, rax
mov rax, qword [rsp + 0xe0]
mov r8d, 0xffff
lea r13, [0x100046aec]
lea r10, [rax + 0x18]
and rbx, rbp
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, rbp
mov qword [rax + 0x10], r13
mov rax, qword [0x100346e50]
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 0x1000aa9b5
mov qword [0x100346e50], 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 + 0x28], r8
jmp 0x1000aaa58
xor edi, edi
test ecx, ecx
jns 0x1000aa715
neg ecx
shl ecx, 3
shr esi, cl
shl esi, cl
jmp 0x1000aa715
xor edi, edi
xor esi, esi
mov ecx, dword [rsp + 0x24]
mov r12d, ecx
mov dword [rsp + 0x50], ecx
not r12d
jmp 0x1000aa71a
mov rax, qword [rsp + 0x28]
mov qword [r10], rax
add r10, r14
cmp r10, r11
jb 0x1000aaa4d
jmp 0x1000a6271
mov rdi, r15
mov rax, qword [0x100037580]
sub rdi, r13
lea r12, [0x100000000]
mov rsi, r12
sub rsi, rax
jne 0x1000aaa87
test rdi, rdi
je 0x1000a6266
lea r14, [0x100000000]
mov rcx, qword [0x100021bc8]
mov rbx, r13
xor r8d, r8d
sub rbx, r15
lea r9d, [rcx - 1]
sub r15d, r12d
lea ebp, [r11 + r15]
test r9d, r9d
js 0x1000aaadf
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 0x21bcc]
and r10d, 0xfffffff
cmp r15d, r10d
jae 0x1000aaad4
lea r9d, [rdx - 1]
jmp 0x1000aaada
jbe 0x1000aaae7
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000aaaae
movsxd r11, r8d
jmp 0x1000aab68
mov r11, rdx
jmp 0x1000aab68
mov edx, dword [r14 + r11*4 + 0x21bcc]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000a6266
mov r8d, edx
mov r9, rdx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r12
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x1000aab44
sub r8d, 1
je 0x1000aab3f
cmp r8d, 1
jne 0x1000aab4a
mov r10, rsi
jmp 0x1000aab4a
mov r10, rdi
jmp 0x1000aab4a
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x1000aab5a
cmp edx, 1
jne 0x1000aab65
add qword [r9 + rbx], r10
jmp 0x1000aab5e
add dword [r9 + rbx], r10d
mov rcx, qword [0x100021bc8]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000aaaec
jmp 0x1000a6266
mov edx, dword [0x10000003c]
cmp rdi, r14
jb 0x1000acdba
movsxd rax, edx
mov ecx, dword [rax + r14 + 0x50]
add rcx, r14
cmp rdi, rcx
jae 0x1000ab718
mov r9d, r12d
mov ecx, dword [0x1002d8160]
mov r8d, edi
sub r8d, r14d
sub ecx, r11d
js 0x1000aabe0
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [rbx + rdx*8 + 0x2cdf9c]
mov r10, rdx
and eax, ebp
cmp r8d, eax
jae 0x1000aabd1
lea ecx, [rdx - 1]
jmp 0x1000aabdb
jbe 0x1000aad58
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000aabaf
mov rdx, r12
cmp rdx, r12
je 0x1000ab712
mov edi, dword [rdx]
mov eax, dword [rdx + 4]
mov r8, r12
and eax, 7
shr rdi, 1
and rdi, rbp
mov r10d, dword [0x1000d5e38]
lea r15, [rax + rdx + 8]
mov qword [rsp + 0x68], r15
sub r10, rdi
mov ebp, r15d
mov qword [rsp + 0x40], rdi
inc r10
mov r9, r10
sub ebp, r14d
mov dword [rsp + 0x24], ebp
cmp r10, r12
je 0x1000aac60
mov rax, qword [0x100346e50]
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, r12
jne 0x1000aac32
mov qword [0x100346e50], rax
mov ecx, ebp
xor edx, edx
mov rax, r8
div r10
lea r13, [rsi + rdx]
mov rdx, rdi
mov r8, r13
mov qword [rsp + 0x78], r13
mov eax, 0x8bf62ab6
mov bl, r12b
lea rcx, [rsp + 0x180]
mov r11, qword [r15 + rdi]
mov qword [rsp + 0x180], r11
mov eax, 0x457c042b
mov r9d, dword [rsp + 0x184]
mov r11, qword [rsp + 0x180]
mov eax, 0xfffffff
mov rcx, r14
and r11, rax
and r9, rax
add r11, r14
mov r14d, 8
mov rax, qword [0x100037580]
mov qword [rsp + 0xd0], r12
lea r12d, [r14 - 4]
sub rcx, rax
mov qword [rsp + 0x70], rcx
jne 0x1000aad76
xor r10d, r10d
test r9, r9
je 0x1000ab0a7
mov edi, 0xc64215ab
mov edx, dword [rsp + 0xd4]
mov r8d, dword [rsp + 0xd0]
movzx eax, byte [r10 + r11]
inc r10
sub eax, 0x39bdea55
add r8d, eax
add eax, edx
imul rax, rdi
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov edx, ecx
imul edx, edx, 0xe7fa
rol edx, 0xb
ror ecx, 0xb
xor edx, ecx
add r8d, edx
mov dword [rsp + 0xd4], edx
mov dword [rsp + 0xd0], r8d
cmp r10, r9
jb 0x1000aad02
mov rdi, qword [rsp + 0x40]
jmp 0x1000ab0a7
mov eax, dword [rbx + r10*8 + 0x2cdf98]
mov edx, dword [rbx + rdx*8 + 0x2cdf9c]
and edx, ebp
and eax, r13d
add edx, eax
add rdx, r14
jmp 0x1000aabe3
lea rax, [r11 + r9]
movsxd rcx, dword [0x10000003c]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x60], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
mov r10d, eax
and r10, 0xfffffffffffff000
mov qword [rsp + 0x28], r10
add rcx, r9
sub rax, r10
mov qword [rsp + 0x58], rax
mov rax, rcx
and rax, 0xfffffffffffff000
sub rcx, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x80], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x48], rcx
jmp 0x1000aadf3
mov eax, dword [r8]
cmp rax, r10
jae 0x1000aadf8
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000aade4
xor esi, esi
mov r10d, 0xfff
cmp r8, rcx
je 0x1000aae3b
mov eax, dword [r8]
cmp rax, qword [rsp + 0x28]
jne 0x1000aae3b
mov ecx, dword [r8 + 4]
sub rcx, r14
shr rcx, 1
je 0x1000aae3b
lea rdx, [r8 + 8]
mov r9, qword [rsp + 0x58]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000aae3b
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000aae24
mov rdi, qword [rsp + 0x70]
lea rbx, [0x100000000]
mov r9d, dword [rsp + 0xd0]
mov edx, dword [rsp + 0xd4]
mov r15, qword [rsp + 0x48]
mov ecx, 0xf000
mov ebp, 0xc64215ab
cmp r8, r15
je 0x1000ab02d
mov eax, dword [r8]
cmp rax, qword [rsp + 0x30]
ja 0x1000ab02d
mov r13d, dword [r8 + 4]
lea rax, [r13 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000aaeaa
add r8, r13
cmp r8, r15
je 0x1000ab02d
mov eax, dword [r8]
cmp rax, qword [rsp + 0x30]
ja 0x1000ab02d
xor esi, esi
jmp 0x1000aae7c
mov eax, dword [r8]
cmp rax, qword [rsp + 0x30]
jne 0x1000aaecb
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x80]
jae 0x1000ab02d
mov rax, rsi
inc rsi
mov qword [rsp + 0x58], rax
test word [r8 + rax*2 + 8], cx
je 0x1000aae65
xor r15d, r15d
movzx eax, word [r8 + rax*2 + 8]
and eax, r10d
add eax, dword [r8]
add rax, rbx
mov rcx, rax
mov qword [rsp + 0x70], rax
sub rcx, r11
je 0x1000aaf51
mov r13, rcx
movzx eax, byte [r11 + r15]
inc r15
sub eax, 0x39bdea55
add r9d, eax
add eax, edx
imul rax, rbp
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x28]
shr rax, 0x20
add ecx, eax
mov edx, ecx
imul edx, edx, 0xe7fa
rol edx, 0xb
ror ecx, 0xb
xor edx, ecx
add r9d, edx
cmp r15, r13
mov dword [rsp + 0xd4], edx
mov dword [rsp + 0xd0], r9d
jb 0x1000aaf00
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rax]
movzx ecx, word [r8 + rcx*2 + 8]
mov qword [rsp + 0x120], rax
shr ecx, 0xc
cmp ecx, 3
je 0x1000aaf7d
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000aaf83
mov r11d, 2
mov rcx, rdi
neg rcx
sub r11d, 2
mov qword [rsp + 0x58], rcx
je 0x1000aafb5
cmp r11d, 1
je 0x1000aafa0
or r11, 0xffffffffffffffff
jmp 0x1000aafc4
mov rcx, qword [rsp + 0x58]
add rax, rcx
mov r11, r14
mov qword [rsp + 0x120], rax
jmp 0x1000aafc4
mov r11, r12
mov rcx, qword [rsp + 0x58]
add dword [rsp + 0x120], ecx
xor ebp, ebp
test r11, r11
je 0x1000ab020
mov r15d, 0xc64215ab
movzx eax, byte [rsp + rbp + 0x120]
inc rbp
sub eax, 0x39bdea55
add r9d, eax
add eax, edx
imul rax, r15
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov edx, ecx
imul edx, edx, 0xe7fa
rol edx, 0xb
ror ecx, 0xb
xor edx, ecx
add r9d, edx
cmp rbp, r11
jb 0x1000aafd1
mov dword [rsp + 0xd4], edx
mov dword [rsp + 0xd0], r9d
mov rax, qword [rsp + 0x70]
add r11, rax
jmp 0x1000aae56
mov r10, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x78]
xor r8d, r8d
sub r10, r11
mov ebp, dword [rsp + 0x24]
mov bl, r8b
je 0x1000ab0a7
mov r15d, 0xc64215ab
movzx eax, byte [r8 + r11]
inc r8
sub eax, 0x39bdea55
add r9d, eax
add eax, edx
imul rax, r15
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov edx, ecx
imul edx, edx, 0xe7fa
rol edx, 0xb
ror ecx, 0xb
xor edx, ecx
mov dword [rsp + 0xd4], edx
add r9d, edx
mov dword [rsp + 0xd0], r9d
cmp r8, r10
jb 0x1000ab056
mov r15, qword [rsp + 0x68]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
cmp rcx, r14
mov al, byte [rsp + rax + 0xd0]
mov byte [rsp + rcx + 0x19f], al
jb 0x1000ab0a9
mov eax, 0x61557a34
mov r9, rdi
mov rax, qword [rsp + 0x1a0]
mov r11, r15
mov qword [rsp + 0x48], r15
and r9d, 7
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], r13
je 0x1000ab5d5
mov esi, ebp
xor r10d, r10d
not esi
xor edi, edi
and dword [rsp + 0x50], r10d
mov dword [rsp + 0x38], r10d
test r9d, r9d
jle 0x1000ab141
lea r8d, [r10 + 0x38]
movzx edx, byte [r11]
cmp edi, r12d
jge 0x1000ab122
lea ecx, [r8 - 0x20]
shl edx, cl
or dword [rsp + 0x50], edx
jmp 0x1000ab12a
mov ecx, r8d
shl edx, cl
or r10d, edx
inc edi
inc r11
sub r8d, r14d
cmp edi, r9d
jl 0x1000ab10d
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x48], r11
movzx r9d, word [rsp + 0x1a2]
mov r8d, ebp
sub r8d, eax
movzx edi, word [rsp + 0x1a6]
movzx r11d, word [rsp + 0x1a4]
rol r8d, 0xf
movzx r10d, ax
mov edx, ebp
mov ecx, edi
mov ebp, r11d
ror edx, 0xe
imul ecx, r8d
xor edx, ecx
xor esi, edx
mov r8d, dword [rsp + 0x1a4]
mov ecx, esi
mov edx, esi
sub edx, eax
rol edx, 4
rol ecx, 0xb
imul ebp, edx
sub ebp, ecx
xor ebp, dword [rsp + 0x24]
mov edx, ebp
xor r8d, ebp
ror r8d, 8
mov ecx, r9d
rol edx, 4
imul ecx, r8d
xor edx, ecx
mov ecx, edi
mov r8d, dword [rsp + 0x1a4]
xor esi, edx
mov edx, esi
xor ecx, esi
ror edx, 8
imul ecx, r10d
add edx, ecx
xor ebp, edx
mov edx, r11d
mov ecx, ebp
sub ecx, edi
xor ecx, eax
xor esi, ecx
mov ecx, eax
xor ecx, esi
rol ecx, 4
imul edx, ecx
mov ecx, esi
shr ecx, 7
sub edx, ecx
mov ecx, r9d
xor ebp, edx
mov edx, ebp
sub r8d, ebp
ror r8d, 7
rol edx, 7
imul ecx, r8d
add edx, ecx
mov ecx, r11d
xor esi, edx
mov edx, esi
xor ecx, esi
ror edx, 1
imul ecx, r10d
sub ecx, edx
mov edx, edi
xor ebp, ecx
mov ecx, r9d
xor ecx, ebp
rol ecx, 6
imul edx, ecx
mov ecx, ebp
shr ecx, 6
add edx, ecx
xor esi, edx
mov ecx, esi
not ecx
ror ecx, 0xc
add ecx, r11d
imul ecx, edi
xor ebp, ecx
mov ecx, ebp
sub ecx, dword [rsp + 0x1a4]
sub ecx, r9d
xor r9d, r9d
xor esi, ecx
mov ecx, dword [rsp + 0x1a4]
mov edx, esi
xor ecx, esi
xor esi, dword [rsp + 0x38]
rol ecx, 0xd
ror edx, 0xb
mov r8d, esi
imul r10d, ecx
mov rcx, qword [rsp + 0x28]
add edx, r10d
xor edx, dword [rsp + 0x50]
xor ebp, edx
mov edx, ebp
test ecx, ecx
jle 0x1000ab2aa
mov rax, r13
cmp r9d, r12d
jge 0x1000ab288
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000ab295
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000ab277
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1a0]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000ab5bd
sub r12d, ecx
shl r12d, 3
mov ecx, r12d
shr esi, cl
shl esi, cl
mov r11, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
shr rcx, 3
test rcx, rcx
mov qword [rsp + 0x28], rcx
je 0x1000ab501
mov rdi, qword [rsp + 0x30]
movzx ecx, word [rsp + 0x1a2]
mov r15, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x50]
mov dword [rsp + 0x60], ecx
movzx ecx, ax
mov dword [rsp + 0x24], ecx
movzx r10d, byte [r11 + 1]
movzx r9d, byte [r11 + 4]
movzx ecx, byte [r11]
shl ecx, 8
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
xor ebp, r10d
mov edx, ebp
shl r9d, 8
movzx ecx, byte [r11 + 6]
mov r8d, ebp
or r9d, ecx
sub edx, eax
shl r9d, 8
movzx ecx, byte [r11 + 7]
add r11, r14
or r9d, ecx
movzx ecx, word [rsp + 0x1a6]
rol edx, 0xf
ror r8d, 0xe
imul ecx, edx
xor r8d, ecx
xor r8d, r9d
movzx ecx, word [rsp + 0x1a4]
xor esi, r8d
mov r8d, esi
sub r8d, eax
mov edx, esi
rol r8d, 4
rol edx, 0xb
imul ecx, r8d
mov r8d, dword [rsp + 0x1a4]
sub ecx, edx
mov edx, r8d
xor ebp, ecx
xor edx, ebp
ror edx, 8
mov ecx, ebp
rol ecx, 4
imul edx, dword [rsp + 0x60]
xor ecx, edx
xor esi, ecx
mov edx, esi
movzx ecx, word [rsp + 0x1a6]
xor ecx, esi
ror edx, 8
imul ecx, dword [rsp + 0x24]
add edx, ecx
xor ebp, edx
movzx edx, word [rsp + 0x1a6]
mov ecx, ebp
sub ecx, edx
xor ecx, eax
mov edx, eax
xor esi, ecx
movzx ecx, r8w
xor edx, esi
rol edx, 4
imul edx, ecx
mov ecx, esi
shr ecx, 7
sub edx, ecx
xor ebp, edx
mov ecx, ebp
mov edx, r8d
sub edx, ebp
ror edx, 7
rol ecx, 7
imul edx, dword [rsp + 0x60]
add ecx, edx
xor esi, ecx
movzx ecx, r8w
mov edx, esi
ror edx, 1
xor ecx, esi
imul ecx, dword [rsp + 0x24]
sub ecx, edx
movzx edx, word [rsp + 0x1a2]
xor ebp, ecx
xor edx, ebp
movzx ecx, word [rsp + 0x1a6]
rol edx, 6
imul edx, ecx
mov ecx, ebp
shr ecx, 6
add edx, ecx
xor esi, edx
mov ecx, esi
movzx edx, r8w
not ecx
ror ecx, 0xc
add ecx, edx
movzx edx, word [rsp + 0x1a6]
imul ecx, edx
xor ebp, ecx
movzx edx, word [rsp + 0x1a2]
mov ecx, ebp
sub ecx, r8d
sub ecx, edx
mov edx, r8d
xor esi, ecx
xor edx, esi
mov ecx, esi
xor esi, r12d
mov r12d, r9d
rol edx, 0xd
ror ecx, 0xb
imul edx, dword [rsp + 0x24]
add ecx, edx
xor ecx, r13d
xor ebp, ecx
xor bl, bpl
mov byte [rdi + 3], bpl
xor bl, sil
ror ebp, 8
mov r13d, r10d
mov byte [rdi + 7], sil
mov byte [rdi + 2], bpl
ror esi, 8
mov byte [rdi + 6], sil
xor bl, bpl
ror ebp, 8
xor bl, sil
mov byte [rdi + 1], bpl
ror esi, 8
mov byte [rdi + 5], sil
xor bl, bpl
ror ebp, 8
xor bl, sil
mov byte [rdi], bpl
ror esi, 8
mov cl, sil
xor cl, bpl
mov byte [rdi + 4], sil
add rdi, r14
xor bl, cl
ror ebp, 8
ror esi, 8
sub r15, 1
jne 0x1000ab309
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x78]
cmp bl, byte [r15 + rdi + 8]
je 0x1000ab5fd
call fcn.1000de678
mov rbx, rax
lea r13, [0x100046aec]
and rbx, 0xfffffffffffff000
mov r8d, 0xffff
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r13
lea r10, [rax + 0x18]
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, 0xfffffffffffff000
xor r9d, r9d
mov rax, qword [0x100346e50]
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 0x1000ab554
mov qword [0x100346e50], rax
movabs rax, 0x8000800080008001
mul r9
shr rdx, 0xf
mov rax, qword [rsp + 0xd8]
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rax + 0x98], rbx
mov qword [rsp + 0x28], r8
jmp 0x1000ab5f3
xor esi, esi
test ecx, ecx
jns 0x1000ab2c3
neg ecx
shl ecx, 3
shr ebp, cl
shl ebp, cl
jmp 0x1000ab2c3
mov r12d, ebp
not r12d
mov dword [rsp + 0x50], ebp
xor esi, esi
xor ebp, ebp
jmp 0x1000ab2d2
mov rax, qword [rsp + 0x28]
mov qword [r10], rax
add r10, r14
cmp r10, r11
jb 0x1000ab5e8
jmp 0x1000a6271
mov rax, qword [0x100037580]
mov rsi, r15
lea r12, [0x100000000]
sub rsi, r13
mov rbp, r12
sub rbp, rax
jne 0x1000ab622
test rsi, rsi
je 0x1000a6266
mov rbx, r13
lea r14, [0x100000000]
mov rcx, qword [0x100021bc8]
lea r9d, [rcx - 1]
xor r8d, r8d
sub rbx, r15
sub r15d, r12d
add edi, r15d
test r9d, r9d
js 0x1000ab679
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 0x21bcc]
and r10d, 0xfffffff
cmp r15d, r10d
jae 0x1000ab66e
lea r9d, [rdx - 1]
jmp 0x1000ab674
jbe 0x1000ab681
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000ab648
movsxd r11, r8d
jmp 0x1000ab702
mov r11, rdx
jmp 0x1000ab702
mov edx, dword [r14 + r11*4 + 0x21bcc]
mov eax, edx
and eax, 0xfffffff
cmp eax, edi
jae 0x1000a6266
mov r8d, edx
mov r9, rdx
sar edx, 0x1e
shl r8d, 2
and r9d, 0xfffffff
and edx, 3
sar r8d, 0x1e
add r9, r12
xor r10d, r10d
and r8d, 3
sub r8d, 1
je 0x1000ab6de
sub r8d, 1
je 0x1000ab6d9
cmp r8d, 1
jne 0x1000ab6e4
mov r10, rbp
jmp 0x1000ab6e4
mov r10, rsi
jmp 0x1000ab6e4
mov r10, rbp
sub r10, rsi
sub edx, 2
je 0x1000ab6f4
cmp edx, 1
jne 0x1000ab6ff
add qword [r9 + rbx], r10
jmp 0x1000ab6f8
add dword [r9 + rbx], r10d
mov rcx, qword [0x100021bc8]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000ab686
jmp 0x1000a6266
mov edx, dword [0x10000003c]
cmp rdi, r14
jb 0x1000acdba
movsxd rax, edx
mov ecx, dword [rax + r14 + 0x50]
add rcx, r14
cmp rdi, rcx
jae 0x1000ac269
mov ecx, dword [0x10004e6e8]
mov r9d, r12d
mov r8d, edi
sub r8d, r14d
sub ecx, r11d
js 0x1000ab77a
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x2f7234]
and eax, ebp
cmp r8d, eax
jae 0x1000ab76b
lea ecx, [rdx - 1]
jmp 0x1000ab775
jbe 0x1000ab8e4
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000ab749
mov rdx, r12
cmp rdx, r12
je 0x1000ac263
mov r8, r12
mov edi, dword [rdx + 4]
mov eax, dword [rdx]
mov r11d, dword [0x1000d5e38]
and rdi, rbp
mov qword [rsp + 0x30], rdi
and eax, 7
lea r15, [rax + rdx + 8]
mov r9d, r15d
sub r11, rdi
mov qword [rsp + 0x28], r15
inc r11
mov r10, r11
sub r9d, r14d
mov dword [rsp + 0x60], r9d
cmp r11, r12
je 0x1000ab7f8
mov rax, qword [0x100346e50]
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, r12
jne 0x1000ab7ca
mov qword [0x100346e50], rax
mov ecx, r9d
mov rax, r8
xor edx, edx
div r11
lea r13, [rsi + rdx]
mov qword [rsp + 0x78], r13
mov r8, r13
mov rdx, rdi
mov eax, 0xab66decc
mov bl, r12b
lea rcx, [rsp + 0x148]
mov r11, qword [r15 + rdi]
mov qword [rsp + 0x148], r11
mov eax, 0xb6dca488
mov r11, qword [rsp + 0x148]
mov rcx, r14
and r11, rbp
mov r9d, dword [rsp + 0x14c]
and r9, rbp
mov rbp, 0xfffffffffffff000
add r11, r14
mov rax, qword [0x100037580]
mov qword [rsp + 0x88], r12
sub rcx, rax
mov r14d, 8
lea r12d, [r14 - 4]
mov qword [rsp + 0x48], rcx
jne 0x1000ab902
xor r8d, r8d
test r9, r9
je 0x1000abbf6
mov ecx, dword [rsp + 0x8c]
mov edx, dword [rsp + 0x88]
movzx eax, byte [r8 + r11]
inc r8
add eax, 0x3d5e919b
add edx, eax
add eax, ecx
imul eax, eax, 0x3d5e919b
ror eax, 0x13
imul eax, eax, 0x3d5e919b
ror eax, 0x13
mov ecx, eax
imul ecx, ecx, 0x5653
rol ecx, 0xb
ror eax, 0xb
xor ecx, eax
mov dword [rsp + 0x8c], ecx
add edx, ecx
cmp r8, r9
mov dword [rsp + 0x88], edx
jb 0x1000ab897
jmp 0x1000abbf6
mov eax, dword [rbx + r10*8 + 0x2f7230]
mov edx, dword [rbx + rdx*8 + 0x2f7234]
and edx, ebp
and eax, r13d
add edx, eax
add rdx, r14
jmp 0x1000ab77d
movsxd rcx, dword [0x10000003c]
lea rax, [r11 + r9]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x80], rax
mov eax, r11d
sub eax, edx
add r8, rdx
mov esi, eax
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
add rcx, r9
and rsi, rbp
sub rax, rsi
mov qword [rsp + 0x70], rax
mov rax, rcx
and rax, rbp
mov qword [rsp + 0x40], rax
sub rcx, rax
mov qword [rsp + 0x68], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x58], rcx
jmp 0x1000ab972
mov eax, dword [r8]
cmp rax, rsi
jae 0x1000ab977
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000ab963
xor edi, edi
cmp r8, rcx
mov r10d, 0xfff
je 0x1000ab9b8
mov eax, dword [r8]
cmp rax, rsi
jne 0x1000ab9b8
mov ecx, dword [r8 + 4]
sub rcx, r14
shr rcx, 1
je 0x1000ab9b8
mov r9, qword [rsp + 0x70]
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000ab9b8
inc rdi
add rdx, 2
cmp rdi, rcx
jne 0x1000ab9a1
mov edx, dword [rsp + 0x8c]
lea rbx, [0x100000000]
mov r9d, dword [rsp + 0x88]
mov r15, qword [rsp + 0x48]
mov ecx, 0xf000
mov rsi, qword [rsp + 0x40]
cmp r8, qword [rsp + 0x58]
je 0x1000abb8b
mov eax, dword [r8]
cmp rax, rsi
ja 0x1000abb8b
mov r13d, dword [r8 + 4]
lea rax, [r13 - 8]
shr rax, 1
cmp rdi, rax
jne 0x1000aba22
add r8, r13
cmp r8, qword [rsp + 0x58]
je 0x1000abb8b
mov eax, dword [r8]
cmp rax, rsi
ja 0x1000abb8b
xor edi, edi
jmp 0x1000ab9f4
mov eax, dword [r8]
cmp rax, rsi
jne 0x1000aba3e
movzx eax, word [r8 + rdi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x68]
jae 0x1000abb8b
mov rax, rdi
inc rdi
mov qword [rsp + 0x48], rax
test word [r8 + rax*2 + 8], cx
je 0x1000ab9dd
xor ecx, ecx
movzx esi, word [r8 + rax*2 + 8]
and esi, r10d
add esi, dword [r8]
add rsi, rbx
mov rax, rsi
sub rax, r11
je 0x1000abab8
mov r13, rax
movzx eax, byte [rcx + r11]
inc rcx
add eax, 0x3d5e919b
add r9d, eax
add eax, edx
imul eax, eax, 0x3d5e919b
ror eax, 0x13
imul eax, eax, 0x3d5e919b
ror eax, 0x13
mov edx, eax
imul edx, edx, 0x5653
rol edx, 0xb
ror eax, 0xb
xor edx, eax
mov dword [rsp + 0x8c], edx
add r9d, edx
mov dword [rsp + 0x88], r9d
cmp rcx, r13
jb 0x1000aba6d
mov rax, qword [rsi]
mov rcx, qword [rsp + 0x48]
movzx ecx, word [r8 + rcx*2 + 8]
mov qword [rsp + 0x130], rax
shr ecx, 0xc
cmp ecx, 3
je 0x1000abae4
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000abaea
mov r11d, 2
mov rcx, r15
neg rcx
sub r11d, 2
mov qword [rsp + 0x70], rcx
je 0x1000abb1c
cmp r11d, 1
je 0x1000abb07
or rcx, 0xffffffffffffffff
jmp 0x1000abb2b
mov rcx, qword [rsp + 0x70]
add rax, rcx
mov qword [rsp + 0x130], rax
mov rcx, r14
jmp 0x1000abb2b
mov rcx, qword [rsp + 0x70]
add dword [rsp + 0x130], ecx
mov rcx, r12
xor r11d, r11d
test rcx, rcx
je 0x1000abb82
movzx eax, byte [rsp + r11 + 0x130]
inc r11
add eax, 0x3d5e919b
add r9d, eax
add eax, edx
imul eax, eax, 0x3d5e919b
ror eax, 0x13
imul eax, eax, 0x3d5e919b
ror eax, 0x13
mov edx, eax
imul edx, edx, 0x5653
rol edx, 0xb
ror eax, 0xb
xor edx, eax
add r9d, edx
cmp r11, rcx
jb 0x1000abb33
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0x88], r9d
lea r11, [rcx + rsi]
jmp 0x1000ab9d3
mov r8, qword [rsp + 0x80]
mov r15, qword [rsp + 0x28]
mov r13, qword [rsp + 0x78]
xor ecx, ecx
sub r8, r11
mov bl, cl
je 0x1000abbf1
movzx eax, byte [rcx + r11]
inc rcx
add eax, 0x3d5e919b
add r9d, eax
add eax, edx
imul eax, eax, 0x3d5e919b
ror eax, 0x13
imul eax, eax, 0x3d5e919b
ror eax, 0x13
mov edx, eax
imul edx, edx, 0x5653
rol edx, 0xb
ror eax, 0xb
xor edx, eax
add r9d, edx
cmp rcx, r8
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0x88], r9d
jb 0x1000abba6
mov rdi, qword [rsp + 0x30]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
cmp rcx, r14
mov al, byte [rsp + rax + 0x88]
mov byte [rsp + rcx + 0x1a7], al
jb 0x1000abbf8
mov eax, 0x704d5d88
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r13
mov r10, r15
mov r11, r13
mov r9, rdi
and r9d, 7
mov qword [rsp + 0x58], r9
je 0x1000ac121
mov edx, dword [rsp + 0x60]
mov edi, edx
xor r11d, r11d
not edi
xor esi, esi
and dword [rsp + 0x38], r11d
mov dword [rsp + 0x24], r11d
test r9d, r9d
jle 0x1000abc9b
lea r8d, [r11 + 0x38]
cmp esi, r12d
movzx edx, byte [r10]
jge 0x1000abc78
lea ecx, [r8 - 0x20]
shl edx, cl
or dword [rsp + 0x38], edx
jmp 0x1000abc80
mov ecx, r8d
shl edx, cl
or r11d, edx
inc esi
inc r10
sub r8d, r14d
cmp esi, r9d
jl 0x1000abc63
mov edx, dword [rsp + 0x60]
mov dword [rsp + 0x24], r11d
mov qword [rsp + 0x48], r10
movzx r8d, word [rsp + 0x1aa]
movzx r9d, word [rsp + 0x1ae]
movzx r10d, word [rsp + 0x1ac]
mov ecx, edx
movzx r11d, ax
sub ecx, r9d
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov esi, edi
xor ecx, r11d
ror esi, 0xe
imul ecx, r10d
xor esi, ecx
xor esi, edx
mov ecx, esi
mov edx, esi
ror edx, 0xb
xor ecx, r9d
imul ecx, r8d
sub ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, edi
sub edx, dword [rsp + 0x1ac]
ror edx, 0xb
rol ecx, 3
imul edx, r11d
add ecx, edx
xor esi, ecx
mov ecx, esi
mov edx, esi
ror edx, 1
xor ecx, r10d
imul ecx, r9d
add edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
xor edx, r8d
shr ecx, 0xa
imul edx, r10d
add edx, ecx
xor esi, edx
mov edx, dword [rsp + 0x1ac]
mov ecx, esi
sub edx, esi
rol edx, 0xc
ror ecx, 0x10
imul edx, r8d
add ecx, edx
mov r8d, dword [rsp + 0x38]
xor edi, ecx
mov ecx, edi
mov edx, edi
xor edx, dword [rsp + 0x1ac]
ror edx, 8
ror ecx, 0x10
imul edx, r11d
add ecx, edx
xor esi, ecx
mov edx, esi
mov ecx, esi
xor edx, r11d
shr ecx, 0xc
rol edx, 3
imul edx, r9d
add edx, ecx
xor edi, edx
mov ecx, edi
ror ecx, 3
sub ecx, r10d
imul ecx, r9d
xor esi, ecx
xor edi, esi
xor edi, dword [rsp + 0x1ac]
xor edi, eax
mov edx, edi
sub edx, r10d
rol edx, 5
mov ecx, edi
imul edx, r11d
xor edi, dword [rsp + 0x24]
shr ecx, 0xa
mov r9d, edi
xor edx, ecx
mov rcx, qword [rsp + 0x58]
xor r10d, r10d
xor edx, r8d
xor esi, edx
mov r8d, esi
test ecx, ecx
jle 0x1000abde7
mov rdx, r13
cmp r10d, r12d
jge 0x1000abdcd
rol r8d, 8
mov byte [rdx], r8b
inc rdx
xor bl, r8b
jmp 0x1000abdda
rol r9d, 8
mov byte [rdx], r9b
inc rdx
xor bl, r9b
inc r10d
cmp r10d, ecx
jl 0x1000abdb9
mov qword [rsp + 0x40], rdx
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000ac109
sub r12d, ecx
shl r12d, 3
mov ecx, r12d
shr edi, cl
shl edi, cl
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov r12, qword [rsp + 0x30]
mov rcx, r12
shr rcx, 3
test rcx, rcx
mov qword [rsp + 0x58], rcx
je 0x1000ac055
mov r12d, dword [rsp + 0x24]
movzx edx, word [rsp + 0x1ae]
mov r13d, dword [rsp + 0x38]
movzx ecx, word [rsp + 0x1aa]
mov r15, qword [rsp + 0x58]
mov dword [rsp + 0x68], ecx
movzx ecx, word [rsp + 0x1ac]
mov dword [rsp + 0x80], edx
mov dword [rsp + 0x60], ecx
neg ecx
mov dword [rsp + 0x40], ecx
movzx ecx, ax
mov dword [rsp + 0x50], ecx
movzx ecx, byte [r10]
shl ecx, 8
movzx r9d, byte [r10 + 1]
movzx r8d, byte [r10 + 4]
shl r8d, 8
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r10 + 2]
or r9d, ecx
shl r9d, 8
movzx ecx, byte [r10 + 3]
or r9d, ecx
movzx ecx, byte [r10 + 5]
or r8d, ecx
xor esi, r9d
movzx ecx, byte [r10 + 6]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r10 + 7]
add r10, r14
shl r8d, 8
or r8d, ecx
mov ecx, esi
sub ecx, edx
sub ecx, eax
xor ecx, r8d
xor edi, ecx
mov edx, edi
mov ecx, edi
xor ecx, dword [rsp + 0x50]
ror edx, 0xe
imul ecx, dword [rsp + 0x60]
xor edx, ecx
xor esi, edx
mov ecx, esi
xor ecx, dword [rsp + 0x80]
mov edx, esi
ror edx, 0xb
imul ecx, dword [rsp + 0x68]
sub ecx, edx
xor edi, ecx
mov edx, edi
sub edx, dword [rsp + 0x1ac]
mov ecx, edi
ror edx, 0xb
rol ecx, 3
imul edx, dword [rsp + 0x50]
add ecx, edx
xor esi, ecx
mov edx, esi
mov ecx, esi
xor ecx, dword [rsp + 0x60]
ror edx, 1
imul ecx, dword [rsp + 0x80]
add edx, ecx
movzx ecx, word [rsp + 0x1aa]
xor edi, edx
mov edx, edi
xor edx, ecx
movzx ecx, word [rsp + 0x1ac]
imul edx, ecx
mov ecx, edi
shr ecx, 0xa
add edx, ecx
xor esi, edx
mov ecx, esi
mov edx, dword [rsp + 0x1ac]
sub edx, esi
rol edx, 0xc
ror ecx, 0x10
imul edx, dword [rsp + 0x68]
add ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, edi
xor edx, dword [rsp + 0x1ac]
ror edx, 8
ror ecx, 0x10
imul edx, dword [rsp + 0x50]
add ecx, edx
xor esi, ecx
movzx ecx, word [rsp + 0x1ae]
mov edx, esi
xor edx, dword [rsp + 0x50]
rol edx, 3
imul edx, ecx
mov ecx, esi
shr ecx, 0xc
add edx, ecx
xor edi, edx
mov ecx, edi
ror ecx, 3
movzx edx, word [rsp + 0x1ac]
sub ecx, edx
movzx edx, word [rsp + 0x1ae]
imul ecx, edx
xor esi, ecx
mov ecx, dword [rsp + 0x40]
xor edi, esi
mov edx, dword [rsp + 0x50]
xor edi, dword [rsp + 0x1ac]
xor edi, eax
add ecx, edi
rol ecx, 5
imul edx, ecx
mov ecx, edi
xor edi, r12d
mov r12d, r8d
shr ecx, 0xa
xor edx, ecx
xor edx, r13d
mov r13d, r9d
xor esi, edx
xor bl, sil
xor bl, dil
movzx edx, word [rsp + 0x1ae]
mov byte [r11 + 3], sil
mov byte [r11 + 7], dil
ror esi, 8
ror edi, 8
xor bl, sil
mov byte [r11 + 2], sil
ror esi, 8
mov byte [r11 + 6], dil
mov byte [r11 + 1], sil
xor bl, dil
ror edi, 8
mov byte [r11 + 5], dil
xor bl, sil
ror esi, 8
mov byte [r11], sil
xor bl, dil
ror edi, 8
mov cl, dil
xor cl, sil
mov byte [r11 + 4], dil
add r11, r14
xor bl, cl
ror esi, 8
ror edi, 8
sub r15, 1
jne 0x1000abe67
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
cmp bl, byte [r15 + r12 + 8]
je 0x1000ac14d
call fcn.1000de678
lea r13, [0x100046aec]
mov r8d, 0xffff
mov rbx, rax
and rbx, rbp
mov rax, qword [rsp + 0xe0]
lea r10, [rax + 0x18]
mov qword [rax + 0x10], r13
and r10, 0xfffffffffffffff8
mov rax, qword [0x100346e50]
lea r11, [r10 + 0xfff]
and r11, rbp
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 0x1000ac0a0
mov qword [0x100346e50], 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 + 0x28], r8
jmp 0x1000ac143
xor edi, edi
test ecx, ecx
jns 0x1000abe00
neg ecx
shl ecx, 3
shr esi, cl
shl esi, cl
jmp 0x1000abe00
mov ecx, dword [rsp + 0x60]
xor edi, edi
xor esi, esi
mov dword [rsp + 0x38], ecx
not ecx
mov dword [rsp + 0x24], ecx
jmp 0x1000abe0a
mov rax, qword [rsp + 0x28]
mov qword [r10], rax
add r10, r14
cmp r10, r11
jb 0x1000ac138
jmp 0x1000a6271
mov rax, qword [0x100037580]
mov rdi, r15
sub rdi, r13
lea r14, [0x100000000]
mov rsi, r14
sub rsi, rax
jne 0x1000ac172
test rdi, rdi
je 0x1000a6266
mov rcx, qword [0x100021bc8]
lea r9d, [rcx - 1]
mov rbx, r13
xor r8d, r8d
sub rbx, r15
sub r15d, r14d
test r9d, r9d
lea ebp, [r12 + r15]
lea r12, [0x100000000]
js 0x1000ac1ca
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r12 + rdx*4 + 0x21bcc]
and r10d, 0xfffffff
cmp r15d, r10d
jae 0x1000ac1bf
lea r9d, [rdx - 1]
jmp 0x1000ac1c5
jbe 0x1000ac1d2
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000ac199
movsxd r11, r8d
jmp 0x1000ac253
mov r11, rdx
jmp 0x1000ac253
mov edx, dword [r12 + r11*4 + 0x21bcc]
mov eax, edx
and eax, 0xfffffff
cmp eax, ebp
jae 0x1000a6266
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 0x1000ac22f
sub r8d, 1
je 0x1000ac22a
cmp r8d, 1
jne 0x1000ac235
mov r10, rsi
jmp 0x1000ac235
mov r10, rdi
jmp 0x1000ac235
mov r10, rsi
sub r10, rdi
sub edx, 2
je 0x1000ac245
cmp edx, 1
jne 0x1000ac250
add qword [r9 + rbx], r10
jmp 0x1000ac249
add dword [r9 + rbx], r10d
mov rcx, qword [0x100021bc8]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000ac1d7
jmp 0x1000a6266
mov edx, dword [0x10000003c]
cmp rdi, r14
jb 0x1000acdba
movsxd rax, edx
mov ecx, dword [rax + r14 + 0x50]
add rcx, r14
cmp rdi, rcx
jae 0x1000acdba
mov r9d, r12d
mov r8d, edi
sub r8d, r14d
mov ecx, dword [0x1002c3da0]
sub ecx, r11d
js 0x1000ac2cd
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [rbx + rdx*8 + 0x220b50]
shr eax, 1
and eax, ebp
cmp r8d, eax
jae 0x1000ac2be
lea ecx, [rdx - 1]
jmp 0x1000ac2c8
jbe 0x1000ac434
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1000ac29a
mov rdx, r12
cmp rdx, r12
je 0x1000acdba
mov r10d, dword [0x1000d5e38]
mov r15d, dword [rdx]
mov rax, r15
shr r15, 3
and r15, rbp
mov r8, r12
mov qword [rsp + 0x70], r15
and eax, 7
lea rdi, [rax + rdx + 8]
mov ebp, edi
sub r10, r15
mov qword [rsp + 0x40], rdi
inc r10
sub ebp, r14d
cmp r10, r12
mov dword [rsp + 0x24], ebp
mov r9, r10
je 0x1000ac34e
mov rax, qword [0x100346e50]
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, r12
jne 0x1000ac320
mov qword [0x100346e50], rax
mov ecx, ebp
mov rax, r8
xor edx, edx
div r10
lea r13, [rsi + rdx]
mov r8, r13
mov qword [rsp + 0x78], r13
mov rdx, r15
mov eax, 0xe05263e2
lea rcx, [rsp + 0x138]
mov r11, qword [r15 + rdi]
mov qword [rsp + 0x138], r11
mov bl, r12b
mov eax, 0x88e39d38
mov rcx, r14
mov eax, 0xfffffff
mov r9d, dword [rsp + 0x13c]
mov r11, qword [rsp + 0x138]
and r11, rax
and r9, rax
add r11, r14
mov rax, qword [0x100037580]
mov r14d, 8
sub rcx, rax
mov qword [rsp + 0xb8], r12
lea r12d, [r14 - 4]
mov qword [rsp + 0x30], rcx
jne 0x1000ac454
xor r8d, r8d
test r9, r9
je 0x1000ac749
mov ecx, dword [rsp + 0xbc]
mov edx, dword [rsp + 0xb8]
movzx eax, byte [r8 + r11]
inc r8
add eax, 0x3e98a2e5
add edx, eax
add eax, ecx
imul rax, rax, 0x3e98a2e5
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x28]
shr rax, 0x20
add ecx, eax
imul ecx, ecx, 0x3e98a2e5
ror ecx, 0x12
mov dword [rsp + 0xbc], ecx
add edx, ecx
mov dword [rsp + 0xb8], edx
cmp r8, r9
jb 0x1000ac3ea
jmp 0x1000ac749
mov edx, dword [rbx + rdx*8 + 0x220b50]
shr edx, 1
mov eax, dword [rbx + r10*8 + 0x220b54]
and eax, r13d
and edx, ebp
add edx, eax
add rdx, r14
jmp 0x1000ac2d0
lea rax, [r11 + r9]
movsxd rcx, dword [0x10000003c]
lea rdx, [0x100000000]
mov r8d, dword [rcx + rdx + 0xb0]
mov qword [rsp + 0x80], rax
mov eax, r11d
sub eax, edx
mov ebp, eax
add r8, rdx
mov edx, dword [rcx + rdx + 0xb4]
mov ecx, eax
add rcx, r9
and rbp, 0xfffffffffffff000
sub rax, rbp
mov qword [rsp + 0x58], rax
mov rax, rcx
and rax, 0xfffffffffffff000
sub rcx, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x68], rcx
lea rcx, [rdx + r8]
mov qword [rsp + 0x28], rcx
jmp 0x1000ac4cb
mov eax, dword [r8]
cmp rax, rbp
jae 0x1000ac4d0
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rcx
jne 0x1000ac4bc
mov r10d, 0xfff
xor esi, esi
cmp r8, rcx
je 0x1000ac511
mov eax, dword [r8]
cmp rax, rbp
jne 0x1000ac511
mov ecx, dword [r8 + 4]
sub rcx, r14
shr rcx, 1
je 0x1000ac511
mov r9, qword [rsp + 0x58]
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and rax, r10
cmp rax, r9
jae 0x1000ac511
inc rsi
add rdx, 2
cmp rsi, rcx
jne 0x1000ac4fa
mov r9d, dword [rsp + 0xb8]
mov r15, qword [rsp + 0x30]
mov edx, dword [rsp + 0xbc]
lea rdi, [0x100000000]
mov rbp, qword [rsp + 0x48]
mov ecx, 0xf000
cmp r8, qword [rsp + 0x28]
je 0x1000ac6df
mov eax, dword [r8]
cmp rax, rbp
ja 0x1000ac6df
mov r13d, dword [r8 + 4]
lea rax, [r13 - 8]
shr rax, 1
cmp rsi, rax
jne 0x1000ac57b
add r8, r13
cmp r8, qword [rsp + 0x28]
je 0x1000ac6df
mov eax, dword [r8]
cmp rax, rbp
ja 0x1000ac6df
xor esi, esi
jmp 0x1000ac54d
mov eax, dword [r8]
cmp rax, rbp
jne 0x1000ac597
movzx eax, word [r8 + rsi*2 + 8]
and rax, r10
cmp rax, qword [rsp + 0x68]
jae 0x1000ac6df
mov rax, rsi
mov qword [rsp + 0x30], rax
inc rsi
test word [r8 + rax*2 + 8], cx
je 0x1000ac536
xor ecx, ecx
movzx ebp, word [r8 + rax*2 + 8]
and ebp, r10d
add ebp, dword [r8]
add rbp, rdi
mov rax, rbp
sub rax, r11
je 0x1000ac60e
mov r13, rax
movzx eax, byte [rcx + r11]
inc rcx
add eax, 0x3e98a2e5
add r9d, eax
add eax, edx
imul rax, rax, 0x3e98a2e5
mov qword [rsp + 0x58], rax
mov edx, dword [rsp + 0x58]
shr rax, 0x20
add edx, eax
imul edx, edx, 0x3e98a2e5
ror edx, 0x12
mov dword [rsp + 0xbc], edx
add r9d, edx
mov dword [rsp + 0xb8], r9d
cmp rcx, r13
jb 0x1000ac5c6
mov rax, qword [rbp]
mov rcx, qword [rsp + 0x30]
movzx ecx, word [r8 + rcx*2 + 8]
shr ecx, 0xc
mov qword [rsp + 0xf8], rax
cmp ecx, 3
je 0x1000ac63b
sub ecx, 0xa
neg ecx
sbb r11d, r11d
add r11d, 3
jmp 0x1000ac641
mov r11d, 2
mov rcx, r15
neg rcx
mov qword [rsp + 0x58], rcx
sub r11d, 2
je 0x1000ac673
cmp r11d, 1
je 0x1000ac65e
or rcx, 0xffffffffffffffff
jmp 0x1000ac682
mov rcx, qword [rsp + 0x58]
add rax, rcx
mov qword [rsp + 0xf8], rax
mov rcx, r14
jmp 0x1000ac682
mov rcx, qword [rsp + 0x58]
add dword [rsp + 0xf8], ecx
mov rcx, r12
xor r11d, r11d
test rcx, rcx
je 0x1000ac6d6
movzx eax, byte [rsp + r11 + 0xf8]
inc r11
add eax, 0x3e98a2e5
add r9d, eax
add eax, edx
imul rax, rax, 0x3e98a2e5
mov qword [rsp + 0x58], rax
mov edx, dword [rsp + 0x58]
shr rax, 0x20
add edx, eax
imul edx, edx, 0x3e98a2e5
ror edx, 0x12
add r9d, edx
cmp r11, rcx
jb 0x1000ac68a
mov dword [rsp + 0xbc], edx
mov dword [rsp + 0xb8], r9d
lea r11, [rcx + rbp]
jmp 0x1000ac52c
mov rdi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x78]
xor ecx, ecx
mov r15, qword [rsp + 0x70]
mov r8, qword [rsp + 0x80]
sub r8, r11
je 0x1000ac745
movzx eax, byte [rcx + r11]
inc rcx
add eax, 0x3e98a2e5
add r9d, eax
add eax, edx
imul rax, rax, 0x3e98a2e5
mov qword [rsp + 0x28], rax
shr rax, 0x20
mov edx, dword [rsp + 0x28]
add edx, eax
imul edx, edx, 0x3e98a2e5
ror edx, 0x12
add r9d, edx
mov dword [rsp + 0xbc], edx
cmp rcx, r8
mov dword [rsp + 0xb8], r9d
jb 0x1000ac6fd
mov ebp, dword [rsp + 0x24]
xor ecx, ecx
mov rax, rcx
inc rcx
and eax, 7
mov al, byte [rsp + rax + 0xb8]
mov byte [rsp + rcx + 0x1cf], al
cmp rcx, r14
jb 0x1000ac74b
mov eax, 0x3dd66eb3
mov r11, rdi
mov rax, qword [rsp + 0x1d0]
mov r9, r15
and r9d, 7
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], r13
je 0x1000acc7b
mov esi, ebp
not esi
xor r10d, r10d
xor edi, edi
and dword [rsp + 0x50], r10d
test r9d, r9d
mov dword [rsp + 0x38], r10d
jle 0x1000ac7e3
lea r8d, [r10 + 0x38]
cmp edi, r12d
movzx edx, byte [r11]
jge 0x1000ac7c4
lea ecx, [r8 - 0x20]
shl edx, cl
or dword [rsp + 0x50], edx
jmp 0x1000ac7cc
mov ecx, r8d
shl edx, cl
or r10d, edx
inc edi
inc r11
sub r8d, r14d
cmp edi, r9d
jl 0x1000ac7af
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x48], r11
mov r9d, dword [rsp + 0x1d4]
mov edx, r9d
movzx edi, r9w
movzx r11d, word [rsp + 0x1d2]
xor edx, ebp
movzx r10d, ax
mov ecx, eax
sub ecx, edx
xor esi, ecx
mov ebp, esi
mov ecx, edi
xor ebp, eax
xor ebp, r9d
xor ebp, dword [rsp + 0x24]
xor ecx, ebp
mov edx, ebp
ror edx, 5
imul ecx, r11d
sub ecx, edx
xor esi, ecx
mov r8d, esi
mov ecx, r10d
mov edx, esi
sub r8d, r9d
rol r8d, 1
ror edx, 3
movzx r9d, word [rsp + 0x1d6]
imul ecx, r8d
sub ecx, edx
xor ebp, ecx
lea r8d, [rbp + rax]
mov edx, ebp
mov ecx, r9d
rol r8d, 5
rol edx, 0xa
imul ecx, r8d
sub ecx, edx
xor esi, ecx
mov ecx, esi
mov r8d, dword [rsp + 0x1d4]
ror ecx, 0xb
xor ecx, edi
imul ecx, r9d
xor ebp, ecx
mov edx, ebp
sub r8d, ebp
mov ecx, r11d
rol r8d, 0xe
ror edx, 0xa
imul ecx, r8d
add edx, ecx
xor esi, edx
mov ecx, dword [rsp + 0x1d4]
lea edx, [rsi + rcx]
rol edx, 0xe
mov ecx, r10d
mov r8d, esi
ror r8d, 6
imul ecx, edx
mov edx, r10d
add r8d, ecx
xor ebp, r8d
mov ecx, ebp
xor edx, ebp
rol edx, 5
ror ecx, 5
imul r9d, edx
xor ecx, r9d
xor esi, ecx
mov ecx, edi
mov edx, esi
mov r8d, esi
sub r8d, eax
rol r8d, 3
ror edx, 4
imul ecx, r8d
xor edx, ecx
mov ecx, edi
xor ebp, edx
xor ecx, ebp
rol ecx, 2
imul r11d, ecx
mov ecx, ebp
xor r9d, r9d
shr ecx, 0xf
add r11d, ecx
xor esi, r11d
xor edi, esi
mov ecx, esi
xor esi, dword [rsp + 0x38]
shr ecx, 5
mov r8d, esi
imul edi, r10d
add edi, ecx
mov rcx, qword [rsp + 0x28]
xor edi, dword [rsp + 0x50]
xor ebp, edi
mov edx, ebp
test ecx, ecx
jle 0x1000ac94d
mov rax, r13
cmp r9d, r12d
jge 0x1000ac92b
rol edx, 8
mov byte [rax], dl
inc rax
xor bl, dl
jmp 0x1000ac938
rol r8d, 8
mov byte [rax], r8b
inc rax
xor bl, r8b
inc r9d
cmp r9d, ecx
jl 0x1000ac91a
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1d0]
add ecx, 0xfffffffc
test ecx, ecx
jle 0x1000acc63
sub r12d, ecx
shl r12d, 3
mov ecx, r12d
shr esi, cl
shl esi, cl
mov r11, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rcx, r15
shr rcx, 3
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x1000acba7
mov rdi, qword [rsp + 0x30]
movzx ecx, ax
mov r13, qword [rsp + 0x28]
mov r15d, dword [rsp + 0x1d4]
movzx r8d, r15w
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x24], ecx
mov edx, eax
movzx ecx, byte [r11 + 1]
movzx r9d, byte [r11 + 4]
movzx r10d, byte [r11]
shl r10d, 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
xor ebp, r10d
movzx ecx, byte [r11 + 6]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [r11 + 7]
add r11, r14
shl r9d, 8
or r9d, ecx
mov ecx, ebp
xor ecx, r15d
sub edx, ecx
xor edx, r9d
xor esi, edx
xor ebp, esi
mov ecx, r8d
movzx r8d, word [rsp + 0x1d2]
xor ebp, eax
xor ebp, r15d
xor ecx, ebp
mov edx, ebp
ror edx, 5
imul ecx, r8d
sub ecx, edx
xor esi, ecx
mov edx, esi
mov ecx, dword [rsp + 0x24]
mov r8d, esi
sub r8d, r15d
rol r8d, 1
ror edx, 3
imul ecx, r8d
sub ecx, edx
xor ebp, ecx
mov edx, ebp
movzx ecx, word [rsp + 0x1d6]
lea r8d, [rbp + rax]
rol r8d, 5
rol edx, 0xa
imul ecx, r8d
mov r8d, r15d
sub ecx, edx
xor esi, ecx
movzx edx, word [rsp + 0x1d6]
mov ecx, esi
ror ecx, 0xb
xor ecx, dword [rsp + 0x60]
imul ecx, edx
xor ebp, ecx
mov edx, ebp
movzx ecx, word [rsp + 0x1d2]
sub r8d, ebp
rol r8d, 0xe
ror edx, 0xa
imul ecx, r8d
add edx, ecx
xor esi, edx
mov ecx, dword [rsp + 0x24]
lea edx, [r15 + rsi]
mov r8d, esi
rol edx, 0xe
ror r8d, 6
imul ecx, edx
add r8d, ecx
movzx ecx, word [rsp + 0x1d6]
xor ebp, r8d
mov edx, ebp
mov r8d, dword [rsp + 0x24]
xor r8d, ebp
rol r8d, 5
ror edx, 5
imul ecx, r8d
xor edx, ecx
mov ecx, dword [rsp + 0x60]
xor esi, edx
mov edx, esi
mov r8d, esi
sub r8d, eax
rol r8d, 3
ror edx, 4
imul ecx, r8d
xor edx, ecx
mov r8d, dword [rsp + 0x60]
xor ebp, edx
movzx edx, word [rsp + 0x1d2]
mov ecx, r8d
xor ecx, ebp
rol ecx, 2
imul edx, ecx
mov ecx, ebp
shr ecx, 0xf
add edx, ecx
xor esi, edx
mov edx, r8d
xor edx, esi
mov ecx, esi
xor esi, r12d
mov r12d, r9d
shr ecx, 5
imul edx, dword [rsp + 0x24]
add edx, ecx
xor edx, dword [rsp + 0x50]
xor ebp, edx
xor bl, bpl
mov dword [rsp + 0x50], r10d
mov byte [rdi + 3], bpl
mov byte [rdi + 7], sil
xor bl, sil
ror ebp, 8
mov byte [rdi + 2], bpl
ror esi, 8
mov byte [rdi + 6], sil
xor bl, bpl
ror ebp, 8
xor bl, sil
ror esi, 8
mov byte [rdi + 1], bpl
mov byte [rdi + 5], sil
xor bl, bpl
ror ebp, 8
mov byte [rdi], bpl
xor bl, sil
ror esi, 8
mov cl, sil
mov byte [rdi + 4], sil
xor cl, bpl
add rdi, r14
xor bl, cl
ror ebp, 8
ror esi, 8
sub r13, 1
jne 0x1000ac9ac
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x78]
cmp bl, byte [r15 + rdi + 8]
je 0x1000acca3
call fcn.1000de678
mov r8d, 0xffff
lea r13, [0x100046aec]
mov rbx, rax
mov rax, qword [rsp + 0xe0]
mov qword [rax + 0x10], r13
lea r10, [rax + 0x18]
mov rax, qword [0x100346e50]
and rbx, 0xfffffffffffff000
and r10, 0xfffffffffffffff8
lea r11, [r10 + 0xfff]
and r11, 0xfffffffffffff000
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 0x1000acbfa
mov qword [0x100346e50], 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 + 0x28], r8
jmp 0x1000acc99
xor esi, esi
test ecx, ecx
jns 0x1000ac966
neg ecx
shl ecx, 3
shr ebp, cl
shl ebp, cl
jmp 0x1000ac966
mov dword [rsp + 0x50], ebp
mov r12d, ebp
not r12d
xor esi, esi
xor ebp, ebp
jmp 0x1000ac975
mov rax, qword [rsp + 0x28]
mov qword [r10], rax
add r10, r14
cmp r10, r11
jb 0x1000acc8e
jmp 0x1000a6271
lea r14, [0x100000000]
mov rax, qword [0x100037580]
mov rsi, rdi
mov rbp, r14
sub rsi, r13
sub rbp, rax
jne 0x1000accc8
test rsi, rsi
je 0x1000a6266
xor r8d, r8d
mov rbx, r13
sub rbx, rdi
sub edi, r14d
lea r12d, [rdi + r15]
lea r15, [0x100000000]
mov rcx, qword [0x100021bc8]
lea r9d, [rcx - 1]
test r9d, r9d
js 0x1000acd20
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r15 + rdx*4 + 0x21bcc]
and r10d, 0xfffffff
cmp edi, r10d
jae 0x1000acd15
lea r9d, [rdx - 1]
jmp 0x1000acd1b
jbe 0x1000acd28
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1000accef
movsxd r11, r8d
jmp 0x1000acdaa
mov r11, rdx
jmp 0x1000acdaa
mov edx, dword [r15 + r11*4 + 0x21bcc]
mov eax, edx
and eax, 0xfffffff
cmp eax, r12d
jae 0x1000a6266
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 0x1000acd86
sub r8d, 1
je 0x1000acd81
cmp r8d, 1
jne 0x1000acd8c
mov r10, rbp
jmp 0x1000acd8c
mov r10, rsi
jmp 0x1000acd8c
mov r10, rbp
sub r10, rsi
sub edx, 2
je 0x1000acd9c
cmp edx, 1
jne 0x1000acda7
add qword [r9 + rbx], r10
jmp 0x1000acda0
add dword [r9 + rbx], r10d
mov rcx, qword [0x100021bc8]
inc r11
mov eax, ecx
cmp r11, rax
jb 0x1000acd2d
jmp 0x1000a6266
mov eax, 0x86b293b8
lea r11, section..data
cmp rsi, r11
jb 0x1000ace07
mov ecx, dword [0x100172988]
mov eax, dword [0x1000d5e38]
imul ecx, eax
mov eax, ecx
add rax, r11
cmp rsi, rax
jae 0x1000ace07
mov ecx, dword [0x1000d5e38]
mov rax, rsi
sub rax, r11
cqo
idiv rcx
mov rcx, rax
mov eax, dword [0x1000d5e38]
imul rax, rcx
add rax, r11
jmp 0x1000ace0a
mov rax, r12
cmp rax, r12
je 0x1000ace36
sub rsi, r11
mov ecx, dword [0x1000d5e38]
mov rax, rsi
cqo
idiv rcx
mov rcx, rax
mov eax, dword [0x100172988]
mov dword [rbx + rcx*4 + 0x349c90], 0xcb65
jmp 0x1000ace64
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
or rcx, 3
mov ebx, eax
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.1002edf64
add rsp, 0x1e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret