Function at 0x140152d28
Capabilities:
Access peb ldr_data
Check os version
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x13f0
call fcn.140220d10
sub rsp, rax
lea rax, [rsp + 0x1458]
mov qword [rsp + 0x300], rax
movabs rax, 0xe78927808ace29f8
mov qword [rsp + 0x2c8], rax
movabs r8, 0xca6b56b825504649
mov qword [rsp + 0x58], r8
movabs rax, 0x41059e9c3c7b8000
mov r13, qword [0x1402b2060]
imul r13, rax
movabs rax, 0x8a9dcd69f9a27000
xor r13, rax
mov rcx, r13
imul rcx, r8
mov qword [rsp + 0x198], rcx
movabs rdi, 0xaaaaaaaaaaaaaaab
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rbx, [0x140000000]
mov r9, r13
and r9, r8
imul r9, qword [rbx + rcx*8 + 0x2b2060]
movabs rax, 0xda25ecbacde8d2e0
imul r9, rax
shr r9, 3
movabs rax, 0xf4a3eeda26112f3e
xor r9, rax
movabs rax, 0xffffff57c2f3eb0b
mov rsi, r13
imul rsi, rax
sub rsi, 0x7a003d5c
xor rsi, r9
xor rsi, qword [0x1402b2060]
mov rax, r9
imul rax, qword [0x1402b2070]
movabs rcx, 0xb9de928bcb40542a
imul rax, rcx
not rax
and rsi, rax
ror rsi, 0x12
shr rsi, 8
mov qword [rsp + 0x2b0], rsi
movabs r10, 0x3594a947daafb9b7
lea rcx, [r10 + r13]
xor rcx, 0xfffffffff5ce5f27
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x98dadf84a1d4f538
mov r8, qword [rbx + rcx*8 + 0x2b2060]
imul r8, rax
sub r8, r10
movabs rcx, 0xd0504167a70f1ee0
mov rax, r9
imul rax, rcx
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x2a8], r8
mov rax, r8
xor rax, r13
mov qword [rsp + 0x190], rax
lea rcx, [r8 + r10]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [rbx + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x3b
mov r15d, 0x8000003f
and ecx, r15d
mov r12d, 1
lea r14d, [r12 - 0x41]
jge 0x140152f18
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rdx, qword [rsp + 0x190]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xffffffff85ffc2a4
mov qword [rsp + 0x190], rax
lea r11, [rax + r10]
mov r10, r8
imul r10, rsi
sub r10, r11
movabs rax, 0xe78927808ace29f8
xor r10, rax
movzx ecx, r11b
mov dword [rsp + 0x148], ecx
xor ecx, 4
and ecx, 0xf
and ecx, r15d
jge 0x140152f73
sub ecx, r12d
or ecx, r14d
add ecx, r12d
rol r10, cl
mov rax, r11
sub rax, qword [0x1402b2078]
xor r10, rax
movabs rax, 0xebfab36fac6758c4
imul rdx, rax
movabs rax, 0x72eb9d92e513ff2f
add rdx, rax
xor r10, rdx
xor r10, r9
xor r10, r13
mov rax, r10
and rax, r12
je 0x14015334d
sub rax, 1
je 0x1401531f9
sub rax, 1
mov esi, 0x3f
je 0x1401530f1
cmp rax, 1
jne 0x14015341c
mov rcx, r11
imul rcx, r8
movabs rax, 0x14fa45a231621ddd
add rax, r10
xor rcx, rax
ror rcx, 0x28
shr rcx, 0xc
xor rcx, r13
not rcx
mov qword [rsp + 0x2c8], rcx
movabs rdx, 0x835729b15a30
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x35162c3fb805c31d
xor r8, rax
mov eax, r10d
imul eax, ecx
and eax, esi
lea ecx, [rsi + 1]
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or r8, rdx
shl r8, 0xf
movabs rax, 0xf7ca7db97151b6d3
sub rax, qword [rsp + 0x2a8]
xor r8, rax
mov rcx, r8
movabs rax, 0xca6b56b825504649
imul rcx, rax
mov eax, 0xa08a6439
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rbx + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rax, 0x27a6e97e3f8f3e46
sub rax, qword [rsp + 0x2c8]
shr rax, cl
mov qword [rsp + 0x58], rax
movabs rcx, 0x359ccdd02cbdcead
add rcx, qword [rsp + 0x190]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, r10
sub rax, qword [rsp + 0x2b0]
xor qword [rsp + 0x58], rax
jmp 0x14015341c
movabs rax, 0xaaaaaa1aa0939907
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed629e454b
imul rcx, rax
movabs rdx, 0xfff17ca877f1af7b
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8683abdb
mov rdx, qword [rsp + 0x190]
imul rdx, rax
movabs r8, 0x5e75fddce89c868
add r8, rcx
add r8, rdx
movabs rax, 0x277cd7be72434e67
mov rcx, r8
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r8
not r11
imul r11, qword [rbx + rcx*8 + 0x2b2060]
xor r11, 0xfffffffff5c64fd7
lea ecx, [r10 + 5]
and cl, sil
rol r11, cl
movabs rcx, 0xefa7baf9e33eba99
mov rax, qword [rsp + 0x198]
xor rax, rcx
movabs rcx, 0x7c7a7dc69cc14566
and rax, rcx
imul r11, rax
mov rcx, r11
ror rcx, 0x22
not rcx
movabs rax, 0x9b2de6b2f6bf3100
imul rcx, rax
mov rax, r8
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x2b0]
and cl, sil
ror rdx, cl
movabs rax, 0xca6b56b825504649
imul rdx, rax
mov qword [rsp + 0x58], rdx
jmp 0x14015341c
movabs rax, 0x5a3170d1f90e72e3
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x3594a947daafb9b6
mov rax, r13
imul rax, rdx
movabs rdx, 0xe78927808ace29f8
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov eax, dword [rsp + 0x148]
and eax, r15d
jge 0x14015325f
sub eax, r12d
or eax, r14d
add eax, r12d
mov cl, al
rol r9, cl
movabs rcx, 0x3594a947daafb9b7
add rcx, r10
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x16b825504649
mov rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7fc57ef2a
or r9, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0xe78927808ace29f8
imul rcx, rax
sub rcx, r11
mov rax, rsi
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6ad5fef27
xor rcx, rax
mov qword [rsp + 0x58], rcx
movabs rax, 0xcccccccccccccccd
mul r13
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r13
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x58]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r11
imul rdx, qword [rsp + 0x58]
shr rdx, cl
mov rax, r8
sub rax, rdx
sub rax, r13
movabs r13, 0x7895894620da33d
add r13, rax
xor r13, rsi
mov cl, r8b
add cl, cl
mov esi, 0x3f
and cl, sil
rol r13, cl
not r13
jmp 0x14015341c
mov rax, rdi
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x1402b2080]
mov rdx, qword [rbx + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r9
mov esi, 0x3f
and r9b, sil
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r11
mov rcx, qword [rsp + 0x2b0]
not rcx
imul rcx, r8
movabs rax, 0x7cd8a7de70aebec6
imul rcx, rax
mov rax, r9
imul rax, r13
mov r13, rcx
xor r13, rax
imul rax, qword [0x1402b2060], 0xffffffff85ffc2a4
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0x198], rax
mov al, r13b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r15d
jge 0x1401533f4
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rax, qword [rsp + 0x198]
ror rax, cl
movabs rcx, 0x3594a947daafb9b7
add rax, rcx
add rax, qword [rsp + 0x190]
mov qword [rsp + 0x2b0], rax
movabs rax, 0xff055d7b80e5b40b
mov rcx, qword [rsp + 0x2c8]
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, r13
imul r9, qword [rbx + rcx*8 + 0x2b2060]
not r11
imul r11, r10
imul r11, qword [rsp + 0x2b0]
imul r11, qword [rsp + 0x58]
movabs rcx, 0xf5ed7e878756fed7
xor rcx, r8
not rcx
xor rcx, r11
sub rcx, r9
call fcn.14012e620
mov qword [0x1402b31a0], rax
movabs rax, 0x69b9a18a6274bc2
mov qword [rsp + 0x58], rax
movabs r10, 0x6a7ac388d16e4257
mov qword [rsp + 0x68], r10
movabs rax, 0x23802883ec2ee000
mov r13, qword [0x1402b2070]
imul r13, rax
movabs rax, 0x8a9dcd2b1f4c9000
xor r13, rax
mov rcx, r13
imul rcx, r10
mov qword [rsp + 0x78], rcx
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r13
and r9, r10
imul r9, qword [rbx + rcx*8 + 0x2b2060]
movabs rax, 0x9441e4e5819a6814
imul r9, rax
movabs rax, 0xd8564b41e934f00f
xor r9, rax
shr r9, 3
movabs rax, 0xffffff57c6dd85e5
mov rcx, r13
imul rcx, rax
add rcx, 0x9e5614a
xor rcx, r9
xor rcx, qword [0x1402b2060]
mov rax, r9
imul rax, qword [0x1402b2070]
movabs rdx, 0xb9de928bcf6e3ac4
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x22
shr rcx, 8
mov qword [rsp + 0x60], rcx
movabs r11, 0x95853c772e91bda9
lea rcx, [r11 + r13]
xor rcx, 0xfffffffff1e031c9
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x3116fe626892688
mov r8, qword [rbx + rcx*8 + 0x2b2060]
imul r8, rax
add r8, r10
movabs rcx, 0x5388e00a20fb0bb8
mov rax, r9
imul rax, rcx
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x88], r8
mov rax, r8
xor rax, r13
mov qword [rsp + 0x98], rax
lea rcx, [r8 + r11]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [rbx + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xd5
and ecx, r15d
jge 0x140153616
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rdx, qword [rsp + 0x98]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0x9e5614a
mov qword [rsp + 0x80], rax
add r11, rax
mov r10, r8
imul r10, qword [rsp + 0x60]
sub r10, r11
movabs rax, 0x69b9a18a6274bc2
xor r10, rax
movzx ecx, r11b
mov dword [rsp + 0x98], ecx
xor cl, 0xfa
and cl, 0xf
rol r10, cl
mov rax, r11
sub rax, qword [0x1402b2078]
xor r10, rax
movabs rax, 0x45394ddb7d52426
imul rdx, rax
movabs rax, 0x70783e3f21f4f991
sub rdx, rax
xor r10, rdx
xor r10, r9
xor r10, r13
mov rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x140153a27
sub rax, 1
je 0x1401538dc
sub rax, 1
je 0x1401537da
cmp rax, 1
jne 0x140153aeb
mov rcx, r11
imul rcx, r8
movabs rax, 0xb2777873095cfb2d
add rax, r10
xor rcx, rax
ror rcx, 0x1a
shr rcx, 0xc
xor rcx, r13
not rcx
mov qword [rsp + 0x58], rcx
movabs rdx, 0x83572d9f34c2
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x9507b90f4815a9ed
xor r8, rax
mov eax, r10d
imul eax, ecx
and eax, esi
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or r8, rdx
shl r8, 0xf
movabs rax, 0xf7ca7db9757fd83d
sub rax, qword [rsp + 0x88]
xor r8, rax
mov rcx, r8
movabs rax, 0x6a7ac388d16e4257
imul rcx, rax
mov eax, 0xa4a40ad7
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rbx + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rax, 0xe1aaa3708dc91f40
sub rax, qword [rsp + 0x58]
shr rax, cl
mov qword [rsp + 0x68], rax
movabs rcx, 0x958d60ff84b237c5
add rcx, qword [rsp + 0x80]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, r10
sub rax, qword [rsp + 0x60]
xor qword [rsp + 0x68], rax
jmp 0x140153aeb
movabs rax, 0xaaaaaa1aa4bdf7e9
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed66b02ba5
imul rcx, rax
movabs rdx, 0xfff17ca873dfc195
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a82adc535
mov rdx, qword [rsp + 0x80]
imul rdx, rax
movabs r8, 0xf68d9ff44b021632
add r8, rcx
add r8, rdx
movabs rax, 0x277cd7be766d2089
mov rcx, r8
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r8
not r11
imul r11, qword [rbx + rcx*8 + 0x2b2060]
xor r11, 0xfffffffff1e82139
lea ecx, [r10 - 0x15]
and cl, sil
rol r11, cl
movabs rcx, 0xebbf96bfe710d477
mov rax, qword [rsp + 0x78]
xor rax, rcx
movabs rcx, 0x7c7a7dc698ef2b88
and rax, rcx
imul r11, rax
mov rcx, r11
ror rcx, 0x36
not rcx
movabs rax, 0x9b2de6b2e6068ab8
imul rcx, rax
mov rax, r8
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x60]
and cl, sil
ror rdx, cl
movabs rax, 0x6a7ac388d16e4257
imul rdx, rax
mov qword [rsp + 0x68], rdx
jmp 0x140153aeb
movabs rax, 0x281d2a094ef3c1ad
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x95853c772e91bda8
mov rax, r13
imul rax, rdx
movabs rdx, 0x69b9a18a6274bc2
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov ecx, dword [rsp + 0x98]
and cl, sil
rol r9, cl
movabs rcx, 0x95853c772e91bda9
add rcx, r10
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x388d16e4257
mov rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f87981c4
or r9, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0x69b9a18a6274bc2
imul rcx, rax
sub rcx, r11
mov rax, qword [rsp + 0x60]
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6a97181c9
xor rcx, rax
mov qword [rsp + 0x68], rcx
movabs rax, 0xcccccccccccccccd
mul r13
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r13
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x68]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r11
imul rdx, qword [rsp + 0x68]
shr rdx, cl
mov rax, r8
sub rax, rdx
sub rax, r13
movabs r13, 0x78958946623cdd3
add r13, rax
xor r13, qword [rsp + 0x60]
movzx eax, r8b
imul ecx, eax, 0xec
and cl, sil
rol r13, cl
not r13
jmp 0x140153aeb
mov rax, rdi
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x1402b2080]
mov rdx, qword [rbx + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r9
and r9b, sil
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r11
mov rcx, qword [rsp + 0x60]
not rcx
imul rcx, r8
movabs rax, 0x7cd8a7de7480d028
imul rcx, rax
mov rax, r9
imul rax, r13
mov r13, rcx
xor r13, rax
imul rax, qword [0x1402b2060], 0x9e5614a
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0x88], rax
mov al, r13b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r15d
jge 0x140153ac6
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rax, qword [rsp + 0x88]
ror rax, cl
movabs rcx, 0x95853c772e91bda9
add rax, rcx
add rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
movabs rax, 0xff055d7b84cbdae5
mov rcx, qword [rsp + 0x58]
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, r13
imul r9, qword [rbx + rcx*8 + 0x2b2060]
not r11
imul r11, r10
imul r11, qword [rsp + 0x60]
imul r11, qword [rsp + 0x68]
movabs rcx, 0xf5ed7e8783789039
xor rcx, r8
not rcx
xor rcx, r11
sub rcx, r9
call fcn.14012dcb4
mov qword [0x1402b3168], rax
movabs rax, 0xf240a88a1faf0d2e
mov qword [rsp + 0x80], rax
movabs r10, 0x74adb8684d846d95
mov qword [rsp + 0x88], r10
movabs rax, 0xad14fcb9b3741c60
mov r13, qword [0x1402b2070]
imul r13, rax
movabs rax, 0xed8a9dcd24c96b10
xor r13, rax
mov rcx, r13
imul rcx, r10
mov qword [rsp + 0x60], rcx
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r13
and r9, r10
imul r9, qword [rbx + rcx*8 + 0x2b2060]
movabs rax, 0x1aadff26925a9384
imul r9, rax
shr r9, 3
movabs rax, 0xceae97acbc6e18ce
xor r9, rax
movabs rax, 0xffffff57c620e79d
mov rcx, r13
imul rcx, rax
sub rcx, 0x76355172
xor rcx, r9
xor rcx, qword [0x1402b2060]
mov rax, r9
imul rax, qword [0x1402b2070]
movabs rdx, 0xb9de928bcf9358bc
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x18
shr rcx, 8
mov qword [rsp + 0x58], rcx
movabs r11, 0x8b524797b27b926b
lea rcx, [r11 + r13]
xor rcx, 0xfffffffff11d53b1
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x6beef96b162aa9e8
mov r8, qword [rbx + rcx*8 + 0x2b2060]
imul r8, rax
add r8, r10
movabs rcx, 0xab453f2e6cdd0718
mov rax, r9
imul rax, rcx
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x68], r8
mov rax, r8
xor rax, r13
mov qword [rsp + 0x78], rax
lea rcx, [r8 + r11]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [rbx + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xad
and ecx, r15d
jge 0x140153cdf
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rdx, qword [rsp + 0x78]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xffffffff89caae8e
mov qword [rsp + 0x78], rax
add r11, rax
mov r10, r8
imul r10, qword [rsp + 0x58]
sub r10, r11
movabs rax, 0xf240a88a1faf0d2e
xor r10, rax
movzx ecx, r11b
mov dword [rsp + 0x98], ecx
xor ecx, 2
and ecx, 0xf
and ecx, r15d
jge 0x140153d35
sub ecx, r12d
or ecx, r14d
add ecx, r12d
rol r10, cl
movabs rax, 0xd1f7ca1936820ea6
imul rdx, rax
movabs rax, 0x6c05d8832d6fc747
add rdx, rax
xor r10, rdx
mov rax, r11
sub rax, qword [0x1402b2078]
xor r10, rax
xor r10, r9
xor r10, r13
mov rax, r10
and rax, r12
xor rax, 2
je 0x140154117
sub rax, 1
je 0x140153fb3
sub rax, 1
je 0x140153eb1
cmp rax, 1
jne 0x1401541d2
mov rcx, r11
imul rcx, r8
movabs rax, 0x54bf59333606de9f
add rax, r10
xor rcx, rax
ror rcx, 0x22
shr rcx, 0xc
xor rcx, r13
not rcx
mov qword [rsp + 0x80], rcx
movabs rdx, 0x83572d6256ba
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x8bd0c2efd402e457
xor r8, rax
mov eax, ecx
imul eax, r10d
and eax, esi
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or r8, rdx
shl r8, 0xf
movabs rax, 0xf7ca7db97582ba45
sub rax, qword [rsp + 0x68]
xor r8, rax
mov rcx, r8
movabs rax, 0x74adb8684d846d95
imul rcx, rax
mov eax, 0xa45968af
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rbx + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rax, 0xb3fb614b6af45f16
sub rax, qword [rsp + 0x80]
shr rax, cl
mov qword [rsp + 0x88], rax
movabs rcx, 0x8b5a6c200958aacf
add rcx, qword [rsp + 0x78]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, r10
sub rax, qword [rsp + 0x58]
xor qword [rsp + 0x88], rax
jmp 0x1401541d2
movabs rax, 0xaaaaaa1aa4409591
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed664d49dd
imul rcx, rax
movabs rdx, 0xfff17ca87322a3ed
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8250a74d
mov rdx, qword [rsp + 0x78]
imul rdx, rax
movabs r8, 0x72c01b3fe56f7e7c
add r8, rcx
add r8, rdx
movabs rax, 0x277cd7be769042f1
mov rcx, r8
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r8
not r11
imul r11, qword [rbx + rcx*8 + 0x2b2060]
xor r11, 0xfffffffff1154341
lea ecx, [r10 + 0x13]
and cl, sil
rol r11, cl
movabs rcx, 0x3c0a1c4200000000
mov rax, qword [rsp + 0x60]
xor rax, rcx
movabs rcx, 0x7c7a7dc6981249f0
and rax, rcx
imul r11, rax
mov rcx, r11
ror rcx, 0x22
not rcx
movabs rax, 0x9b2de6b2e5f30358
imul rcx, rax
mov rax, r8
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x58]
and cl, sil
ror rdx, cl
movabs rax, 0x74adb8684d846d95
imul rdx, rax
mov qword [rsp + 0x88], rdx
jmp 0x1401541d2
movabs rax, 0xae9eafb90f3dbba5
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x8b524797b27b926a
mov rax, r13
imul rax, rdx
movabs rdx, 0xf240a88a1faf0d2e
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov eax, dword [rsp + 0x98]
and eax, r15d
jge 0x140154019
sub eax, r12d
or eax, r14d
add eax, r12d
mov cl, al
rol r9, cl
movabs rcx, 0x8b524797b27b926b
add rcx, r10
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff8684d846d95
mov rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f884e3bc
or r9, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0xf240a88a1faf0d2e
imul rcx, rax
sub rcx, r11
mov rax, qword [rsp + 0x58]
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6a98ce3b1
xor rcx, rax
mov qword [rsp + 0x88], rcx
movabs rax, 0xcccccccccccccccd
mul r13
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r13
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x88]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r11
imul rdx, qword [rsp + 0x88]
shr rdx, cl
mov rax, r8
sub rax, rdx
sub rax, r13
movabs r13, 0x789589466deafab
add r13, rax
xor r13, qword [rsp + 0x58]
mov al, r8b
shl al, 2
lea ecx, [rax + r8]
shl cl, 2
and cl, sil
rol r13, cl
not r13
jmp 0x1401541d2
mov rax, rdi
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x1402b2080]
mov rdx, qword [rbx + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r9
and r9b, sil
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r11
mov rcx, qword [rsp + 0x58]
not rcx
imul rcx, r8
movabs rax, 0x7cd8a7de747db250
imul rcx, rax
mov rax, r9
imul rax, r13
mov r13, rcx
xor r13, rax
imul rax, qword [0x1402b2060], 0xffffffff89caae8e
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0x60], rax
mov al, r13b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r15d
jge 0x1401541b3
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rax, qword [rsp + 0x60]
ror rax, cl
movabs rcx, 0x8b524797b27b926b
add rax, rcx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
movabs rax, 0xff055d7b8436b89d
mov rcx, qword [rsp + 0x80]
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, r13
imul r9, qword [rbx + rcx*8 + 0x2b2060]
not r11
imul r11, r10
imul r11, qword [rsp + 0x58]
imul r11, qword [rsp + 0x88]
movabs rcx, 0xf5ed7e878385f241
xor rcx, r8
not rcx
xor rcx, r11
sub rcx, r9
call fcn.14012dcfc
mov qword [0x1402b3198], rax
movabs rax, 0x2988a5198c05fef5
mov qword [rsp + 0x80], rax
movabs r10, 0x7027f2ed51bcd4f2
mov qword [rsp + 0x88], r10
movabs rax, 0xff15b9e79a000000
mov r8, qword [0x1402b2070]
imul r8, rax
movabs rax, 0xdcd169f71f000000
xor r8, rax
mov qword [rsp + 0x60], r8
mov rcx, r8
imul rcx, r10
mov qword [rsp + 0x58], rcx
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r8
and r9, r10
imul r9, qword [rbx + rcx*8 + 0x2b2060]
movabs rax, 0x29d4762e50cf7900
imul r9, rax
shr r9, 3
movabs rax, 0x5c0445b55489205d
xor r9, rax
movabs rax, 0xffffff57c5058633
mov rcx, r8
imul rcx, rax
add rcx, 0x533f500
xor rcx, r9
xor rcx, qword [0x1402b2060]
mov rax, r9
imul rax, qword [0x1402b2070]
movabs rdx, 0xb9de928bccb63912
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x11
shr rcx, 8
mov qword [rsp + 0x68], rcx
movabs r11, 0x8fd80d12ae432b0e
lea rcx, [r8 + r11]
xor rcx, 0xfffffffff238321f
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xf82cdca5247ebe00
mov r13, qword [rbx + rcx*8 + 0x2b2060]
imul r13, rax
add r13, r10
movabs rcx, 0x4f665bfc56e79e68
mov rax, r9
imul rax, rcx
xor r13, rax
shr r13, 0x1f
not r13
mov rax, r13
xor rax, r8
mov qword [rsp + 0x78], rax
lea rcx, [r11 + r13]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r13b
movzx ecx, byte [rbx + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 3
and ecx, r15d
jge 0x1401543c9
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rdx, qword [rsp + 0x78]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0x533f500
mov qword [rsp + 0x78], rax
lea r10, [rax + r11]
mov r11, r13
imul r11, qword [rsp + 0x68]
sub r11, r10
movabs rax, 0x2988a5198c05fef5
xor r11, rax
movzx ecx, r10b
mov dword [rsp + 0x98], ecx
xor cl, 0xfc
and cl, 0xf
rol r11, cl
mov rax, r10
sub rax, qword [0x1402b2078]
xor r11, rax
movabs rax, 0x435d1800de019a00
imul rdx, rax
movabs rax, 0x1610da1e9891b4c4
sub rdx, rax
xor r11, rdx
xor r11, r9
xor r11, r8
mov rax, r11
and eax, 2
je 0x1401547e4
sub rax, 1
je 0x140154690
sub rax, 1
je 0x14015458e
cmp rax, 1
jne 0x14015489f
mov rcx, r10
imul rcx, r13
movabs rax, 0x772d3cc3dccfe3ca
add rax, r11
xor rcx, rax
ror rcx, 0x28
shr rcx, 0xc
xor rcx, r8
not rcx
mov qword [rsp + 0x80], rcx
movabs rdx, 0x83572e473718
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x8f5a886acb1f3c9e
xor r8, rax
mov eax, ecx
imul eax, r11d
and eax, esi
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db976a7dbeb
sub rax, r13
mov r13, rdx
xor r13, rax
mov rcx, r13
movabs rax, 0x7027f2ed51bcd4f2
imul rcx, rax
mov eax, 0xa77c0901
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rbx + rcx*8 + 0x2b2060]
and cl, 0xf
movabs r8, 0x45fd97686279fc81
sub r8, qword [rsp + 0x80]
shr r8, cl
movabs rax, 0x8fe0319b043ba4dc
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
imul rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, r11
sub rax, qword [rsp + 0x68]
xor r8, rax
mov qword [rsp + 0x88], r8
mov r8, qword [rsp + 0x60]
jmp 0x14015489f
movabs rax, 0xaaaaaa1aa765f43f
mov rcx, r11
xor rcx, rax
movabs rax, 0x1206ed65682873
imul rcx, rax
movabs rdx, 0xfff17ca87007c243
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8175c6e3
mov rdx, qword [rsp + 0x78]
imul rdx, rax
movabs r13, 0xde611fd3b5b7c84d
add r13, rcx
add r13, rdx
movabs rax, 0x277cd7be75b5235f
mov rcx, r13
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r13
not r10
imul r10, qword [rbx + rcx*8 + 0x2b2060]
xor r10, 0xfffffffff23022ef
lea ecx, [r11 - 3]
and cl, sil
rol r10, cl
movabs rcx, 0xcfffc23964c8d7a1
mov rax, qword [rsp + 0x58]
xor rax, rcx
movabs rcx, 0x7c7a7dc69b37285e
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x17
not rcx
movabs rax, 0x9b2de6b2e96685e0
imul rcx, rax
mov rax, r13
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x68]
and cl, sil
ror rdx, cl
movabs rax, 0x7027f2ed51bcd4f2
imul rdx, rax
mov qword [rsp + 0x88], rdx
jmp 0x14015489f
movabs rax, 0x931c3997c46b5ebc
imul r11, rax
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x8fd80d12ae432b0d
mov rax, r8
imul rax, rdx
movabs rdx, 0x2988a5198c05fef5
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov ecx, dword [rsp + 0x98]
and cl, sil
rol r9, cl
movabs rcx, 0x8fd80d12ae432b0e
add rcx, r11
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff2ed51bcd4f2
mov rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7fba18212
or r9, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0x2988a5198c05fef5
imul rcx, rax
sub rcx, r10
mov rax, qword [rsp + 0x68]
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6aaa9821f
xor rcx, rax
mov qword [rsp + 0x88], rcx
movabs rax, 0xcccccccccccccccd
mul r8
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r8
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x88]
div rcx
mov rcx, rdx
mov rdx, r11
imul rdx, r10
imul rdx, qword [rsp + 0x88]
shr rdx, cl
mov rax, r13
sub rax, rdx
sub rax, r8
movabs r8, 0x789589465fbce05
add r8, rax
xor r8, qword [rsp + 0x68]
movzx eax, r13b
imul ecx, eax, 0xfa
and cl, sil
rol r8, cl
not r8
jmp 0x14015489f
mov rax, rdi
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r11
imul rax, qword [0x1402b2080]
mov rdx, qword [rbx + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r9
and r9b, sil
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r10
mov rcx, qword [rsp + 0x68]
not rcx
imul rcx, r13
movabs rax, 0x7cd8a7de7758d3fe
imul rcx, rax
mov rax, r9
imul rax, r8
mov r8, rcx
xor r8, rax
imul rax, qword [0x1402b2060], 0x533f500
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0x60], rax
mov al, r8b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r15d
jge 0x140154880
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rax, qword [rsp + 0x60]
ror rax, cl
movabs rcx, 0x8fd80d12ae432b0e
add rax, rcx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x68], rax
movabs rax, 0xff055d7b8713d933
mov rcx, qword [rsp + 0x80]
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, r8
imul r9, qword [rbx + rcx*8 + 0x2b2060]
not r10
imul r10, r11
imul r10, qword [rsp + 0x68]
imul r10, qword [rsp + 0x88]
movabs rcx, 0xf5ed7e8780a093ef
xor rcx, r13
not rcx
xor rcx, r10
sub rcx, r9
call fcn.14012dcd8
mov qword [0x1402b3160], rax
movabs rax, 0x66a69b7a7c66e7ff
mov qword [rsp + 0x80], rax
movabs rcx, 0x6ab0e980d4a99a8d
mov qword [rsp + 0x88], rcx
xor r13d, r13d
mov qword [rsp + 0x60], r13
movabs rax, 0x81172f3de4bdf8ce
movabs r8, 0xf1ad81eb00b9c8b5
mov rdx, qword [0x1402b2070]
imul rdx, rax
not rdx
movabs r9, 0xe527e1482e31ff5
mov rax, qword [0x1402b2060]
xor rax, r9
and rdx, rax
ror rdx, 0x2a
shr rdx, 8
mov qword [rsp + 0x58], rdx
movabs rax, 0x409b678bcec3f880
mov r10, qword [0x1402b2080]
imul r10, rax
add r10, rcx
movabs rax, 0xb596a3ec7fffffff
xor r10, rax
shr r10, 0x1f
not r10
movabs r9, 0x954f167f2b566573
lea rcx, [r10 + r9]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [rbx + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x47
and ecx, r15d
jge 0x1401549ef
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rax, r10
ror rax, cl
not rax
movabs rdx, 0x25bfa8e3afa43040
mov rcx, rax
imul rcx, rdx
mov qword [rsp + 0x68], rcx
add r9, rcx
mov r11, r10
imul r11, qword [rsp + 0x58]
sub r11, r9
movabs rdx, 0x66a69b7a7c66e7ff
xor r11, rdx
movzx ecx, r9b
mov dword [rsp + 0x98], ecx
xor cl, 0xf8
and cl, 0xf
rol r11, cl
movabs rcx, 0xfee48695cb51340
imul rax, rcx
movabs rcx, 0x5b788f56f377f1a9
sub rax, rcx
xor r11, rax
mov rax, r9
mov rdx, qword [0x1402b2078]
sub rax, rdx
xor r11, rax
xor r11, r8
mov rax, r11
and rax, r12
je 0x140154d9f
sub rax, 1
je 0x140154c93
sub rax, 1
je 0x140154bb9
cmp rax, 1
jne 0x140154e2e
mov rcx, r9
imul rcx, r10
movabs rax, 0xaf2fe7791e004f75
add rax, r11
xor rcx, rax
ror rcx, 0x10
shr rcx, 0xc
not rcx
mov qword [rsp + 0x80], rcx
movabs rdx, 0x835729e4d254
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x95cd930749a997a5
xor r8, rax
mov eax, r11d
imul eax, ecx
and eax, esi
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db971043eaf
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
movabs rax, 0x6ab0e980d4a99a8d
imul rcx, rax
mov eax, 0xa0dfec45
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rbx + rcx*8 + 0x2b2060]
and cl, 0xf
movabs r8, 0x3d9a7ea47d46e3aa
sub r8, qword [rsp + 0x80]
shr r8, cl
movabs rax, 0x95573b077db201fd
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
imul rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, r11
sub rax, qword [rsp + 0x58]
xor r8, rax
mov qword [rsp + 0x88], r8
movabs r8, 0xf1ad81eb00b9c8b5
jmp 0x140154e2e
movabs rcx, 0xaaaaaa1aa0c6117b
mov r10, r11
xor r10, rcx
movabs rcx, 0x1206ed62cbcd37
imul r10, rcx
movabs rdx, 0xffff7e8a86d623a7
mov rcx, qword [rsp + 0x68]
imul rcx, rdx
movabs rdx, 0x4594e7a25151afa
add r10, rdx
add r10, rcx
movabs rax, 0x277cd7be7216c61b
mov rcx, r10
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r10
not r9
imul r9, qword [rbx + rcx*8 + 0x2b2060]
xor r9, 0xfffffffff593c7ab
lea ecx, [r11 - 7]
and cl, sil
rol r9, cl
movabs rax, 0x3072210000000000
imul r9, rax
mov rcx, r9
ror rcx, 0x19
not rcx
movabs rax, 0x9b2de6b2f7e910f0
imul rcx, rax
mov rax, r10
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x58]
and cl, sil
ror rdx, cl
movabs rax, 0x6ab0e980d4a99a8d
imul rdx, rax
mov qword [rsp + 0x88], rdx
jmp 0x140154e2e
movabs rax, 0xcc4a939531409b11
imul r11, rax
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x9959648583991800
shl rdx, cl
mov rax, r8
mov r8, rdx
xor r8, rax
mov ecx, dword [rsp + 0x98]
and cl, sil
rol r8, cl
movabs rcx, 0x954f167f2b566573
add rcx, r11
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe980d4a99a8d
mov rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7fc026756
or r8, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0x66a69b7a7c66e7ff
imul rcx, rax
sub rcx, r9
mov rax, qword [rsp + 0x58]
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a6ad0a675b
xor rcx, rax
mov qword [rsp + 0x88], rcx
mov rax, r11
imul rax, r9
imul rax, rcx
mov rdx, r10
sub rdx, rax
movabs rax, 0x789589462582b41
add rdx, rax
xor rdx, qword [rsp + 0x58]
movzx eax, r10b
imul ecx, eax, 0xfe
and cl, sil
rol rdx, cl
not rdx
mov qword [rsp + 0x60], rdx
jmp 0x140154e2e
mov rcx, qword [0x1402b2080]
imul rcx, r11
and rcx, rdx
mov rax, r8
mov r8, rcx
xor r8, rax
ror r8, 0x35
imul r8, r9
mov rax, qword [rsp + 0x58]
not rax
imul rax, r10
movabs rcx, 0x7cd8a7de70fb36ba
imul rax, rcx
mov qword [rsp + 0x60], rax
imul rcx, qword [0x1402b2060], 0xffffffff825ad740
mov rdx, qword [0x1402b2068]
sub rcx, rdx
mov qword [rsp + 0x58], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r15d
jge 0x140154e0f
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rax, qword [rsp + 0x58]
ror rax, cl
movabs rcx, 0x954f167f2b566573
add rax, rcx
add rax, qword [rsp + 0x68]
mov qword [rsp + 0x58], rax
movabs rax, 0xff055d7b80b03c77
mov rcx, qword [rsp + 0x80]
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r8, qword [rsp + 0x60]
imul r8, qword [rbx + rcx*8 + 0x2b2060]
not r9
imul r9, r11
imul r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
imul rcx, r9
movabs rax, 0xf5ed7e87870376ab
xor r10, rax
not r10
xor rcx, r10
sub rcx, r8
call fcn.14012e644
mov qword [0x1402b3190], rax
movabs rax, 0xebe262802b93c1f
mov qword [rsp + 0x80], rax
movabs rcx, 0x68ba9df6dffd0641
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x60], r13
movabs rax, 0xfc1a0c3e00bcbcb0
movabs r8, 0x764e856fe0c0b632
mov rdx, qword [0x1402b2070]
imul rdx, rax
not rdx
movabs r10, 0x764e856fe14d987c
mov rax, qword [0x1402b2060]
xor rax, r10
and rdx, rax
ror rdx, 0x28
shr rdx, 8
mov qword [rsp + 0x58], rdx
movabs rax, 0x4c32cccfe58a26d0
mov r11, qword [0x1402b2070]
imul r11, rax
add r11, rcx
movabs rax, 0x9a1b2acdffffffff
xor r11, rax
shr r11, 0x1f
not r11
movabs r9, 0x974562092002f9bf
lea rcx, [r11 + r9]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [rbx + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 9
and ecx, r15d
jge 0x140154f80
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rax, r11
ror rax, cl
not rax
mov qword [rsp + 0x68], rax
movabs rcx, 0x16664d53a6fe7f3c
imul rax, rcx
mov qword [rsp + 0x78], rax
add r9, rax
mov r10, r11
mov rdx, qword [rsp + 0x58]
imul r10, rdx
sub r10, r9
movabs rax, 0xebe262802b93c1f
xor r10, rax
movzx ecx, r9b
mov dword [rsp + 0x98], ecx
xor ecx, 6
and ecx, 0xf
and ecx, r15d
jge 0x140154fdf
sub ecx, r12d
or ecx, r14d
add ecx, r12d
rol r10, cl
movabs rcx, 0xbe1b62285fe5b63c
mov rax, qword [rsp + 0x68]
imul rax, rcx
movabs rcx, 0x7e6289e69aa11c81
sub rax, rcx
xor r10, rax
mov rax, r9
sub rax, qword [0x1402b2078]
xor r10, rax
xor r10, r8
mov rax, r10
and rax, r12
xor rax, 2
je 0x140155356
sub rax, 1
je 0x14015523d
sub rax, 1
je 0x140155163
cmp rax, 1
jne 0x1401553e7
mov rcx, r9
imul rcx, r11
movabs rax, 0x299a27eaf0190687
add rax, r10
xor rcx, rax
ror rcx, 0x12
shr rcx, 0xc
not rcx
mov qword [rsp + 0x80], rcx
movabs rdx, 0x83573423fa1e
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x97c7e7715f3a2327
xor r8, rax
mov eax, ecx
imul eax, r10d
and eax, esi
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db96cc316e1
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0x68ba9df6dffd0641
imul rcx, rax
mov eax, 0xbd18c40b
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rbx + rcx*8 + 0x2b2060]
and cl, 0xf
movabs r8, 0x4c9d9291e86cc70a
sub r8, qword [rsp + 0x80]
shr r8, cl
movabs rax, 0x974d86916f9fae87
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, r10
sub rax, qword [rsp + 0x58]
xor r8, rax
mov qword [rsp + 0x88], r8
movabs r8, 0x764e856fe0c0b632
jmp 0x1401553e7
movabs rcx, 0xaaaaaa1abd013935
mov r11, r10
xor r11, rcx
movabs rcx, 0x1206ed7f0ce579
imul r11, rcx
movabs rdx, 0xffff7e8a9b110be9
mov rcx, qword [rsp + 0x78]
imul rcx, rdx
movabs rdx, 0xe760b3d08e8cd645
add r11, rdx
add r11, rcx
movabs rax, 0x277cd7be6fd1ee55
mov rcx, r11
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
imul r9, qword [rbx + rcx*8 + 0x2b2060]
xor r9, 0xffffffffe854efe5
lea ecx, [r10 - 9]
and cl, sil
rol r9, cl
movabs rax, 0x7c28584400000000
imul r9, rax
mov rcx, r9
ror rcx, 0x37
not rcx
movabs rax, 0x9b2de6b280f5b1c8
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x58]
and cl, sil
ror rdx, cl
movabs rax, 0x68ba9df6dffd0641
imul rdx, rax
mov qword [rsp + 0x88], rdx
jmp 0x1401553e7
movabs rax, 0x6cbc043ab2fe2a9f
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0xf141d9d7fd46c3e0
shl rdx, cl
mov rax, r8
mov r8, rdx
xor r8, rax
mov eax, dword [rsp + 0x98]
and eax, r15d
jge 0x140155292
sub eax, r12d
or eax, r14d
add eax, r12d
mov cl, al
rol r8, cl
movabs rcx, 0x974562092002f9bf
add rcx, r10
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1df6dffd0641
mov rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7e1c54f18
or r8, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0xebe262802b93c1f
imul rcx, rax
sub rcx, r9
mov rax, qword [rsp + 0x58]
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a6b0cd4f15
xor rcx, rax
mov qword [rsp + 0x88], rcx
mov rax, r10
imul rax, r9
imul rax, rcx
mov rdx, r11
sub rdx, rax
movabs rax, 0x78958947f9f030f
add rdx, rax
xor rdx, qword [rsp + 0x58]
movzx eax, r11b
imul ecx, eax, 0xf0
and cl, sil
rol rdx, cl
not rdx
mov qword [rsp + 0x60], rdx
jmp 0x1401553e7
mov rcx, r10
imul rcx, qword [0x1402b2080]
and rcx, qword [0x1402b2070]
mov rax, r8
mov r8, rcx
xor r8, rax
ror r8, 0x32
imul r8, r9
mov rax, rdx
not rax
imul rax, r11
movabs rcx, 0x7cd8a7de6d3c1ef4
imul rax, rcx
mov qword [rsp + 0x60], rax
imul rcx, qword [0x1402b2060], 0x18d2e4e
mov rdx, qword [0x1402b2068]
sub rcx, rdx
mov qword [rsp + 0x58], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r15d
jge 0x1401553c8
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rax, qword [rsp + 0x58]
ror rax, cl
movabs rcx, 0x974562092002f9bf
add rax, rcx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
movabs rax, 0xff055d7b9d771439
mov rcx, qword [rsp + 0x80]
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r8, qword [rsp + 0x60]
imul r8, qword [rbx + rcx*8 + 0x2b2060]
not r9
imul r9, r10
imul r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
imul rcx, r9
movabs rax, 0xf5ed7e879ac45ee5
xor r11, rax
not r11
xor rcx, r11
sub rcx, r8
call fcn.14012e7f4
mov qword [0x1402b3158], rax
movabs rcx, 0x482b951a0b8af182
mov qword [rsp + 0x80], r13
movabs rax, 0x80c88d19e4039540
movabs r8, 0x34df2a78a79f41b8
mov rdx, qword [0x1402b2070]
imul rdx, rax
not rdx
movabs r9, 0xcb20d5872dfb9bb2
mov rax, qword [0x1402b2060]
xor rax, r9
and rdx, rax
ror rdx, 0x2b
shr rdx, 8
mov qword [rsp + 0x88], rdx
movabs rax, 0x430c9c9b04b12870
mov r11, qword [0x1402b2078]
imul r11, rax
add r11, rcx
movabs rax, 0xae5a46a80000000
xor r11, rax
shr r11, 0x1f
not r11
movabs r9, 0xb7d46ae5f4750e7e
lea rcx, [r11 + r9]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [rbx + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x89
and ecx, r15d
jge 0x140155528
sub ecx, r12d
or ecx, r14d
add ecx, r12d
mov rax, r11
ror rax, cl
not rax
mov qword [rsp + 0x60], rax
movabs rcx, 0x14c0795f060f4130
imul rax, rcx
mov qword [rsp + 0x58], rax
add r9, rax
mov r10, r11
mov rdx, qword [rsp + 0x88]
imul r10, rdx
sub r10, r9
movabs rax, 0xf464bfb662ba88cd
xor r10, rax
movzx ecx, r9b
mov dword [rsp + 0x98], ecx
xor ecx, 6
and ecx, 0xf
and ecx, r15d
jge 0x14015558a
sub ecx, r12d
or ecx, r14d
add ecx, r12d
rol r10, cl
movabs rcx, 0x300991dba3fd4a60
mov rax, qword [rsp + 0x60]
imul rax, rcx
movabs rcx, 0x578b9e926ffe0604
sub rax, rcx
xor r10, rax
mov rax, r9
sub rax, qword [0x1402b2078]
xor r10, rax
xor r10, r8
mov rax, r10
not rax
and eax, 2
je 0x1401558eb
sub rax, 1
je 0x1401557d1
sub rax, 1
je 0x1401556fc
cmp rax, 1
jne 0x140155978
mov r15, r9
imul r15, r11
movabs rax, 0x761a9fbfee4a3b0e
add rax, r10
xor r15, rax
ror r15, 0x12
shr r15, 0xc
not r15
movabs rcx, 0x83573809f09e
mov r8, qword [0x1402b2088]
add r8, rcx
movabs rax, 0xb756ef9d8767de64
xor r8, rax
mov eax, r15d
imul eax, r10d
and eax, esi
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db960e91c61
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0x482b951a0b8af182
imul rcx, rax
mov eax, 0xb132ce8b
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rbx + rcx*8 + 0x2b2060]
and cl, 0xf
movabs r14, 0xe678455b046d3ab3
sub r14, r15
shr r14, cl
movabs rax, 0xb7dc8f6e382bccc6
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, r10
sub rax, qword [rsp + 0x88]
xor r14, rax
movabs r8, 0x34df2a78a79f41b8
jmp 0x14015598c
movabs rcx, 0xaaaaaa1ab12b33b5
mov r11, r10
xor r11, rcx
movabs rcx, 0x1206ed7326eff9
imul r11, rcx
movabs rdx, 0xffff7e8a973b0169
mov rcx, qword [rsp + 0x58]
imul rcx, rdx
movabs rdx, 0xb4a1c7237802ca6
add r11, rdx
add r11, rcx
movabs rax, 0x277cd7be63fbe4d5
mov rcx, r11
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
imul r9, qword [rbx + rcx*8 + 0x2b2060]
xor r9, 0xffffffffe47ee565
lea ecx, [r10 - 9]
and cl, sil
rol r9, cl
movabs rax, 0x30282cc600000000
imul r9, rax
mov rcx, r9
ror rcx, 0x25
not rcx
movabs rax, 0x9b2de6b2b05d9bc8
imul rcx, rax
mov rax, r11
sub rax, r9
lea r14, [rcx + rax*4]
mov cl, byte [rsp + 0x88]
and cl, sil
ror r14, cl
movabs rax, 0x482b951a0b8af182
imul r14, rax
jmp 0x140155982
movabs rax, 0x761a840cd940d9fc
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0xb9b40499d457732
shl rdx, cl
mov rax, r8
mov r8, rdx
xor r8, rax
mov eax, dword [rsp + 0x98]
and eax, r15d
jge 0x140155826
sub eax, r12d
or eax, r14d
add eax, r12d
mov cl, al
rol r8, cl
movabs rcx, 0xb7d46ae5f4750e7e
add rcx, r10
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x151a0b8af182
mov rax, qword [rbx + rcx*8 + 0x2b2060]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7edef4598
or r8, rax
mov r14, qword [0x1402b2070]
movabs r15, 0xf464bfb662ba88cd
imul r14, r15
sub r14, r9
mov rax, qword [rsp + 0x88]
sub rax, r8
xor r14, rax
movabs rax, 0xc7a7c6a6bce74595
xor r14, rax
mov rax, r10
imul rax, r9
imul rax, r14
mov rdx, r11
sub rdx, rax
movabs rax, 0x789589473b5098f
add rdx, rax
xor rdx, qword [rsp + 0x88]
movzx eax, r11b
imul ecx, eax, 0xf0
and cl, sil
rol rdx, cl
not rdx
mov qword [rsp + 0x80], rdx
jmp 0x14015598c
mov rcx, r10
imul rcx, qword [0x1402b2080]
and rcx, qword [0x1402b2080]
mov rax, r8
mov r8, rcx
xor r8, rax
ror r8, 0x38
imul r8, r9
mov rax, rdx
not rax
imul rax, r11
movabs rcx, 0x7cd8a7de61161474
imul rax, rcx
mov qword [rsp + 0x80], rax
imul rsi, qword [0x1402b2060], 0xffffffff8a64da0a
mov rdx, qword [0x1402b2068]
sub rsi, rdx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r15d
jge 0x14015595b
sub ecx, r12d
or ecx, r14d
add ecx, r12d
ror rsi, cl
movabs rax, 0xb7d46ae5f4750e7e
add rax, rsi
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x88], rax
movabs r14, 0x482b951a0b8af182
movabs r15, 0xf464bfb662ba88cd
movabs rax, 0xff055d7b915d1eb9
xor r15, rax
mov rax, rdi
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r8, qword [rsp + 0x80]
imul r8, qword [rbx + r15*8 + 0x2b2060]
not r9
imul r9, r10
imul r9, qword [rsp + 0x88]
imul r9, r14
movabs rcx, 0xf5ed7e8796ee5465
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.14012e7ac
mov qword [0x1402b3188], rax
mov dword [rsp + 0x2a0], r13d
mov dword [rsp + 0x2a0], 0xa55201
mov eax, dword [rsp + 0x2a0]
add eax, 0x5e226834
xor eax, 0xfd88f026
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x288009c9
xor eax, 0x1dffa7dc
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0xb738dc7a
add eax, ecx
xor eax, 0x20a13b2e
sub eax, 0x38cfd67c
xor eax, 0x5e31d005
lea edx, [rcx - 0x1bcb22f9]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xd57887f4
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x2a87780b
add ecx, 0x1599278b
add ecx, edx
xor ecx, 0x6594377c
mov dword [rsp + 0x2a0], ecx
movsxd rax, ecx
mov rcx, qword [rsp + 0x1430]
movsx rdx, byte [rax + rcx]
mov ecx, dword [rsp + 0x1440]
not ecx
imul rcx, qword [rsp + 0x1438]
xor rdx, rcx
mov qword [rsp + 0x80], rdx
mov dword [rsp + 0x2a0], r13d
mov rcx, rdx
call fcn.14012ddf8
xor edx, edx
mov r8d, 0x8a
lea rcx, [rsp + 0xca0]
call fcn.14023de60
mov rax, qword [0x1402b31d8]
mov qword [rsp + 0x88], rax
xor ecx, ecx
mov byte [rsp + 0xc8], cl
mov dword [rsp + 0xa08], 0x3b74ccaa
mov dword [rsp + 0xa0c], 0x9556f49d
mov dword [rsp + 0xa10], 0x3f1411df
mov eax, 0xedc8
mov word [rsp + 0xa14], ax
mov qword [rsp + 0x60], r13
mov ecx, 0x37
movabs r8, 0x13cce94adbe8f3f8
mov dword [rsp + 0x98], 0x4050
xor edx, edx
mov rax, r13
div r8
lea r14d, [rcx + rdx]
movzx r15d, r14w
ror r15w, 8
movzx esi, r15w
shr si, 0xa
movzx eax, r15w
shl ax, 6
or si, ax
movzx edi, si
ror di, 8
movzx r9d, r15w
shr r9w, 0xd
movzx eax, r15w
shl ax, 3
or r9w, ax
movzx edx, r15w
shl dx, 0xd
movzx eax, r15w
shr ax, 3
or dx, ax
movzx r11d, dx
ror r11w, 8
movzx r8d, r15w
shr r8w, 0xc
movzx eax, r15w
shl ax, 4
or r8w, ax
movzx ebx, r15w
not bx
movzx ecx, r15w
ror cx, 1
movzx r10d, word [rsp + r13*2 + 0xa08]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x1402b2058]
sub r10w, word [0x1402b2050]
add r10w, r15w
add r10w, di
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [rsi + r15]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, r15w
sub r10w, dx
sub r10w, word [0x1402b2048]
sub r10w, r9w
mov rcx, qword [0x1402b2040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r15w
sub ax, r9w
add ax, r8w
add ax, si
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov edx, 0x4050
sub r11w, dx
add ax, r11w
xor r10w, ax
movzx edx, r15w
xor dx, word [0x1402b2030]
sub dx, r10w
movzx eax, bx
xor ax, word [0x1402b2038]
sub dx, ax
mov eax, 0x7100
add eax, r15d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, r15d
add ax, ax
add dx, ax
sub dx, r14w
sub dx, cx
sub dx, di
sub dx, si
movzx eax, bx
movzx ecx, r15w
imul ecx, eax
xor dx, cx
mov word [rsp + r13*2 + 0xa08], dx
add r13, r12
cmp r13, 7
mov ecx, 0x37
movabs r8, 0x13cce94adbe8f3f8
jb 0x140155b40
lea rax, [rsp + 0xa08]
mov qword [rsp + 0xa18], rax
mov qword [rsp + 0xa20], 0xe
mov r8, qword [rsp + 0xa18]
xor r13d, r13d
mov qword [rsp + 0x308], r13
movabs rax, 0xf336aab481a21089
mov qword [rsp + 0x308], rax
movabs rcx, 0xcc5ad4852770b3a
add rcx, qword [rsp + 0x308]
movabs rax, 0x308b4fedad9be47b
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0x4ed45970efa30be0
add rcx, rax
movabs rax, 0x707459bddd9b24a
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0xd829ab47fc8ff930
add rcx, rax
mov rdx, qword [0x1402b2040]
add rcx, rdx
movabs rax, 0xa56e865981f0b13c
xor rcx, rax
movabs rax, 0x2b02fde68fd43124
sub rcx, rax
movabs rax, 0x77c4c32e636fdbdc
xor rcx, rax
movabs rax, 0x95ab432c748e8a76
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0xec3316b52149da80
mov rax, qword [0x1402b2038]
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94adeb6257f
mov rcx, qword [0x1402b2030]
xor rcx, rax
movabs rax, 0x1f4a914512faceae
add rdx, rax
add rdx, rcx
movabs rax, 0x3c7bd0a78737e580
xor rdx, rax
mov qword [rsp + 0x308], rdx
mov r9, qword [rsp + 0x88]
lea rcx, [rsp + 0xca0]
call fcn.14016d674
nop
mov qword [rsp + 0x308], r13
mov rcx, qword [rsp + 0xa18]
test rcx, rcx
je 0x140155e94
mov eax, r13d
cmp qword [rsp + 0xa20], r13
jbe 0x140155e94
mov byte [rcx + rax], r13b
add rax, r12
cmp rax, qword [rsp + 0xa20]
jae 0x140155e94
mov rcx, qword [rsp + 0xa18]
jmp 0x140155e79
movabs rax, 0xf17e180818a87931
mov qword [rsp + 0x310], rax
movabs rbx, 0xb6c52e8df5788f67
mov qword [rsp + 0x318], rbx
mov qword [rsp + 0x320], r13
movabs r11, 0x820b00359b1f5d9d
mov qword [rsp + 0x328], r11
movabs rax, 0x742329fa8bb59840
mov r15, qword [0x1402b2070]
imul r15, rax
not r15
movabs rdx, 0x7df4ffca6faa80bb
mov rax, qword [0x1402b2060]
xor rax, rdx
and r15, rax
mov qword [rsp + 0x330], r15
ror r15, 0x16
shr r15, 8
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x338], r15
movabs rax, 0x47250d8ffc49ae00
mov r10, qword [0x1402b2070]
imul r10, rax
movabs r8, 0x493ad1720a877099
sub r10, r8
movabs rax, 0x9d2ae9faffffffff
xor r10, rax
shr r10, 0x1f
not r10
mov qword [rsp + 0x340], r10
mov qword [rsp + 0x348], r10
lea rcx, [r10 + r8]
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
lea rsi, [0x140000000]
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x51
mov edi, 0x8000003f
and ecx, edi
jge 0x140155fb7
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, r10
ror rax, cl
not rax
movabs rcx, 0x6f7183a8ee796e4e
imul rax, rcx
add r8, rax
mov qword [rsp + 0x350], r8
mov r9, r10
imul r9, r15
sub r9, r8
movabs rdx, 0xf17e180818a87931
xor r9, rdx
mov qword [rsp + 0x358], r9
movzx ecx, r8b
mov dword [rsp + 0x78], ecx
xor cl, 0xfe
and cl, 0xf
rol r9, cl
mov rax, r8
sub rax, qword [0x1402b2078]
xor r9, rax
mov rax, r8
imul rax, rbx
xor r9, rax
xor r9, r11
mov qword [rsp + 0x360], r9
mov qword [rsp + 0x60], r13
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x1401568cd
sub rax, 1
mov r15d, 0x3f
je 0x14015678c
sub rax, 1
je 0x140156185
cmp rax, 1
jne 0x140156286
mov rcx, r8
imul rcx, r10
movabs rax, 0x16ec8506cc030df9
add rax, r9
xor rcx, rax
mov qword [rsp + 0x368], rcx
ror rcx, 0x2e
shr rcx, 0xc
not rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x310], rcx
movabs rdx, 0x83573ed9ab46
add rdx, qword [0x1402b2088]
movabs rax, 0x49b8540a7f45fb59
xor rdx, rax
mov qword [rsp + 0x370], rdx
movzx eax, r9b
movzx ecx, cl
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9663947b9
sub rax, r10
mov r10, rdx
xor r10, rax
mov qword [rsp + 0x340], r10
mov rcx, r10
imul rcx, rbx
mov eax, 0xb7e29553
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rbx, 0xc75eb50a9553ebf0
sub rbx, qword [rsp + 0x58]
shr rbx, cl
movabs rcx, 0x824884566e5a0
add rcx, r8
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r9
mov rcx, qword [rsp + 0x88]
sub rax, rcx
xor rbx, rax
mov qword [rsp + 0x318], rbx
mov qword [rsp + 0x60], r13
mov rdx, qword [rsp + 0x58]
jmp 0x14015628e
movabs rcx, 0xaaaaaa1ab7fb686d
mov r10, r9
xor r10, rcx
movabs rcx, 0x1206ed75f6b421
imul r10, rcx
movabs rcx, 0xffff7e8a91eb5ab1
imul r8, rcx
movabs rcx, 0x820501ec96655725
add r10, rcx
add r10, r8
mov qword [rsp + 0x340], r10
movabs rax, 0x277cd7be652bbf0d
mov rcx, r10
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r10
not r8
imul r8, qword [rsi + rcx*8 + 0x2b2060]
xor r8, 0xffffffffe2aebebd
mov qword [rsp + 0x378], r8
lea ecx, [r9 - 0x11]
and cl, r15b
rol r8, cl
movabs rax, 0x7c6a70c080000000
imul r8, rax
mov qword [rsp + 0x350], r8
mov rcx, r8
ror rcx, 1
not rcx
movabs rax, 0x9b2de6b2ab1cf4a8
imul rcx, rax
mov rax, r10
sub rax, r8
lea rdx, [rcx + rax*4]
mov qword [rsp + 0x380], rdx
mov rcx, qword [rsp + 0x88]
movzx ecx, cl
and ecx, r15d
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
mov qword [rsp + 0x318], rbx
movabs rdx, 0xf17e180818a87931
mov qword [rsp + 0x60], r13
mov rcx, qword [rsp + 0x88]
movabs rax, 0xff055d7b978d4561
xor rdx, rax
mov qword [rsp + 0x58], rdx
mov rax, r14
mul rdx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, qword [rsp + 0x58]
sub rdx, rax
mov rax, qword [rsp + 0x60]
xor rax, r11
imul rax, qword [rsi + rdx*8 + 0x2b2060]
not r8
imul r8, rbx
imul r8, rcx
imul r8, r9
movabs rcx, 0xf5ed7e87903e0fbd
xor r10, rcx
not r10
xor r8, r10
sub r8, rax
mov qword [rsp + 0x3a8], r8
mov rcx, r8
call fcn.14012e05c
mov qword [0x1402b3178], rax
xor edx, edx
mov r8d, 0x8a
lea rcx, [rsp + 0xd30]
call fcn.14023de60
mov rax, qword [0x1402b31d8]
mov r11, qword [rax + 0x60]
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x3b0], r11
movabs rax, 0x61612664e6ce06
mov r10, r11
xor r10, rax
movabs rax, 0x15a0b1750f0555b5
imul r10, rax
mov qword [rsp + 0x3b8], r10
ror r10, 6
movzx eax, r11b
movzx ecx, r11b
imul ecx, eax
and cl, 7
shr r10, cl
xor r10, r11
mov qword [rsp + 0x3c0], r10
movabs rcx, 0xf8c0a7001f0014e1
mov rax, r11
imul rax, rcx
mov qword [rsp + 0x3c8], rax
ror rax, 0x19
imul rax, r10
movabs rcx, 0xb6db357fcac8aa
xor rax, rcx
mov qword [rsp + 0x60], rax
mov r8, rax
not r8
mov qword [rsp + 0x3d0], r8
mov rcx, r8
imul rcx, r10
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r8
imul r9, qword [rsi + rcx*8 + 0x2b2060]
imul r9, r10
movabs rax, 0x9610a54465ca1ae3
xor r9, rax
movzx eax, r8b
imul ecx, eax, 0xfc
shl r9, cl
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x3d8], r9
mov rcx, r8
imul rcx, r9
mov qword [rsp + 0x70], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rbx, r9
and rbx, r8
imul rbx, qword [rsi + rcx*8 + 0x2b2060]
imul rbx, r11
imul rbx, r10
movabs rax, 0x202e134e0e63f10
xor rbx, rax
shr rbx, 3
mov rax, r11
imul rax, r8
xor rbx, rax
mov qword [rsp + 0x3e0], rbx
movabs rax, 0x737f3cf71a66bcf
mov rdx, r9
imul rdx, rax
add rdx, r11
xor rdx, rbx
xor rdx, qword [0x1402b2060]
mov rax, rbx
imul rax, qword [0x1402b2070]
movabs rcx, 0x41169e137815d4ee
imul rax, rcx
not rax
and rdx, rax
mov qword [rsp + 0x3e8], rdx
movzx eax, r8b
mov dword [rsp + 0x78], eax
xor eax, 0x1f
and eax, edi
jge 0x1401564c6
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
ror rdx, cl
shr rdx, 8
mov qword [rsp + 0x2f8], rdx
mov qword [rsp + 0x3f0], rdx
mov rcx, r9
sub rcx, r8
movabs rax, 0x737f367469bdfe3
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
imul r11, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0x543d8d0ade41e62
imul r11, rax
add r11, r8
mov rax, rbx
imul rax, r8
imul rax, r10
shl rax, 2
xor r11, rax
shr r11, 0x1f
not r11
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0x3f8], r11
mov r9, r11
xor r9, qword [rsp + 0x58]
mov qword [rsp + 0x400], r9
mov rcx, r11
sub rcx, r8
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
not cl
and cl, r15b
ror r9, cl
not r9
imul r9, qword [rsp + 0x88]
imul r9, rbx
sub r9, r8
mov qword [rsp + 0x408], r9
imul r11, qword [rsp + 0x2f8]
sub r11, r9
xor r11, r10
mov qword [rsp + 0x410], r11
movzx ecx, r9b
mov dword [rsp + 0x68], ecx
and ecx, 0xf
and ecx, edi
jge 0x1401565d4
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r11, cl
mov rax, r9
imul rax, r8
xor r11, rax
mov rax, r9
sub rax, qword [0x1402b2078]
xor r11, rax
xor r11, rbx
mov rdx, qword [rsp + 0x58]
xor r11, rdx
mov qword [rsp + 0x418], r11
mov rax, r11
and rax, r8
and eax, 3
je 0x140156c2c
sub rax, 1
je 0x140156ab3
sub rax, 1
je 0x14015697d
cmp rax, 1
jne 0x140156d17
movabs rcx, 0x746fd0ff1efa75cf
mov rax, r8
imul rax, rcx
mov r10, r11
sub r10, rax
mov rax, r9
imul rax, qword [rsp + 0xa0]
xor r10, rax
mov qword [rsp + 0x420], r10
mov eax, dword [rsp + 0x78]
and eax, 0x3c
xor eax, 0xe4
and eax, edi
jge 0x140156675
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
ror r10, cl
shr r10, 0xc
xor r10, rdx
not r10
mov qword [rsp + 0x3c0], r10
movabs rcx, 0xf8c88fcf9ae4daec
mov rdx, qword [0x1402b2088]
add rdx, rcx
xor rdx, r8
movabs rax, 0x7b5761f2e000590
xor rdx, rax
mov qword [rsp + 0x428], rdx
movzx eax, r10b
movzx ecx, r11b
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf027121c2043617
sub rax, qword [rsp + 0xa0]
mov rdi, rdx
xor rdi, rax
mov qword [rsp + 0x3f8], rdi
mov rcx, rdi
imul rcx, r8
movabs rax, 0x737f367ec201b03
sub rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rax, 0xe1485e557b4c91f
imul r8, rax
sub r8, r10
movabs rax, 0x694e79e1e90533e9
sub r8, rax
shr r8, cl
movabs rcx, 0xf8c02810e15b9432
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r11
mov rcx, qword [rsp + 0x2f8]
sub rax, rcx
xor r8, rax
mov qword [rsp + 0x3d0], r8
jmp 0x140156d27
movabs rax, 0x7ab4f0d0aea59215
imul r9, rax
mov qword [rsp + 0x360], r9
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xe81e7f7e75786ce
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov qword [rsp + 0x388], r11
mov ecx, dword [rsp + 0x78]
and cl, r15b
rol r11, cl
movabs rcx, 0x493ad1720a877099
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffee8df5788f67
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7eb3f1e40
or r11, rax
mov qword [rsp + 0x328], r11
mov rbx, qword [0x1402b2070]
movabs rax, 0xf17e180818a87931
imul rbx, rax
sub rbx, r8
mov rax, qword [rsp + 0x88]
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a6ba371e4d
xor rbx, rax
mov qword [rsp + 0x318], rbx
mov rax, rbx
imul rax, r9
imul rax, r8
mov rdx, r10
sub rdx, rax
movabs rax, 0x789589475655257
add rdx, rax
xor rdx, qword [rsp + 0x88]
mov qword [rsp + 0x390], rdx
movzx eax, r10b
imul ecx, eax, 0xe8
and cl, r15b
rol rdx, cl
not rdx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x320], rdx
movabs rdx, 0xf17e180818a87931
jmp 0x140156286
mov rcx, r9
imul rcx, qword [0x1402b2080]
and rcx, qword [0x1402b2078]
mov rax, r11
mov r11, rcx
xor r11, rax
mov qword [rsp + 0x398], r11
ror r11, 0x1d
imul r11, r8
mov qword [rsp + 0x328], r11
mov rax, r15
not rax
imul rax, r10
movabs rcx, 0x7cd8a7de67c64fac
imul rax, rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x320], rax
imul r15, qword [0x1402b2060], 0xfffffffff4b5dd26
mov rdx, qword [0x1402b2068]
sub r15, rdx
mov qword [rsp + 0x3a0], r15
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x140156959
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r15, cl
lea rcx, [r15 + r8]
mov qword [rsp + 0x338], rcx
movabs rdx, 0xf17e180818a87931
mov r15d, 0x3f
jmp 0x14015628e
movabs rax, 0x5262a68213c619c3
mov rcx, r11
xor rcx, rax
movabs rax, 0xf8da0a75d1cbc58f
imul rcx, rax
movabs rdx, 0x7397030c4a42fbf
mov rax, rbx
xor rax, rdx
sub rcx, rax
inc r9
movabs rdx, 0x737721235d62b1f
imul r9, rdx
add r9, rcx
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x3f8], r9
movabs rax, 0xdfb4db26c116cea3
mov rcx, r9
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
not r9
imul r9, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0x737f3674693cf13
xor r9, rax
mov qword [rsp + 0x430], r9
lea ecx, [r12 + r11]
and cl, r15b
rol r9, cl
mov rax, r10
not rax
shl rax, 0x1d
xor rax, qword [rsp + 0x70]
movabs rcx, 0x84b2715e2f94c5a2
and rax, rcx
imul r9, rax
mov qword [rsp + 0x408], r9
movzx ecx, r10b
xor ecx, 0x9e
and ecx, edi
jge 0x140156a60
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0x1e0375340efa4c84
imul rax, rcx
sub rax, r9
mov rdi, qword [rsp + 0xa0]
add rax, rdi
shl rax, 2
mov qword [rsp + 0x438], rax
movzx ecx, byte [rsp + 0x2f8]
and ecx, r15d
ror rax, cl
imul rax, r8
mov r8, rax
mov qword [rsp + 0x3d0], rax
jmp 0x140156d1f
mov rax, r8
imul rax, r8
shr rax, 2
not rax
imul r11, rax
imul r11, r8
mov qword [rsp + 0x418], r11
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
mov rax, qword [rsp + 0x60]
imul rax, qword [rsp + 0x58]
xor rax, r10
not rax
shl rax, cl
xor rbx, rax
mov qword [rsp + 0x440], rbx
mov eax, dword [rsp + 0x68]
and eax, edi
jge 0x140156b1d
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol rbx, cl
mov rcx, r11
sub rcx, r8
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
imul r8, qword [rsi + rcx*8 + 0x2b2060]
xor rbx, r8
movabs rax, 0x737cb3f4f026fee
or rbx, rax
mov qword [rsp + 0x3e0], rbx
mov r8, r10
imul r8, qword [0x1402b2070]
sub r8, r9
mov rax, qword [rsp + 0x2f8]
sub rax, rbx
xor r8, rax
movabs rax, 0x3f6fca3e1e0a6fe3
xor r8, rax
mov qword [rsp + 0x3d0], r8
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x58]
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, r8
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, r11
imul rdx, r9
shr rdx, cl
mov rdi, qword [rsp + 0xa0]
mov rax, rdi
sub rax, rdx
sub rax, qword [rsp + 0x58]
movabs rcx, 0xbeabf32ea7dc07
sub rax, rcx
xor rax, qword [rsp + 0x2f8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x448], rax
mov al, dil
add al, al
lea ecx, [rax + rdi]
add cl, cl
and cl, r15b
mov r15, qword [rsp + 0x58]
rol r15, cl
not r15
mov qword [rsp + 0x3d8], r15
mov rcx, qword [rsp + 0x2f8]
jmp 0x140156d2c
mov rax, r14
mul rbx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, rbx
sub rcx, rax
mov rax, r11
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, rbx
mov qword [rsp + 0x450], rdx
movzx ecx, bl
and ecx, r15d
mov rbx, rdx
ror rbx, cl
imul rbx, r9
mov qword [rsp + 0x3e0], rbx
mov r15, qword [rsp + 0x2f8]
not r15
imul r15, qword [rsp + 0xa0]
movabs rax, 0x8410ab46c3fb3e02
imul r15, rax
mov rax, rbx
imul rax, qword [rsp + 0x58]
xor r15, rax
mov qword [rsp + 0x3d8], r15
mov rax, qword [rsp + 0x88]
imul rax, qword [0x1402b2060]
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x458], rax
mov al, r15b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x140156cf6
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0x88]
ror rax, cl
lea rcx, [rax + r9]
mov qword [rsp + 0x3f0], rcx
mov rdi, qword [rsp + 0xa0]
jmp 0x140156d2c
mov rdi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x2f8]
mov r15, qword [rsp + 0x58]
movabs rax, 0x7cd51e333b034cf
xor r10, rax
mov rax, r14
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r10, rax
xor r15, rbx
imul r15, qword [rsi + r10*8 + 0x2b2060]
not r9
imul r9, r8
imul r9, rcx
imul r9, r11
movabs rax, 0xd25721f34037e13
xor rdi, rax
not rdi
xor r9, rdi
sub r9, r15
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x2f8], r9
xor eax, eax
mov byte [rsp + 0x11b], al
mov eax, 0xcc85
mov word [rsp + 0xae0], ax
mov eax, 0x3baa
mov word [rsp + 0xae2], ax
mov eax, 0xf48d
mov word [rsp + 0xae4], ax
mov eax, 0x951b
mov word [rsp + 0xae6], ax
mov eax, 0x1237
mov word [rsp + 0xae8], ax
mov eax, 0x6ac2
mov word [rsp + 0xaea], ax
mov eax, 0xedbc
mov word [rsp + 0xaec], ax
mov eax, 0x5acb
mov word [rsp + 0xaee], ax
mov eax, 0x37ae
mov word [rsp + 0xaf0], ax
mov eax, 0x856
mov word [rsp + 0xaf2], ax
mov r8, r13
mov qword [rsp + 0x460], r13
cmp r8, 0xa
jae 0x140157045
xor edx, edx
mov rax, r8
movabs rcx, 0x13cce94adbe8f3f8
div rcx
mov r12d, 0x37
add r12d, edx
movzx r13d, r12w
ror r13w, 8
mov word [rsp + 0x140], r13w
movzx eax, r13w
shl ax, 6
movzx r15d, r13w
shr r15w, 0xa
or r15w, ax
movzx ecx, r13w
mov edi, ecx
shr rdi, 0xa
or di, ax
mov r14d, ecx
shr r14, 2
movzx eax, r13w
shl ax, 0xe
or r14w, ax
movzx r11d, r13w
shr r11w, 0xd
movzx eax, r13w
shl ax, 3
or r11w, ax
movzx edx, r13w
shl dx, 0xd
movzx eax, r13w
shr ax, 3
or dx, ax
movzx ebx, dx
ror bx, 8
movzx r9d, r13w
shr r9w, 0xc
movzx eax, r13w
shl ax, 4
or r9w, ax
movzx esi, r13w
not si
movzx r10d, r13w
ror r10w, 7
movzx eax, bx
sub ax, word [rsp + 0x98]
add r10w, ax
movzx r8d, word [rsp + r8*2 + 0xae0]
sub r8w, r15w
mov eax, 0x6afe
add r8w, ax
mov eax, 0x9204
sub ax, di
xor r8w, ax
shr rcx, 1
movzx eax, r13w
shl ax, 0xf
or cx, ax
sub r8w, cx
sub r8w, word [0x1402b2050]
sub r8w, word [0x1402b2058]
add r8w, r13w
add r8w, r14w
mov eax, 0x6fc1
add r8w, ax
lea eax, [rdi + r13]
mov ecx, 0x2d07
add ax, cx
xor r8w, ax
sub r8w, r13w
sub r8w, r11w
sub r8w, dx
sub r8w, word [0x1402b2048]
add r8w, bx
add r8w, di
mov rdi, qword [0x1402b2040]
sub r8w, 0x50
add r8w, di
movzx eax, r13w
sub ax, r11w
add ax, r9w
add ax, r15w
xor r8w, ax
movzx eax, r13w
sub ax, r9w
xor ax, r13w
sub r8w, ax
sub r8w, bx
add r8w, r13w
mov eax, 0x4230
add r8w, ax
xor r10w, r8w
movzx edx, r13w
xor dx, word [0x1402b2030]
sub dx, r10w
movzx eax, si
xor ax, word [0x1402b2038]
sub dx, ax
mov eax, 0x7100
add eax, r13d
mov ecx, 0x2440
xor ax, cx
sub dx, ax
mov eax, 0x9d7
add eax, r13d
add ax, ax
add dx, ax
sub dx, r14w
sub dx, r15w
sub dx, r12w
sub dx, di
movzx eax, si
movzx ecx, r13w
imul ecx, eax
xor dx, cx
mov word [rsp + 0x150], dx
mov r8, qword [rsp + 0x460]
mov word [rsp + r8*2 + 0xae0], dx
mov r12d, 1
add r8, r12
mov qword [rsp + 0x460], r8
jmp 0x140156e24
lea rax, [rsp + 0xae0]
mov qword [rsp + 0xa28], rax
mov qword [rsp + 0xa30], 0x14
mov r8, qword [rsp + 0xa28]
xor r13d, r13d
mov qword [rsp + 0x468], r13
movabs rax, 0x7709c038fabb8840
mov qword [rsp + 0x468], rax
movabs rcx, 0xf33a52bb2a9f6c03
add rcx, qword [rsp + 0x468]
movabs rax, 0x91553662530ebca4
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0xedf047f68e56d43
sub rcx, rax
movabs rax, 0xf8f8cd933a50affd
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0xc7d654b2982529cf
add rcx, rax
mov rdx, qword [0x1402b2040]
add rcx, rdx
movabs rax, 0x5a9179a28362a2d5
xor rcx, rax
movabs rax, 0x5f627dc38fe38118
sub rcx, rax
movabs rax, 0x7e3b3ccfcbc4ea34
xor rcx, rax
movabs rax, 0x3483ce3fc04f4454
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94aecaa7c04
mov rax, qword [0x1402b2038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5135583fb
mov rcx, qword [0x1402b2030]
xor rcx, rax
movabs rax, 0xe0b56da29ebf3359
add rdx, rax
add rdx, rcx
movabs rax, 0xaab95634c1f1a3ec
xor rdx, rax
mov qword [rsp + 0x470], rdx
mov qword [rsp + 0x468], rdx
mov r9, qword [rsp + 0xa0]
lea rcx, [rsp + 0xd30]
call fcn.14016d674
nop
mov qword [rsp + 0x468], r13
mov rcx, qword [rsp + 0xa28]
test rcx, rcx
je 0x1401571d6
mov eax, r13d
mov qword [rsp + 0x478], rax
cmp rax, qword [rsp + 0xa30]
jae 0x1401571d6
mov byte [rcx + rax], r13b
add rax, r12
mov qword [rsp + 0x478], rax
mov rcx, qword [rsp + 0xa28]
jmp 0x1401571b3
movabs rax, 0x65aed9ee0b48d176
mov qword [rsp + 0x480], rax
movabs r8, 0xd7cf889fd4b6595b
mov qword [rsp + 0x488], r8
movabs rax, 0x5987af2000000000
mov r11, qword [0x1402b2070]
imul r11, rax
movabs rax, 0x7f43517000000000
xor r11, rax
mov qword [rsp + 0x490], r11
mov rcx, r11
imul rcx, r8
mov qword [rsp + 0xa0], rcx
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r11
and r10, r8
lea rsi, [0x140000000]
imul r10, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0x611b35d8db83a1b8
imul r10, rax
shr r10, 3
movabs rax, 0x8bd0c11520115740
xor r10, rax
mov qword [rsp + 0x498], r10
movabs rax, 0xffffff57c398443b
mov r15, r11
imul r15, rax
sub r15, 0x3fed1d2c
xor r15, r10
xor r15, qword [0x1402b2060]
mov rax, r10
imul rax, qword [0x1402b2070]
movabs rcx, 0xb9de928bca2bfb1a
imul rax, rcx
not rax
and r15, rax
mov qword [rsp + 0x4a0], r15
ror r15, 0x30
shr r15, 8
mov qword [rsp + 0x4a8], r15
movabs r9, 0x283077602b49a6a5
lea rcx, [r11 + r9]
xor rcx, 0xfffffffff4a5f017
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x2d8624d616438198
mov rbx, qword [rsi + rcx*8 + 0x2b2060]
imul rbx, rax
sub rbx, r9
movabs rcx, 0xa5a9543bd661ebc8
mov rax, r10
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov qword [rsp + 0x4b0], rbx
mov r8, rbx
xor r8, r11
mov qword [rsp + 0x4b8], r8
lea rcx, [rbx + r9]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xb
mov edi, 0x8000003f
and ecx, edi
jge 0x140157398
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r8, cl
not r8
imul r8, r10
imul rax, r8, 0xffffffffc012e2d4
add r9, rax
mov qword [rsp + 0x4c0], r9
mov r8, rbx
imul r8, r15
sub r8, r9
movabs rax, 0x65aed9ee0b48d176
xor r8, rax
mov qword [rsp + 0x4c8], r8
movzx ecx, r9b
mov dword [rsp + 0x68], ecx
xor ecx, 4
and ecx, 0xf
and ecx, edi
jge 0x1401573ee
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r8, cl
mov rax, r9
sub rax, qword [0x1402b2078]
xor r8, rax
mov rax, r9
movabs rcx, 0xd7cf889fd4b6595b
imul rax, rcx
xor r8, rax
xor r8, r10
xor r8, r11
mov qword [rsp + 0x4d0], r8
mov rax, r8
and eax, 3
je 0x140157804
sub rax, 1
je 0x14015768e
sub rax, 1
je 0x140157574
cmp rax, 1
jne 0x1401578d0
mov rcx, rbx
imul rcx, r9
movabs rax, 0xf754cb1f50e36a07
add rax, r8
xor rcx, rax
mov qword [rsp + 0x4d8], rcx
ror rcx, 8
shr rcx, 0xc
xor rcx, r11
not rcx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x480], rcx
movabs rdx, 0x835728daf520
add rdx, qword [0x1402b2088]
movabs rax, 0x28b2f2184888733f
xor rdx, rax
mov qword [rsp + 0x4e0], rdx
movzx eax, r8b
movzx ecx, cl
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9703a19e3
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov qword [rsp + 0x4b0], rbx
mov rcx, rbx
movabs rax, 0xd7cf889fd4b6595b
imul rcx, rax
mov eax, 0xa1e1cb09
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rdi, 0x4d3aab044e7eac6c
sub rdi, qword [rsp + 0xa0]
shr rdi, cl
movabs rcx, 0x824885365bbc6
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r8
sub rax, r15
xor rdi, rax
mov qword [rsp + 0x488], rdi
mov rcx, qword [rsp + 0xa0]
jmp 0x1401578dd
movabs rax, 0xaaaaaa1aa1f83637
mov rbx, r8
xor rbx, rax
movabs rax, 0x1206ed63f5ea7b
imul rbx, rax
movabs rdx, 0xfff17ca8769a004b
mov rax, r10
xor rax, rdx
sub rbx, rax
lea rax, [r9 + 1]
movabs rdx, 0xffff7e8a87e804eb
imul rax, rdx
add rbx, rax
mov qword [rsp + 0x4b0], rbx
movabs rax, 0x277cd7be7328e157
mov rcx, rbx
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rbx
not r9
imul r9, qword [rsi + rcx*8 + 0x2b2060]
xor r9, 0xfffffffff4ade0e7
mov qword [rsp + 0x4e8], r9
lea ecx, [r8 - 0xb]
and cl, 0x3f
rol r9, cl
movabs rcx, 0x3c1265c000000000
mov rax, qword [rsp + 0xa0]
xor rax, rcx
movabs rcx, 0x7c7a7dc69daaea56
and rax, rcx
imul r9, rax
mov qword [rsp + 0x4c0], r9
mov rcx, r9
ror rcx, 0x1c
not rcx
movabs rax, 0x9b2de6b2f3118dc0
imul rcx, rax
mov rax, rbx
sub rax, r9
lea rdx, [rcx + rax*4]
mov qword [rsp + 0x4f0], rdx
movzx ecx, r15b
and ecx, 0x3f
ror rdx, cl
movabs rax, 0xd7cf889fd4b6595b
mov rdi, rdx
imul rdi, rax
mov qword [rsp + 0x488], rdi
jmp 0x1401578d3
movabs rax, 0xe78d5114c906853
imul r8, rax
mov qword [rsp + 0x4d0], r8
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x283077602b49a6a4
mov rax, r11
imul rax, rdx
movabs rdx, 0x65aed9ee0b48d176
xor rax, rdx
not rax
shl rax, cl
xor r10, rax
mov qword [rsp + 0x4f8], r10
mov eax, dword [rsp + 0x68]
and eax, edi
jge 0x140157700
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r10, cl
movabs rcx, 0x283077602b49a6a5
add rcx, r8
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x89fd4b6595b
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7fd3c401a
or r10, rax
mov qword [rsp + 0x498], r10
mov rdi, qword [0x1402b2070]
movabs rax, 0x65aed9ee0b48d176
imul rdi, rax
sub rdi, r9
mov rax, r15
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a6ac344017
xor rdi, rax
mov qword [rsp + 0x488], rdi
movabs rax, 0xcccccccccccccccd
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, rdi
imul rdx, r9
imul rdx, r8
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, r11
movabs r11, 0x789589463660c0d
add r11, rax
xor r11, r15
mov qword [rsp + 0x500], r11
movzx eax, bl
imul ecx, eax, 0xf2
and cl, 0x3f
rol r11, cl
not r11
mov qword [rsp + 0x490], r11
jmp 0x1401578d3
mov rax, r14
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r10
sub rcx, rax
mov rax, r8
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r10
mov qword [rsp + 0x508], rdx
movzx ecx, r10b
and ecx, 0x3f
mov r10, rdx
ror r10, cl
imul r10, r9
mov qword [rsp + 0x498], r10
not r15
imul r15, rbx
movabs rax, 0x7cd8a7de71c511f6
imul r15, rax
mov rax, r11
imul rax, r10
mov r11, r15
xor r11, rax
mov qword [rsp + 0x490], r11
imul r15, qword [0x1402b2060], 0xffffffffc012e2d4
mov rdx, qword [0x1402b2068]
sub r15, rdx
mov qword [rsp + 0x510], r15
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x1401578b6
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r15, cl
add r15, r9
mov qword [rsp + 0x4a8], r15
movabs rdi, 0xd7cf889fd4b6595b
jmp 0x1401578d3
mov rdi, rcx
movabs rcx, 0x65aed9ee0b48d176
movabs rax, 0xff055d7b818e1b3b
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, r10
imul r11, qword [rsi + rcx*8 + 0x2b2060]
not r9
imul r9, rdi
imul r9, r15
imul r9, r8
movabs rax, 0xf5ed7e87863d51e7
xor rbx, rax
not rbx
xor r9, rbx
sub r9, r11
mov qword [rsp + 0x518], r9
mov rcx, r9
call fcn.14012dc90
mov qword [0x1402b3170], rax
xor edx, edx
mov r8d, 0xa6
lea rcx, [rsp + 0xdc0]
call fcn.14023de60
mov qword [rsp + 0x520], r13
movabs rax, 0x1e243e82fdd47e1
mov qword [rsp + 0x520], rax
mov rax, qword [rsp + 0x520]
add rax, 0x6b03
movabs rcx, 0x905536625307c4d6
xor rax, rcx
sub rax, qword [0x1402b2050]
sub rax, qword [0x1402b2058]
movabs rcx, 0xedf047f53fe0620
sub rax, rcx
movabs rcx, 0xec33204e80cee52b
xor rax, rcx
sub rax, qword [0x1402b2048]
movabs rcx, 0x16468673d364b07b
add rcx, rax
mov rdx, qword [0x1402b2040]
add rcx, rdx
movabs rax, 0xec3316b52f34b823
xor rcx, rax
movabs rax, 0x13cce94a3aab05a6
sub rcx, rax
movabs rax, 0xffd8662d614c291d
xor rcx, rax
movabs rax, 0x27be20faba27aa04
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ad0cb47d6
mov rax, qword [0x1402b2038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52f34b829
mov rcx, qword [0x1402b2030]
xor rcx, rax
movabs rbx, 0x13cc22b598a3f2ab
add rbx, rdx
add rbx, rcx
movabs rax, 0x428f0cd66da85146
xor rbx, rax
mov qword [rsp + 0x528], rbx
mov qword [rsp + 0x520], rbx
call fcn.140150774
xor rax, rbx
mov qword [rsp + 0xa0], rax
xor eax, eax
mov byte [rsp + 0x11c], al
mov eax, 0xcc99
mov word [rsp + 0xaf4], ax
mov eax, 0x3b72
mov word [rsp + 0xaf6], ax
mov eax, 0xf467
mov word [rsp + 0xaf8], ax
mov eax, 0x951e
mov word [rsp + 0xafa], ax
mov eax, 0x124a
mov word [rsp + 0xafc], ax
mov eax, 0x42fa
mov word [rsp + 0xafe], ax
mov eax, 0xef81
mov word [rsp + 0xb00], ax
mov eax, 0x5acb
mov word [rsp + 0xb02], ax
mov eax, 0x3792
mov word [rsp + 0xb04], ax
mov eax, 0x872
mov word [rsp + 0xb06], ax
mov eax, 0x4f4d
mov word [rsp + 0xb08], ax
mov r8, r13
mov qword [rsp + 0x530], r13
cmp r8, 0xb
jae 0x140157d3c
xor edx, edx
mov rax, r8
movabs rcx, 0x13cce94adbe8f3f8
div rcx
mov r12d, 0x37
add r12d, edx
movzx r13d, r12w
ror r13w, 8
mov word [rsp + 0x158], r13w
movzx eax, r13w
shl ax, 6
movzx r15d, r13w
shr r15w, 0xa
or r15w, ax
movzx edx, r13w
mov edi, edx
shr rdi, 0xa
or di, ax
mov r14d, edx
shr r14, 2
movzx eax, r13w
shl ax, 0xe
or r14w, ax
movzx r11d, r13w
shr r11w, 0xd
movzx eax, r13w
shl ax, 3
or r11w, ax
movzx ecx, r13w
shl cx, 0xd
movzx eax, r13w
shr ax, 3
or cx, ax
movzx ebx, cx
ror bx, 8
movzx r9d, r13w
shr r9w, 0xc
movzx eax, r13w
shl ax, 4
or r9w, ax
movzx esi, r13w
not si
movzx r10d, r13w
ror r10w, 7
movzx eax, bx
sub ax, word [rsp + 0x98]
add r10w, ax
movzx r8d, word [rsp + r8*2 + 0xaf4]
sub r8w, r15w
mov eax, 0x6afe
add r8w, ax
mov eax, 0x9204
sub ax, di
xor r8w, ax
shr rdx, 1
movzx eax, r13w
shl ax, 0xf
or dx, ax
sub r8w, dx
sub r8w, word [0x1402b2050]
sub r8w, word [0x1402b2058]
add r8w, r13w
add r8w, r14w
mov eax, 0x6fc1
add r8w, ax
lea eax, [rdi + r13]
mov edx, 0x2d07
add ax, dx
xor r8w, ax
sub r8w, cx
sub r8w, r13w
sub r8w, r11w
sub r8w, word [0x1402b2048]
add r8w, bx
add r8w, di
mov rdi, qword [0x1402b2040]
sub r8w, 0x50
add r8w, di
movzx eax, r13w
sub ax, r11w
add ax, r9w
add ax, r15w
xor r8w, ax
movzx eax, r13w
sub ax, r9w
xor ax, r13w
sub r8w, ax
sub r8w, bx
add r8w, r13w
mov eax, 0x4230
add r8w, ax
xor r10w, r8w
movzx edx, r13w
xor dx, word [0x1402b2030]
sub dx, r10w
movzx eax, si
xor ax, word [0x1402b2038]
sub dx, ax
mov eax, 0x7100
add eax, r13d
mov ecx, 0x2440
xor ax, cx
sub dx, ax
mov eax, 0x9d7
add eax, r13d
add ax, ax
add dx, ax
sub dx, r12w
sub dx, r14w
sub dx, r15w
sub dx, di
movzx eax, si
movzx ecx, r13w
imul ecx, eax
xor dx, cx
mov word [rsp + 0x160], dx
mov r8, qword [rsp + 0x530]
mov word [rsp + r8*2 + 0xaf4], dx
mov r12d, 1
add r8, r12
mov qword [rsp + 0x530], r8
jmp 0x140157b1b
lea rax, [rsp + 0xaf4]
mov qword [rsp + 0xa38], rax
mov qword [rsp + 0xa40], 0x16
mov r8, qword [rsp + 0xa38]
xor r13d, r13d
mov qword [rsp + 0x538], r13
movabs rax, 0x4446f8d235d8b655
mov qword [rsp + 0x538], rax
movabs rcx, 0xf33a52b3b2d38103
add rcx, qword [rsp + 0x538]
movabs rax, 0xa6553662530744d8
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0xedf047f527e0982
sub rcx, rax
movabs rax, 0xf8f8cd9acffbcaa9
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x47d654bcbb42774e
add rcx, rax
mov rdx, qword [0x1402b2040]
add rcx, rdx
movabs rax, 0x5a9179ab08073ae1
xor rcx, rax
movabs rax, 0x5f627dc78c1f49b4
sub rcx, rax
movabs rax, 0xd63b3cd387e69e14
xor rcx, rax
movabs rax, 0x3483ce4703d49be7
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94acecb4c58
mov rax, qword [0x1402b2038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b53134b3a7
mov rcx, qword [0x1402b2030]
xor rcx, rax
movabs rax, 0xe0b56d8461f0572d
add rdx, rax
add rdx, rcx
movabs rax, 0xea66f38566e05568
xor rdx, rax
mov qword [rsp + 0x540], rdx
mov qword [rsp + 0x538], rdx
mov r9, qword [rsp + 0xa0]
lea rcx, [rsp + 0xdc0]
call fcn.14016d674
nop
mov qword [rsp + 0x538], r13
mov rcx, qword [rsp + 0xa38]
test rcx, rcx
je 0x140157ecd
mov eax, r13d
mov qword [rsp + 0x548], rax
cmp rax, qword [rsp + 0xa40]
jae 0x140157ecd
mov byte [rcx + rax], r13b
add rax, r12
mov qword [rsp + 0x548], rax
mov rcx, qword [rsp + 0xa38]
jmp 0x140157eaa
mov qword [rsp + 0x520], r13
movabs rax, 0xf169b1f412ddff66
mov qword [rsp + 0x550], rax
movabs r8, 0x4ce5b1c86ce23e0f
mov qword [rsp + 0x558], r8
movabs rax, 0x95ee8aafa0000000
mov rbx, qword [0x1402b2080]
imul rbx, rax
movabs rax, 0x329d295650000000
xor rbx, rax
mov qword [rsp + 0x560], rbx
mov rcx, rbx
imul rcx, r8
mov qword [rsp + 0xa0], rcx
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rbx
and r10, r8
lea rsi, [0x140000000]
imul r10, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0x3922a325806671f4
imul r10, rax
movabs rax, 0x6087440c15b1ce80
xor r10, rax
shr r10, 3
mov qword [rsp + 0x568], r10
movabs rax, 0xa83dbee449
mov r15, rbx
imul r15, rax
sub r15, 0x1d0749e2
xor r15, r10
xor r15, qword [0x1402b2060]
mov rax, r10
imul rax, qword [0x1402b2070]
movabs rcx, 0x46216d74340d5b68
imul rax, rcx
not rax
and r15, rax
mov qword [rsp + 0x570], r15
ror r15, 0x16
shr r15, 8
mov qword [rsp + 0x578], r15
movabs r9, 0xb31a4e37931dc1f1
lea rcx, [rbx + r9]
xor rcx, 0xa835065
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xd0f14fac6017dfb0
mov r11, qword [rsi + rcx*8 + 0x2b2060]
imul r11, rax
add r11, r8
movabs rcx, 0x23ef9d257ba2abe8
mov rax, r10
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov qword [rsp + 0x580], r11
mov r8, r11
xor r8, rbx
mov qword [rsp + 0x588], r8
lea rcx, [r11 + r9]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x79
mov edi, 0x8000003f
and ecx, edi
jge 0x140158098
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r8, cl
not r8
imul r8, r10
imul r8, r8, 0xffffffffe2f8b61e
add r8, r9
mov qword [rsp + 0x590], r8
mov r9, r11
imul r9, r15
sub r9, r8
movabs rax, 0xf169b1f412ddff66
xor r9, rax
mov qword [rsp + 0x598], r9
movzx ecx, r8b
mov dword [rsp + 0x68], ecx
xor ecx, 6
and ecx, 0xf
and ecx, edi
jge 0x1401580ee
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r9, cl
mov rax, r8
sub rax, qword [0x1402b2078]
xor r9, rax
mov rax, r8
movabs rcx, 0x4ce5b1c86ce23e0f
imul rax, rcx
xor r9, rax
xor r9, r10
xor r9, rbx
mov qword [rsp + 0x5a0], r9
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x1401584f4
sub rax, 1
je 0x140158392
sub rax, 1
je 0x140158278
cmp rax, 1
jne 0x1401585bf
mov rcx, r8
imul rcx, r11
movabs rax, 0xf61916006ba3a7b9
add rax, r9
xor rcx, rax
mov qword [rsp + 0x5a8], rcx
ror rcx, 0x2e
shr rcx, 0xc
xor rcx, rbx
not rcx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x550], rcx
movabs rdx, 0xffff7ca8d6fc556e
add rdx, qword [0x1402b2088]
movabs rax, 0x4c6734b00efab419
xor rdx, rax
mov qword [rsp + 0x5b0], rdx
movzx eax, cl
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0x83582468e1cb991
sub rax, r11
mov r11, rdx
xor r11, rax
mov qword [rsp + 0x580], r11
mov rcx, r11
movabs rax, 0x4ce5b1c86ce23e0f
imul rcx, rax
mov eax, 0xa0389485
sub rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rdi, 0x821af63392257488
sub rdi, qword [rsp + 0xa0]
shr rdi, cl
movabs rcx, 0xfff7db77ad431bb8
add rcx, r8
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r9
sub rax, r15
xor rdi, rax
mov qword [rsp + 0x558], rdi
mov rcx, qword [rsp + 0xa0]
jmp 0x1401585cc
lea r11, [r8 + 1]
movabs rax, 0x817579cea499
imul r11, rax
movabs rcx, 0x555555e55fde9645
mov rax, r9
xor rax, rcx
movabs rcx, 0xffedf9129dd34a09
imul rax, rcx
add r11, rax
movabs rcx, 0xe835788bca039
mov rax, r10
xor rax, rcx
sub r11, rax
mov qword [rsp + 0x580], r11
movabs rax, 0xd88328418d0e4125
mov rcx, r11
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
imul r8, qword [rsi + rcx*8 + 0x2b2060]
xor r8, 0xa8b4095
mov qword [rsp + 0x5b8], r8
lea ecx, [r9 + 7]
and cl, 0x3f
rol r8, cl
movabs rcx, 0x184001120000000
mov rax, qword [rsp + 0xa0]
xor rax, rcx
movabs rcx, 0x83858239638c4a24
and rax, rcx
imul r8, rax
mov qword [rsp + 0x590], r8
mov rdx, r8
ror rdx, 0x3e
not rdx
movabs rax, 0x1934865342e2c302
imul rdx, rax
sub rdx, r8
add rdx, r11
shl rdx, 2
mov qword [rsp + 0x5c0], rdx
movzx ecx, r15b
and ecx, 0x3f
ror rdx, cl
movabs rax, 0x4ce5b1c86ce23e0f
mov rdi, rdx
imul rdi, rax
mov qword [rsp + 0x558], rdi
jmp 0x1401585c2
movabs rax, 0x3383efdbfb46efa9
imul r9, rax
mov qword [rsp + 0x5a0], r9
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xb31a4e37931dc1f0
mov rax, rbx
imul rax, rdx
movabs rdx, 0xf169b1f412ddff66
xor rax, rdx
not rax
shl rax, cl
xor r10, rax
mov qword [rsp + 0x5c8], r10
mov eax, dword [rsp + 0x68]
and eax, edi
jge 0x140158404
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r10, cl
movabs rcx, 0xb31a4e37931dc1f1
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, qword [rsi + rcx*8 + 0x2b2060]
movabs rcx, 0x4ce5b1c86ce23e0f
imul rax, rcx
xor r10, rax
movabs rax, 0x3858031ae068
or r10, rax
mov qword [rsp + 0x568], r10
mov rdi, qword [0x1402b2070]
movabs rax, 0xf169b1f412ddff66
imul rdi, rax
sub rdi, r8
mov rax, r15
sub rax, r10
xor rdi, rax
movabs rax, 0x385839595212e065
xor rdi, rax
mov qword [rsp + 0x558], rdi
movabs rax, 0xcccccccccccccccd
mul rbx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rbx
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, rdi
imul rdx, r8
imul rdx, r9
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rbx
movabs rcx, 0x789589462bf5381
mov rbx, rax
sub rbx, rcx
xor rbx, r15
not rbx
mov qword [rsp + 0x560], rbx
jmp 0x1401585c2
mov rax, r14
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r10
sub rcx, rax
mov rax, r9
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r10
mov qword [rsp + 0x5d0], rdx
movzx ecx, r10b
and ecx, 0x3f
mov r10, rdx
ror r10, cl
imul r10, r8
mov qword [rsp + 0x568], r10
not r15
imul r15, r11
movabs rax, 0x832758218fe3b184
imul r15, rax
mov rax, rbx
imul rax, r10
mov rbx, r15
xor rbx, rax
mov qword [rsp + 0x560], rbx
imul r15, qword [0x1402b2060], 0xffffffffe2f8b61e
mov rdx, qword [0x1402b2068]
sub r15, rdx
mov qword [rsp + 0x5d8], r15
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x1401585a5
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r15, cl
add r15, r8
mov qword [rsp + 0x578], r15
movabs rdi, 0x4ce5b1c86ce23e0f
jmp 0x1401585c2
mov rdi, rcx
movabs rcx, 0xf169b1f412ddff66
movabs rax, 0xfaa2847fa8bb49
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor rbx, r10
imul rbx, qword [rsi + rcx*8 + 0x2b2060]
not r8
imul r8, rdi
imul r8, r15
imul r8, r9
movabs rax, 0xa128178781bf195
xor r11, rax
not r11
xor r8, r11
sub r8, rbx
mov qword [rsp + 0x5e0], r8
mov rcx, r8
call fcn.14012e014
mov qword [0x1402b3198], rax
xor edx, edx
mov r8d, 0xa6
lea rcx, [rsp + 0xe70]
call fcn.14023de60
xor eax, eax
mov byte [rsp + 0x11d], al
mov eax, 0xcca9
mov word [rsp + 0xb0a], ax
mov eax, 0x3b74
mov word [rsp + 0xb0c], ax
mov eax, 0xf452
mov word [rsp + 0xb0e], ax
mov eax, 0x9522
mov word [rsp + 0xb10], ax
mov eax, 0x1223
mov word [rsp + 0xb12], ax
mov eax, 0x3f29
mov word [rsp + 0xb14], ax
mov eax, 0xf229
mov word [rsp + 0xb16], ax
mov eax, 0x5864
mov word [rsp + 0xb18], ax
mov eax, 0x3792
mov word [rsp + 0xb1a], ax
mov eax, 0x8fd
mov word [rsp + 0xb1c], ax
mov eax, 0x4f4d
mov word [rsp + 0xb1e], ax
mov r8, r13
mov qword [rsp + 0x5e8], r13
cmp r8, 0xb
jae 0x140158910
xor edx, edx
mov rax, r8
movabs rcx, 0x13cce94adbe8f3f8
div rcx
mov r12d, 0x37
add r12d, edx
movzx r13d, r12w
ror r13w, 8
mov word [rsp + 0x16a], r13w
movzx eax, r13w
shl ax, 6
movzx r15d, r13w
shr r15w, 0xa
or r15w, ax
movzx ecx, r13w
mov edi, ecx
shr rdi, 0xa
or di, ax
mov r14d, ecx
shr r14, 2
movzx eax, r13w
shl ax, 0xe
or r14w, ax
movzx r10d, r13w
shr r10w, 0xd
movzx eax, r13w
shl ax, 3
or r10w, ax
movzx edx, r13w
shl dx, 0xd
movzx eax, r13w
shr ax, 3
or dx, ax
movzx r11d, dx
ror r11w, 8
movzx r9d, r13w
shr r9w, 0xc
movzx eax, r13w
shl ax, 4
or r9w, ax
movzx esi, r13w
not si
movzx ebx, r13w
ror bx, 7
movzx eax, r11w
sub ax, word [rsp + 0x98]
add bx, ax
movzx r8d, word [rsp + r8*2 + 0xb0a]
sub r8w, r15w
mov eax, 0x6afe
add r8w, ax
mov eax, 0x9204
sub ax, di
xor r8w, ax
shr rcx, 1
movzx eax, r13w
shl ax, 0xf
or cx, ax
sub r8w, cx
sub r8w, word [0x1402b2050]
sub r8w, word [0x1402b2058]
add r8w, r13w
add r8w, r14w
mov eax, 0x6fc1
add r8w, ax
lea eax, [rdi + r13]
mov ecx, 0x2d07
add ax, cx
xor r8w, ax
sub r8w, r13w
sub r8w, dx
sub r8w, word [0x1402b2048]
sub r8w, r10w
mov rcx, qword [0x1402b2040]
sub r8w, 0x50
add r8w, cx
add r8w, r11w
add r8w, di
movzx eax, r13w
sub ax, r10w
add ax, r9w
add ax, r15w
xor r8w, ax
movzx eax, r13w
sub ax, r9w
xor ax, r13w
sub r8w, ax
sub r8w, r11w
add r8w, r13w
mov eax, 0x4230
add r8w, ax
xor bx, r8w
mov edx, 0x9d7
add edx, r13d
add dx, dx
sub dx, bx
mov eax, 0x7100
add eax, r13d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, si
xor ax, word [0x1402b2038]
sub dx, ax
movzx eax, r13w
xor ax, word [0x1402b2030]
add dx, ax
sub dx, r12w
sub dx, cx
sub dx, r14w
sub dx, r15w
movzx eax, si
movzx ecx, r13w
imul ecx, eax
xor dx, cx
mov word [rsp + 0x170], dx
mov r8, qword [rsp + 0x5e8]
mov word [rsp + r8*2 + 0xb0a], dx
mov r12d, 1
add r8, r12
mov qword [rsp + 0x5e8], r8
jmp 0x1401586ed
lea rax, [rsp + 0xb0a]
mov qword [rsp + 0xa48], rax
mov qword [rsp + 0xa50], 0x16
mov r8, qword [rsp + 0xa48]
xor r13d, r13d
mov qword [rsp + 0x5f0], r13
movabs rax, 0xc10058878db45e43
mov qword [rsp + 0x5f0], rax
movabs rcx, 0xf33a52b5baedf203
add rcx, qword [rsp + 0x5f0]
movabs rax, 0x1755366253094cf2
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0xedf047f589658d5
sub rcx, rax
movabs rax, 0xf8f8cd98bfc0efe5
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0xc7d654b9f94292ea
add rcx, rax
mov rdx, qword [0x1402b2040]
add rcx, rdx
movabs rax, 0x5a9179a8b6c911fd
xor rcx, rax
movabs rax, 0x5f627dc7223092b0
sub rcx, rax
movabs rax, 0x4e3b3cd283c924c0
xor rcx, rax
movabs rax, 0x3483ce4509f2e3fe
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ad6ebb61c
mov rax, qword [0x1402b2038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5291449e3
mov rcx, qword [0x1402b2030]
xor rcx, rax
movabs rax, 0xe0b56d8c8a387d71
add rdx, rax
add rdx, rcx
movabs rax, 0x815fe906802076d4
xor rdx, rax
mov qword [rsp + 0x5f8], rdx
mov qword [rsp + 0x5f0], rdx
mov r9, qword [rsp + 0x1450]
lea rcx, [rsp + 0xe70]
call fcn.14016d674
nop
mov qword [rsp + 0x5f0], r13
mov rcx, qword [rsp + 0xa48]
test rcx, rcx
je 0x140158aa1
mov eax, r13d
mov qword [rsp + 0x600], rax
cmp rax, qword [rsp + 0xa50]
jae 0x140158aa1
mov byte [rcx + rax], r13b
add rax, r12
mov qword [rsp + 0x600], rax
mov rcx, qword [rsp + 0xa48]
jmp 0x140158a7e
mov dword [rsp + 0x2b8], r13d
mov dword [rsp + 0x2b8], 0xcc7645dc
mov eax, dword [rsp + 0x2b8]
add eax, 0xbe489332
xor eax, 0x2887504d
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x2d5f9748
xor eax, 0xc458e432
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x6bb50d1f
add eax, ecx
xor eax, 0xfaf5b225
sub eax, 0x6b53008a
xor eax, 0xd62bb954
lea edx, [rcx + 0x78afbd36]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xcef920a0
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x3106df5f
add ecx, 0x8fb22cb0
add ecx, edx
xor ecx, 0x359e7b60
mov dword [rsp + 0x2c0], ecx
mov dword [rsp + 0x2b8], ecx
movsxd rbx, ecx
mov qword [rsp + 0xa0], rbx
mov dword [rsp + 0x2d0], r13d
mov dword [rsp + 0x2d0], 0xbf43acc0
mov eax, dword [rsp + 0x2d0]
add eax, 0xb9abb5aa
xor eax, 0x4aff4bb0
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
sub eax, 0x3a92921f
xor eax, 0xe9083530
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x8df7fbd5
add eax, ecx
xor eax, 0x20389ed4
add eax, 0x5571c306
xor eax, 0xc4ba4cff
add ecx, 0xc52c50b0
add ecx, eax
not ecx
mov eax, dword [0x1402b2038]
xor eax, 0xaee6ad2a
sub ecx, eax
mov eax, dword [0x1402b2030]
xor eax, 0x511952d5
add eax, 0x9d6c431a
add ecx, eax
xor ecx, 0x9c7f87f2
mov dword [rsp + 0x2d8], ecx
mov dword [rsp + 0x2d0], ecx
movsxd rbx, ecx
mov qword [rsp + 0x70], rbx
xor eax, eax
mov byte [rsp + 0x11e], al
lea rdx, [rsp + 0xbb4]
lea rcx, [rsp + 0x11e]
call fcn.140137b54
mov qword [rsp + 0x608], rax
mov r8, r13
mov qword [rsp + 0x610], r13
cmp r8, 0x12
jae 0x140158e46
xor edx, edx
mov rax, r8
movabs rcx, 0x13cce94adbe8f3f8
div rcx
mov r12d, 0x37
add r12d, edx
movzx r13d, r12w
ror r13w, 8
mov word [rsp + 0x178], r13w
movzx eax, r13w
shl ax, 6
movzx r15d, r13w
shr r15w, 0xa
or r15w, ax
movzx ecx, r13w
mov edi, ecx
shr rdi, 0xa
or di, ax
mov r14d, ecx
shr r14, 2
movzx eax, r13w
shl ax, 0xe
or r14w, ax
movzx r11d, r13w
shr r11w, 0xd
movzx eax, r13w
shl ax, 3
or r11w, ax
movzx edx, r13w
shl dx, 0xd
movzx eax, r13w
shr ax, 3
or dx, ax
movzx ebx, dx
ror bx, 8
movzx r9d, r13w
shr r9w, 0xc
movzx eax, r13w
shl ax, 4
or r9w, ax
movzx esi, r13w
not si
movzx r10d, r13w
ror r10w, 7
movzx eax, bx
sub ax, word [rsp + 0x98]
add r10w, ax
mov rax, qword [rsp + 0x608]
movzx r8d, word [rax + r8*2]
sub r8w, r15w
mov eax, 0x6afe
add r8w, ax
mov eax, 0x9204
sub ax, di
xor r8w, ax
shr rcx, 1
movzx eax, r13w
shl ax, 0xf
or cx, ax
sub r8w, cx
sub r8w, word [0x1402b2050]
sub r8w, word [0x1402b2058]
add r8w, r13w
add r8w, r14w
mov eax, 0x6fc1
add r8w, ax
lea eax, [rdi + r13]
mov ecx, 0x2d07
add ax, cx
xor r8w, ax
sub r8w, r13w
sub r8w, r11w
sub r8w, dx
sub r8w, word [0x1402b2048]
sub r8w, 0x50
add r8w, bx
mov rcx, qword [0x1402b2040]
add r8w, di
add r8w, cx
movzx eax, r13w
sub ax, r11w
add ax, r9w
add ax, r15w
xor r8w, ax
movzx eax, r13w
sub ax, r9w
xor ax, r13w
sub r8w, ax
sub r8w, bx
add r8w, r13w
mov eax, 0x4230
add r8w, ax
xor r10w, r8w
movzx edx, r13w
xor dx, word [0x1402b2030]
sub dx, r10w
movzx eax, si
xor ax, word [0x1402b2038]
sub dx, ax
mov eax, 0x7100
add eax, r13d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, r13d
add ax, ax
add dx, ax
sub dx, r14w
sub dx, r15w
sub dx, r12w
sub dx, cx
movzx eax, si
movzx ecx, r13w
imul ecx, eax
xor dx, cx
mov word [rsp + 0x180], dx
mov r8, qword [rsp + 0x610]
mov rax, qword [rsp + 0x608]
mov word [rax + r8*2], dx
mov r12d, 1
add r8, r12
mov qword [rsp + 0x610], r8
jmp 0x140158c1b
mov qword [rsp + 0xa58], rax
mov qword [rsp + 0xa60], 0x24
mov rdx, qword [rsp + 0xa58]
lea rcx, [rsp + 0xf20]
call fcn.140046548
nop
xor eax, eax
mov byte [rsp + 0x11f], al
lea rdx, [rsp + 0xb98]
lea rcx, [rsp + 0x11f]
call fcn.140137bdc
mov qword [rsp + 0x618], rax
xor r8d, r8d
mov qword [rsp + 0x620], r8
cmp r8, 0xe
jae 0x1401590c4
xor edx, edx
mov rax, r8
movabs rcx, 0x13cce94adbe8f3f8
div rcx
mov r12d, 0x37
add r12d, edx
movzx r13d, r12w
ror r13w, 8
mov word [rsp + 0x188], r13w
movzx eax, r13w
shl ax, 6
movzx r15d, r13w
shr r15w, 0xa
or r15w, ax
movzx ecx, r13w
mov edi, ecx
shr rdi, 0xa
or di, ax
mov r14d, ecx
shr r14, 2
movzx eax, r13w
shl ax, 0xe
or r14w, ax
movzx r11d, r13w
shr r11w, 0xd
movzx eax, r13w
shl ax, 3
or r11w, ax
movzx edx, r13w
shl dx, 0xd
movzx eax, r13w
shr ax, 3
or dx, ax
movzx ebx, dx
ror bx, 8
movzx r9d, r13w
shr r9w, 0xc
movzx eax, r13w
shl ax, 4
or r9w, ax
movzx esi, r13w
not si
movzx r10d, r13w
ror r10w, 7
movzx eax, bx
sub ax, word [rsp + 0x98]
add r10w, ax
mov rax, qword [rsp + 0x618]
movzx r8d, word [rax + r8*2]
sub r8w, r15w
mov eax, 0x6afe
add r8w, ax
mov eax, 0x9204
sub ax, di
xor r8w, ax
shr rcx, 1
movzx eax, r13w
shl ax, 0xf
or cx, ax
sub r8w, cx
sub r8w, word [0x1402b2050]
sub r8w, word [0x1402b2058]
add r8w, r14w
add r8w, r13w
mov eax, 0x6fc1
add r8w, ax
lea eax, [rdi + r13]
mov ecx, 0x2d07
add ax, cx
xor r8w, ax
sub r8w, r11w
sub r8w, dx
sub r8w, word [0x1402b2048]
sub r8w, r13w
sub r8w, 0x50
add r8w, bx
mov rcx, qword [0x1402b2040]
add r8w, di
add r8w, cx
movzx eax, r9w
sub ax, r11w
add ax, r15w
add ax, r13w
xor r8w, ax
movzx eax, r13w
sub ax, r9w
xor ax, r13w
sub r8w, ax
sub r8w, bx
add r8w, r13w
mov eax, 0x4230
add r8w, ax
xor r10w, r8w
movzx edx, r13w
xor dx, word [0x1402b2030]
sub dx, r10w
movzx eax, si
xor ax, word [0x1402b2038]
sub dx, ax
mov eax, 0x7100
add eax, r13d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, r13d
add ax, ax
add dx, ax
sub dx, r14w
sub dx, r15w
sub dx, r12w
sub dx, cx
movzx eax, r13w
movzx ecx, si
imul ecx, eax
xor dx, cx
mov word [rsp + 0x138], dx
mov r8, qword [rsp + 0x620]
mov rax, qword [rsp + 0x618]
mov word [rax + r8*2], dx
mov r12d, 1
add r8, r12
jmp 0x140158e99
mov qword [rsp + 0xa68], rax
mov qword [rsp + 0xa70], 0x1c
mov rdx, qword [rsp + 0xa68]
lea rcx, [rsp + 0xf40]
call fcn.140046548
nop
mov rdx, qword [rsp + 0x1448]
lea rcx, [rsp + 0xf60]
call fcn.140046548
nop
lea rdx, [rsp + 0xca0]
lea rcx, [rsp + 0xf80]
call fcn.140046548
nop
lea rdx, [rsp + 0xd30]
lea rcx, [rsp + 0xfa0]
call fcn.140046548
nop
lea rdx, [rsp + 0xe70]
lea rcx, [rsp + 0xfc0]
call fcn.140046548
nop
lea rdx, [rsp + 0xdc0]
lea rcx, [rsp + 0xfe0]
call fcn.140046548
nop
lea rax, [rsp + 0xf20]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x1000]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0xf20]
mov qword [rsp + 0xa80], rax
lea rax, [rsp + 0x1000]
mov qword [rsp + 0xa88], rax
lea r8, [rsp + 0x120]
lea rdx, [rsp + 0xa80]
lea rcx, [rsp + 0xb20]
call fcn.140046580
nop
mov r9, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x70]
lea rdx, [rsp + 0xb20]
lea rcx, [rsp + 0xa90]
call fcn.140162f90
mov dl, byte [rsp + 0xa90]
lea rcx, [rsp + 0xa98]
call fcn.14013baec
nop
lea rcx, [rsp + 0xb20]
call fcn.140054d4c
nop
lea r9, [fcn.140046714]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rsp + 0xf20]
call fcn.1402209a8
nop
mov rcx, qword [rsp + 0xa68]
xor r13d, r13d
test rcx, rcx
je 0x14015925b
mov eax, r13d
mov qword [rsp + 0x628], rax
cmp rax, qword [rsp + 0xa70]
jae 0x14015925b
mov byte [rcx + rax], r13b
add rax, r12
mov qword [rsp + 0x628], rax
mov rcx, qword [rsp + 0xa68]
jmp 0x140159238
mov rcx, qword [rsp + 0xa58]
test rcx, rcx
je 0x140159296
mov rax, r13
mov qword [rsp + 0x630], rax
cmp rax, qword [rsp + 0xa60]
jae 0x140159296
mov byte [rcx + rax], r13b
add rax, r12
mov qword [rsp + 0x630], rax
mov rcx, qword [rsp + 0xa58]
jmp 0x140159273
mov dword [rsp + 0x2d0], r13d
mov dword [rsp + 0x2b8], r13d
mov qword [rsp + 0x638], r13
movabs rax, 0x279de647cbe12309
mov qword [rsp + 0x638], rax
mov qword [rsp + 0x640], r13
movabs rax, 0xf3f43360a1643b76
mov qword [rsp + 0x640], rax
movabs rcx, 0xf33a52b3c4291383
add rcx, qword [rsp + 0x640]
movabs rax, 0x38d536625307562d
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0x7120fb80ad4df5c7
add rcx, rax
movabs rax, 0xf8f8cd9abe60e1df
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x87d654bca3bacef1
add rcx, rax
mov rdi, qword [0x1402b2040]
add rcx, rdi
movabs rax, 0x5a9179aaf4419fc7
xor rcx, rax
movabs rax, 0x5f627dc767f2e652
sub rcx, rax
movabs rax, 0x423b3cd37f3b4a27
xor rcx, rax
movabs rdx, 0xb483ce46f2f86069
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94acf10a2a2
mov r10, qword [0x1402b2038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b530ef5d5d
mov r11, qword [0x1402b2030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d84a78bb7f7
add rdx, rax
add rdx, rcx
movabs rax, 0x8de44f6795deeda
xor rdx, rax
mov qword [rsp + 0x648], rdx
mov qword [rsp + 0x640], rdx
movabs rcx, 0xcc5ad49a1e8c03a
add rcx, qword [rsp + 0x638]
movabs rax, 0xe58b4fedad9d33ed
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0x4ed45970ebb4b6c1
add rcx, rax
movabs rax, 0x707459a892a3676
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x5829ab4635391ffe
add rcx, rax
add rcx, rdi
movabs rax, 0xa56e86580352fec8
xor rcx, rax
movabs rax, 0x2b02fde757fd61d8
sub rcx, rax
movabs rax, 0xcfc4c32dbbac85cf
xor rcx, rax
movabs rax, 0x95ab432b2e48f169
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0xec3316b52687a154
xor r10, rax
sub rcx, r10
movabs rax, 0x13cce94ad9785eab
xor r11, rax
movabs rax, 0x1f4a914a55bf6902
add rcx, rax
add rcx, r11
movabs rax, 0x1b03ccc25d359b1c
xor rcx, rax
mov qword [rsp + 0x650], rcx
mov qword [rsp + 0x638], rcx
and rcx, rdx
mov rax, r13
cmp qword [0x1402b3200], r13
sete al
mov qword [rsp + 0x640], r13
mov qword [rsp + 0x638], r13
cmp rax, rcx
jne 0x14015a309
mov rbx, qword [0x1402b3200]
mov qword [rsp + 0xa0], rbx
xor eax, eax
mov byte [rsp + 0x121], al
lea rdx, [rsp + 0xbd8]
lea rcx, [rsp + 0x121]
call fcn.140137c10
mov qword [rsp + 0x658], rax
mov r8, r13
mov qword [rsp + 0x660], r13
cmp r8, 0x2a
jae 0x14015974d
xor edx, edx
mov rax, r8
movabs rcx, 0x13cce94adbe8f3f8
div rcx
mov r12d, 0x37
add r12d, edx
movzx r13d, r12w
ror r13w, 8
mov word [rsp + 0x168], r13w
movzx eax, r13w
shl ax, 6
movzx r15d, r13w
shr r15w, 0xa
or r15w, ax
movzx edx, r13w
mov edi, edx
shr rdi, 0xa
or di, ax
mov r14d, edx
shr r14, 2
movzx eax, r13w
shl ax, 0xe
or r14w, ax
movzx r10d, r13w
shr r10w, 0xd
movzx eax, r13w
shl ax, 3
or r10w, ax
movzx ecx, r13w
shl cx, 0xd
movzx eax, r13w
shr ax, 3
or cx, ax
movzx r11d, cx
ror r11w, 8
movzx r9d, r13w
shr r9w, 0xc
movzx eax, r13w
shl ax, 4
or r9w, ax
movzx esi, r13w
not si
movzx ebx, r13w
ror bx, 7
movzx eax, r11w
sub ax, word [rsp + 0x98]
add bx, ax
mov rax, qword [rsp + 0x658]
movzx r8d, word [rax + r8*2]
sub r8w, r15w
mov eax, 0x6afe
add r8w, ax
mov eax, 0x9204
sub ax, di
xor r8w, ax
shr rdx, 1
movzx eax, r13w
shl ax, 0xf
or dx, ax
sub r8w, dx
sub r8w, word [0x1402b2050]
sub r8w, word [0x1402b2058]
add r8w, r13w
add r8w, r14w
mov eax, 0x6fc1
add r8w, ax
lea eax, [rdi + r13]
mov edx, 0x2d07
add ax, dx
xor r8w, ax
sub r8w, cx
sub r8w, r13w
sub r8w, word [0x1402b2048]
sub r8w, r10w
mov rcx, qword [0x1402b2040]
sub r8w, 0x50
add r8w, cx
add r8w, r11w
add r8w, di
movzx eax, r13w
sub ax, r10w
add ax, r9w
add ax, r15w
xor r8w, ax
movzx eax, r13w
sub ax, r9w
xor ax, r13w
sub r8w, ax
sub r8w, r11w
add r8w, r13w
mov eax, 0x4230
add r8w, ax
xor bx, r8w
mov edx, 0x9d7
add edx, r13d
add dx, dx
sub dx, bx
mov eax, 0x7100
add eax, r13d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
movzx eax, si
xor ax, word [0x1402b2038]
sub dx, ax
movzx eax, r13w
xor ax, word [0x1402b2030]
add dx, ax
sub dx, r12w
sub dx, cx
sub dx, r14w
sub dx, r15w
movzx eax, r13w
movzx ecx, si
imul ecx, eax
xor dx, cx
mov word [rsp + 0x148], dx
mov r8, qword [rsp + 0x660]
mov rax, qword [rsp + 0x658]
mov word [rax + r8*2], dx
mov r12d, 1
add r8, r12
mov qword [rsp + 0x660], r8
jmp 0x140159522
mov qword [rsp + 0xaa0], rax
mov qword [rsp + 0xaa8], 0x54
mov r8, qword [rsp + 0xaa0]
xor r13d, r13d
mov dword [rsp + 0x2e0], r13d
mov dword [rsp + 0x2e0], 0xf33d2ffa
mov eax, dword [rsp + 0x2e0]
add eax, 0x360efd32
xor eax, 0x9286c813
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x2ef8440a
xor eax, 0x4eb3608a
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x249f383c
add eax, ecx
xor eax, 0x9657613d
add eax, 0x30c2a10e
xor eax, 0xca4cc621
lea edx, [rcx - 0x2d03fe4]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xccd83a48
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x3327c5b7
add ecx, 0x6ce935d6
add ecx, edx
xor ecx, 0xc631178
mov dword [rsp + 0x2e8], ecx
mov dword [rsp + 0x2e0], ecx
movsxd rdx, ecx
mov r9, qword [rsp + 0xa0]
lea rcx, [rsp + 0x1000]
call fcn.14016d674
nop
mov dword [rsp + 0x2e0], r13d
mov rcx, qword [rsp + 0xaa0]
test rcx, rcx
je 0x140159864
mov eax, r13d
mov qword [rsp + 0x668], rax
cmp rax, qword [rsp + 0xaa8]
jae 0x140159864
mov byte [rcx + rax], r13b
add rax, r12
mov qword [rsp + 0x668], rax
mov rcx, qword [rsp + 0xaa0]
jmp 0x140159841
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rsp + 0xc30]
call fcn.14023de60
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0xb38], xmm0
mov qword [rsp + 0xb48], rax
mov dword [rsp + 0x670], r13d
mov dword [rsp + 0x674], 0xc334cf7e
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x678], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x680], rax
mov qword [rsp + 0x688], rax
mov r9d, 0x4764996c
mov r14d, dword [rsp + 0x670]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0xab0], xmm0
movd ecx, xmm0
sub cx, 8
mov word [rsp + 0xab0], cx
test r14d, r14d
je 0x140159972
mov r10, qword [rsp + 0xab8]
mov qword [rsp + 0x690], r10
movzx ecx, cx
shr rcx, 1
lea rbx, [r10 + rcx*2]
mov qword [rsp + 0x698], rbx
mov r11d, 0xad514612
mov dword [rsp + 0x2f0], r11d
cmp r10, rbx
je 0x140159969
movsx ecx, byte [r10]
mov byte [rsp + 0x128], cl
mov edx, ecx
mov r8d, ecx
imul r8d, ecx
add r8d, 0x31
xor r8d, r9d
mov ecx, r11d
xor ecx, edx
mov r11d, r8d
imul r11d, ecx
mov dword [rsp + 0x2f0], r11d
add r10, 2
mov qword [rsp + 0x690], r10
jmp 0x140159927
cmp r11d, r14d
jne 0x140159b51
mov r10, qword [rax + 0x30]
mov qword [rsp + 0x6a0], r10
mov qword [rsp + 0xa0], r10
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov qword [rsp + 0x6a8], rcx
mov ebx, ecx
add rbx, r10
mov qword [rsp + 0xa8], rbx
shr rcx, 0x20
mov dword [rsp + 0xb0], ecx
cmp rbx, r10
je 0x140159b51
mov esi, dword [rbx + 0x18]
mov dword [rsp + 0x1a0], esi
mov edx, esi
dec esi
mov dword [rsp + 0x1a0], esi
test edx, edx
je 0x140159b51
mov r8d, dword [rbx + 0x20]
add r8, r10
mov r11d, dword [r8 + rsi*4]
add r11, r10
mov qword [rsp + 0x6b0], r11
mov edi, 0xad514612
mov dword [rsp + 0x1a4], edi
movsx edx, byte [r11]
mov byte [rsp + 0x130], dl
add r11, r12
mov qword [rsp + 0x6b0], r11
test dl, dl
jne 0x14015b48a
cmp edi, dword [rsp + 0x674]
jne 0x14015b485
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov qword [rsp + 0x6b8], rdx
mov eax, dword [rbx + 0x24]
add rax, r10
mov qword [rsp + 0x6c0], rax
movzx eax, word [rax + rsi*2]
mov r8d, dword [rdx + rax*4]
add r8, r10
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x6c8], r8
cmp r8, rbx
jbe 0x140159b61
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x140159b61
mov qword [rsp + 0x6d0], r8
mov dword [rsp + 0x6d8], 0xad514612
mov r10d, 0xad514612
mov dword [rsp + 0x6dc], r10d
mov r11d, r10d
movsx eax, byte [r8]
cmp al, 0x2e
je 0x140159ad3
mov byte [rsp + 0xb8], al
mov ecx, eax
mov edx, eax
imul edx, eax
add edx, 0x31
xor edx, r9d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
mov dword [rsp + 0x6d8], r11d
add r8, r12
mov qword [rsp + 0x6d0], r8
jmp 0x140159a96
add r8, r12
mov qword [rsp + 0x6d0], r8
movsx eax, byte [r8]
test al, al
je 0x140159b10
mov byte [rsp + 0xc0], al
mov ecx, eax
mov edx, eax
imul edx, eax
add edx, 0x31
xor edx, r9d
mov eax, r10d
xor eax, ecx
mov r10d, edx
imul r10d, eax
mov dword [rsp + 0x6dc], r10d
jmp 0x140159ad3
mov rax, qword [rsp + 0x6d8]
mov qword [rsp + 0x670], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x6e0], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x6e8], rax
mov qword [rsp + 0x688], rax
mov r14d, dword [rsp + 0x670]
mov rax, qword [rax]
mov qword [rsp + 0x688], rax
jmp 0x1401598d6
mov dword [rsp + 0x1a8], r13d
mov dword [rsp + 0x1a8], 0xcf40f7f3
mov eax, dword [rsp + 0x1a8]
add eax, 0xc933ca35
xor eax, 0x5f8a5b38
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x243ed5a3
xor eax, 0xad420053
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0xca62c3f1
add eax, ecx
xor eax, 0x82816765
add eax, 0x2ba1eb7d
xor eax, 0x989dc679
mov edx, dword [0x1402b2030]
xor edx, 0x24db3283
sub edx, eax
mov eax, dword [0x1402b2038]
xor eax, 0xdb24cd7c
sub edx, eax
sub edx, ecx
add edx, 0x24ba0064
xor edx, 0x8d0b5e74
mov dword [rsp + 0x1b0], edx
mov dword [rsp + 0x1a8], edx
movsxd rax, edx
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x1b8], r13d
mov dword [rsp + 0x1b8], 0x2fec8f25
mov eax, dword [rsp + 0x1b8]
add eax, 0x15a3e8b5
xor eax, 0x7e09a7a8
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
sub eax, 0x59a67ab8
xor eax, 0x63a02159
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0xfe20928a
add eax, ecx
xor eax, 0x4f51849b
add eax, 0x3de04f97
xor eax, 0xfe6b53b8
lea edx, [rcx - 0x4e4818f6]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xd8568df6
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x27a97209
add ecx, 0xd6bd2f90
add ecx, edx
xor ecx, 0x57a889a6
mov dword [rsp + 0x1c0], ecx
mov dword [rsp + 0x1b8], ecx
movsxd rax, ecx
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x1c8], r13d
mov dword [rsp + 0x1c8], 0x1dc32e48
mov eax, dword [rsp + 0x1c8]
add eax, 0xac296935
xor eax, 0xfe8a3e2d
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x2495f4c6
xor eax, 0xcac08ad7
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x71ce5a9d
add eax, ecx
xor eax, 0xa3a13e09
add eax, 0x1c6d55c1
xor eax, 0xaf23df4c
mov edx, dword [0x1402b2030]
xor edx, 0x254f5c07
sub edx, eax
mov eax, dword [0x1402b2038]
xor eax, 0xdab0a3f8
sub edx, eax
sub edx, ecx
sub edx, 0x6c62fd7a
xor edx, 0xe7499bc8
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x1d0], edx
mov dword [rsp + 0x1c8], edx
mov dword [rsp + 0x1d8], r13d
mov dword [rsp + 0x1d8], 0x199eb33f
mov eax, dword [rsp + 0x1d8]
add eax, 0xa48347b5
xor eax, 0xdd0a3687
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
sub eax, 0x5b5318d5
xor eax, 0xd28544dd
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0xbc305d16
add eax, ecx
xor eax, 0xac5abc3f
add eax, 0x21ec45e3
xor eax, 0xbef72d3d
mov r13d, dword [0x1402b2030]
xor r13d, 0x256df48d
sub r13d, eax
mov eax, dword [0x1402b2038]
xor eax, 0xda920b72
sub r13d, eax
sub r13d, ecx
sub r13d, 0x124c7296
xor r13d, 0xeee2f5ca
mov dword [rsp + 0x1e0], r13d
mov dword [rsp + 0x1d8], r13d
xor r8d, r8d
mov dword [rsp + 0x1e8], r8d
mov dword [rsp + 0x1e8], 0x5c659deb
mov eax, dword [rsp + 0x1e8]
add eax, 0x2f1c2c35
xor eax, 0xc189c120
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x260d1c7d
xor eax, 0x49c1fccb
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x9b8dd2ea
add eax, ecx
xor eax, 0x3244579d
add eax, 0x40a8a215
xor eax, 0xd5ae6635
lea edx, [rcx + 0x18f1ed62]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xd8bc6f04
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x274390fb
add ecx, 0x3cc1df1e
add ecx, edx
xor ecx, 0x293f18ec
mov dword [rsp + 0x1f0], ecx
mov dword [rsp + 0x1e8], ecx
movsxd r9, ecx
mov dword [rsp + 0x1f8], r8d
mov dword [rsp + 0x1f8], 0x7df7b99b
mov eax, dword [rsp + 0x1f8]
add eax, 0xcf94f6b5
xor eax, 0x8c0a6199
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
sub eax, 0x5bd44de2
xor eax, 0xa6c74f21
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x1b9dc09
add eax, ecx
xor eax, 0x7b3a90a3
add eax, 0x2644b86f
xor eax, 0x316cfd2f
mov edx, dword [0x1402b2030]
xor edx, 0x24c1add1
sub edx, eax
mov eax, dword [0x1402b2038]
xor eax, 0xdb3e522e
sub edx, eax
sub edx, ecx
sub edx, 0x3bb57c22
xor edx, 0x88182d8e
mov dword [rsp + 0x200], edx
mov dword [rsp + 0x1f8], edx
movsxd r15, edx
mov dword [rsp + 0x208], r8d
mov dword [rsp + 0x208], 0xd5c5dd40
mov eax, dword [rsp + 0x208]
add eax, 0x8e4cf735
xor eax, 0x8c8a2051
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x24ef8a1c
xor eax, 0xe9146e9f
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x9a57175c
add eax, ecx
xor eax, 0xc5b0b011
add eax, 0x166e1909
xor eax, 0x4e13072f
mov edx, dword [0x1402b2030]
xor edx, 0x25c6cdcf
sub edx, eax
mov eax, dword [0x1402b2038]
xor eax, 0xda393230
sub edx, eax
sub edx, ecx
sub edx, 0x15761a4
xor edx, 0x29004d0
mov dword [rsp + 0x210], edx
mov dword [rsp + 0x208], edx
movsxd r14, edx
mov qword [rsp + 0x6f0], r8
movabs rax, 0x6c2762f361ac0f54
mov qword [rsp + 0x6f0], rax
mov qword [rsp + 0x6f8], r8
movabs rax, 0x20900b81c3b3cf26
mov qword [rsp + 0x6f8], rax
movabs rcx, 0xf33a52b70dbe7283
add rcx, qword [rsp + 0x6f0]
movabs rax, 0x97d53662530a9fc3
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0x7120fb80a37135aa
add rcx, rax
movabs rax, 0xf8f8cd9767a52d63
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x7d654b82d588c7c
add rcx, rax
mov rdi, qword [0x1402b2040]
add rcx, rdi
movabs rax, 0x5a9179a734533f6b
xor rcx, rax
movabs rax, 0x5f627dc68429404e
sub rcx, rax
movabs rax, 0x4a3b3cd1da564dfc
xor rcx, rax
movabs rdx, 0xb483ce43c0661702
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94adc36f81e
mov r10, qword [0x1402b2038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b523c907e1
mov r11, qword [0x1402b2030]
mov rcx, r11
xor rcx, rax
movabs rsi, 0xe0b56d91bac7c173
add rsi, rdx
add rsi, rcx
movabs rax, 0xeb86831bf6a6e45e
xor rsi, rax
mov qword [rsp + 0x700], rsi
mov qword [rsp + 0x6f0], rsi
movabs rcx, 0xf33a52b6ca3f8b03
add rcx, qword [rsp + 0x6f8]
movabs rax, 0xb0553662530a5c44
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0xedf047f5bc44da0
sub rcx, rax
movabs rax, 0xf8f8cd97ac321081
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x47d654b888f74fbb
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7814fff79
xor rcx, rax
movabs rax, 0x5f627dc6d39af34c
sub rcx, rax
movabs rax, 0x863b3cd1fc17ddb3
xor rcx, rax
movabs rax, 0x3483ce44020c862d
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94adb28fc80
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b524d7037f
xor r11, rax
movabs rbx, 0xe0b56d90abbe2fd5
add rbx, rcx
add rbx, r11
movabs rax, 0x7540f62243cac380
xor rbx, rax
mov qword [rsp + 0x708], rbx
mov qword [rsp + 0x6f8], rbx
lea rax, [rsp + 0xb38]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xc30]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r13d
mov r8, r15
lea rdx, [rsp + 0x1000]
mov rcx, r14
call qword [rsp + 0xa0]
movsxd rcx, eax
and rsi, rbx
xor r13d, r13d
mov qword [rsp + 0x6f8], r13
mov qword [rsp + 0x6f0], r13
mov dword [rsp + 0x208], r13d
mov dword [rsp + 0x1f8], r13d
mov dword [rsp + 0x1e8], r13d
mov dword [rsp + 0x1d8], r13d
mov dword [rsp + 0x1c8], r13d
mov dword [rsp + 0x1b8], r13d
mov dword [rsp + 0x1a8], r13d
cmp rcx, rsi
jne 0x14015a97a
mov dword [rsp + 0x218], r13d
mov dword [rsp + 0x218], 0x564a4367
mov eax, dword [rsp + 0x218]
add eax, 0xc93fe835
xor eax, 0x7d8a5b44
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x243eb149
xor eax, 0xad35b1db
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0xca525138
add eax, ecx
xor eax, 0x8273952d
add eax, 0x2ba91f85
xor eax, 0xa897b718
mov edx, dword [0x1402b2030]
xor edx, 0x24db020b
sub edx, eax
mov eax, dword [0x1402b2038]
xor eax, 0xdb24fdf4
sub edx, eax
sub edx, ecx
add edx, 0x24f6720a
xor edx, 0x444ed17c
mov dword [rsp + 0x220], edx
mov dword [rsp + 0x218], edx
mov dword [rsp + 0x218], r13d
lea r12d, [r13 + 1]
mov dword [rsp + 0x250], r13d
mov dword [rsp + 0x250], 0x78bc8736
mov eax, dword [rsp + 0x250]
add eax, 0xaa898634
xor eax, 0x1b893c8e
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x279ad46f
xor eax, 0xd066ed64
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x4f82e341
add eax, ecx
xor eax, 0xc97b9cf6
sub eax, 0x25f34e94
xor eax, 0x47fbddcc
lea edx, [rcx - 0x661b6f27]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xd6aa246c
sub edx, eax
mov eax, dword [0x1402b2030]
xor eax, 0x2955db93
add eax, 0x48650404
add eax, edx
xor eax, 0x34b74e04
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x258], eax
mov dword [rsp + 0x250], eax
mov dword [rsp + 0x260], r13d
mov dword [rsp + 0x260], 0x721e7b
mov eax, dword [rsp + 0x260]
add eax, 0x240cb4a7
xor eax, 0x49fbb611
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
sub eax, 0x2fd1b51c
xor eax, 0x8cfdb237
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0xeb9151b4
add eax, ecx
xor eax, 0x36e1fbfb
sub eax, 0x2f86f9bf
xor eax, 0x97a67a78
lea edx, [rcx + 0x41b3f8ac]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xa0903126
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x5f6fced9
add ecx, 0xd8980b08
add ecx, edx
xor ecx, 0x8b403d36
mov dword [rsp + 0x268], ecx
mov dword [rsp + 0x260], ecx
movsxd rax, ecx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x850], rax
mov qword [rsp + 0x858], r13
movabs rax, 0x3d63026ca94c3075
mov qword [rsp + 0x858], rax
mov qword [rsp + 0x860], r13
movabs rax, 0x55b4394408ad43ca
mov qword [rsp + 0x860], rax
movabs rcx, 0xf33a52bbcc9f1683
add rcx, qword [rsp + 0x858]
movabs rax, 0x3bd53662530f5ea3
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0x7120fb80953493be
add rcx, rax
movabs rax, 0xf8f8cd9295c906d3
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x7d654b1bc3e9dde
add rcx, rax
mov rdi, qword [0x1402b2040]
add rcx, rdi
movabs rax, 0x5a9179a1ca9b045b
xor rcx, rax
movabs rax, 0x5f627dbd85fb981e
sub rcx, rax
movabs rax, 0x2a3b3ccf7ac004f7
xor rcx, rax
movabs rdx, 0xb483ce3f22bd977e
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94aef327aae
mov r10, qword [0x1402b2038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b510cd8551
mov r11, qword [0x1402b2030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56da52945dc03
add rax, rdx
add rax, rcx
movabs rcx, 0x86e42318060b370e
xor rax, rcx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x868], rax
mov qword [rsp + 0x858], rax
movabs rcx, 0xf33a52b42eb59703
add rcx, qword [rsp + 0x860]
movabs rax, 0xbc5536625307c0ba
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0xedf047f53f1afc4
sub rcx, rax
movabs rax, 0xf8f8cd9a522a2c51
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x47d654bc13191271
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179aa7ab959c9
xor rcx, rax
movabs rax, 0x5f627dc738f7599c
sub rcx, rax
movabs rax, 0x263b3cd349f1b403
xor rcx, rax
movabs rax, 0x3483ce468b55b481
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad0bad4b0
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b52f452b4f
xor r11, rax
movabs rax, 0xe0b56d865327f805
add rax, rcx
add rax, r11
movabs rcx, 0x66579efd6ed13250
xor rax, rcx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x870], rax
mov qword [rsp + 0x860], rax
movabs r15, 0xfa578088653bf7ea
mov qword [rsp + 0x878], r15
movabs rdi, 0x4b08bf8c85bbd5f1
mov qword [rsp + 0x880], rdi
mov qword [rsp + 0x888], r13
movabs r11, 0x50312138de7caf74
mov qword [rsp + 0x890], r11
movabs rax, 0x96e700b793c54df0
mov rcx, qword [0x1402b2070]
imul rcx, rax
not rcx
movabs r8, 0xafcedec72b3a65aa
mov rax, qword [0x1402b2060]
xor rax, r8
and rcx, rax
mov qword [rsp + 0x898], rcx
ror rcx, 0x2c
shr rcx, 8
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x8a0], rcx
movabs rax, 0xfe4f270a59471ec8
mov rbx, qword [0x1402b2060]
imul rbx, rax
add rbx, rdi
movabs rax, 0x1692136d00000000
xor rbx, rax
shr rbx, 0x1f
not rbx
mov qword [rsp + 0x8a8], rbx
mov qword [rsp + 0x8b0], rbx
movabs r9, 0xb4f740737a442a0f
lea rcx, [rbx + r9]
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
lea rsi, [0x140000000]
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xbd
mov r8d, 0x8000003f
and ecx, r8d
jge 0x14015a799
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, rbx
ror rax, cl
not rax
movabs rcx, 0xf2cf296d5049ae98
imul rax, rcx
add r9, rax
mov qword [rsp + 0x8b8], r9
mov r10, rbx
mov rdx, qword [rsp + 0x60]
imul r10, rdx
sub r10, r9
xor r10, r15
mov qword [rsp + 0x8c0], r10
movzx ecx, r9b
mov dword [rsp + 0x78], ecx
xor ecx, 2
and ecx, 0xf
and ecx, r8d
jge 0x14015a7f1
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r10, cl
mov rax, r9
sub rax, qword [0x1402b2078]
xor r10, rax
mov rax, r9
imul rax, rdi
xor r10, rax
xor r10, r11
mov qword [rsp + 0x8c8], r10
mov rdi, r13
mov rax, r10
and rax, r12
xor rax, 2
je 0x14015b701
sub rax, 1
je 0x14015b5c1
sub rax, 1
je 0x14015b4ab
cmp rax, 1
jne 0x14015b7b3
mov rdi, r9
imul rdi, rbx
movabs rax, 0x30873e2c3f7dd443
add rax, r10
xor rdi, rax
mov qword [rsp + 0x8d0], rdi
ror rdi, 0x16
shr rdi, 0xc
not rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x878], rdi
movabs rcx, 0x83572d2a19aa
mov rdx, qword [0x1402b2088]
add rdx, rcx
movabs rax, 0xb475c50b1c751323
xor rdx, rax
mov qword [rsp + 0x8d8], rdx
movzx eax, r10b
movzx ecx, dil
imul ecx, eax
mov r15d, 0x3f
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db975caf555
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov qword [rsp + 0x8a8], rbx
mov rcx, rbx
movabs rax, 0x4b08bf8c85bbd5f1
imul rcx, rax
mov eax, 0xa41127bf
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs r8, 0x8970243061a631e2
sub r8, rdi
shr r8, cl
movabs rcx, 0x8248856955774
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r10
mov rcx, qword [rsp + 0x60]
sub rax, rcx
xor r8, rax
mov qword [rsp + 0x880], r8
mov rdi, r13
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x58]
jmp 0x14015b7c6
mov qword [rsp + 0x710], r13
movabs rax, 0x2604c328cc82501e
mov qword [rsp + 0x710], rax
mov qword [rsp + 0x718], r13
movabs rax, 0x99fbcafa724bcde
mov qword [rsp + 0x718], rax
movabs rcx, 0xf33a52b625b29c83
add rcx, qword [rsp + 0x718]
movabs rax, 0xc1d536625309b7b7
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0x7120fb80a629592c
add rcx, rax
movabs rax, 0xf8f8cd98535132bb
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x7d654b968549d79
add rcx, rax
mov rdi, qword [0x1402b2040]
add rcx, rdi
movabs rax, 0x5a9179a83d00bf83
xor rcx, rax
movabs rax, 0x5f627dc6c75a6276
sub rcx, rax
movabs rax, 0xfa3b3cd24e63795b
xor rcx, rax
movabs rdx, 0xb483ce44a2199a28
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad896c8c6
mov r10, qword [0x1402b2038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b527693739
mov r11, qword [0x1402b2030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8e1738399b
add rdx, rax
add rdx, rcx
movabs rax, 0x24bfcc9f21eb3e16
xor rdx, rax
mov qword [rsp + 0x720], rdx
mov qword [rsp + 0x718], rdx
movabs rcx, 0xf33a52b6ac36a503
add rcx, qword [rsp + 0x710]
movabs rax, 0xca553662530a3e3b
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0xedf047f5b6a32ee
sub rcx, rax
movabs rax, 0xf8f8cd97cab31a19
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x47d654b8b1bc63f0
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7a39225d1
xor rcx, rax
movabs rax, 0x5f627dc6e3890c44
sub rcx, rax
movabs rax, 0xb63b3cd20b1d40fb
xor rcx, rax
movabs rax, 0x3483ce441f432de3
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94adab0d8e8
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5254f2717
xor r11, rax
movabs rax, 0xe0b56d9033222bbd
add rcx, rax
add rcx, r11
movabs rax, 0xb68db4ff0e86d4d8
xor rcx, rax
mov qword [rsp + 0x728], rcx
mov qword [rsp + 0x710], rcx
and rdx, rcx
cmp qword [rsp + 0xb40], rdx
setne al
mov byte [rsp + 0x11a], al
mov qword [rsp + 0x718], r13
mov qword [rsp + 0x710], r13
test al, al
je 0x14015aeb0
mov dword [rsp + 0x730], r13d
mov dword [rsp + 0x734], 0x4d53d816
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x738], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x740], rax
mov qword [rsp + 0x748], rax
mov r15d, 0x7a7929e8
mov esi, dword [rsp + 0x730]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0xac0], xmm0
movd ecx, xmm0
sub cx, 8
mov word [rsp + 0xac0], cx
test esi, esi
je 0x14015ac97
mov r8, qword [rsp + 0xac8]
mov qword [rsp + 0x750], r8
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov qword [rsp + 0x758], r10
mov r9d, r15d
mov dword [rsp + 0x228], r15d
cmp r8, r10
je 0x14015ac8e
movsx ecx, byte [r8]
mov byte [rsp + 0xd0], cl
mov edx, ecx
imul ecx, ecx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
mov dword [rsp + 0x228], r9d
add r8, 2
mov qword [rsp + 0x750], r8
jmp 0x14015ac50
cmp r9d, esi
jne 0x14015ae6a
mov r9, qword [rax + 0x30]
mov qword [rsp + 0x760], r9
mov qword [rsp + 0xb50], r9
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov qword [rsp + 0x768], rcx
mov r11d, ecx
add r11, r9
mov qword [rsp + 0xb58], r11
shr rcx, 0x20
mov dword [rsp + 0xb60], ecx
cmp r11, r9
je 0x14015ae6a
mov edi, dword [r11 + 0x18]
mov dword [rsp + 0x22c], edi
mov r12d, 1
mov edx, edi
dec edi
mov dword [rsp + 0x22c], edi
test edx, edx
je 0x14015ae6a
mov r8d, dword [r11 + 0x20]
add r8, r9
mov r10d, dword [r8 + rdi*4]
add r10, r9
mov qword [rsp + 0x770], r10
mov ebx, r15d
mov dword [rsp + 0x230], ebx
movsx edx, byte [r10]
mov byte [rsp + 0xd8], dl
add r10, r12
mov qword [rsp + 0x770], r10
test dl, dl
jne 0x14015ae8c
cmp ebx, dword [rsp + 0x734]
jne 0x14015ae87
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov qword [rsp + 0x778], rdx
mov eax, dword [r11 + 0x24]
add rax, r9
mov qword [rsp + 0x780], rax
movzx eax, word [rax + rdi*2]
mov r8d, dword [rdx + rax*4]
add r8, r9
mov qword [rsp + 0x788], r8
cmp r8, r11
jbe 0x14015ae7a
lea rax, [r11 + rcx]
cmp r8, rax
jae 0x14015ae7a
mov qword [rsp + 0x790], r8
mov dword [rsp + 0x798], r15d
mov r9d, r15d
mov dword [rsp + 0x79c], r15d
mov r10d, r15d
mov edx, 0x4764996c
movsx eax, byte [r8]
cmp al, 0x2e
je 0x14015adf2
mov byte [rsp + 0xe0], al
mov ecx, eax
imul eax, eax
add eax, 0x31
xor eax, edx
xor ecx, r10d
mov r10d, eax
imul r10d, ecx
mov dword [rsp + 0x798], r10d
add r8, r12
mov qword [rsp + 0x790], r8
jmp 0x14015adba
add r8, r12
mov qword [rsp + 0x790], r8
movsx eax, byte [r8]
test al, al
je 0x14015ae2a
mov byte [rsp + 0xe8], al
mov ecx, eax
imul eax, eax
add eax, 0x31
xor eax, edx
xor ecx, r9d
mov r9d, eax
imul r9d, ecx
mov dword [rsp + 0x79c], r9d
jmp 0x14015adf2
mov rax, qword [rsp + 0x798]
mov qword [rsp + 0x730], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x7a0], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x7a8], rax
mov qword [rsp + 0x748], rax
mov esi, dword [rsp + 0x730]
mov rax, qword [rax]
mov qword [rsp + 0x748], rax
jmp 0x14015ac03
mov rcx, qword [rsp + 0xb40]
call r8
jmp 0x14015aeb6
jmp 0x14015acf2
mov r8d, edx
imul edx, edx
add edx, 0x31
xor edx, 0x4764996c
xor r8d, ebx
mov ebx, edx
imul ebx, r8d
mov dword [rsp + 0x230], ebx
jmp 0x14015ad25
mov r12d, 1
mov qword [rsp + 0x7b0], r13
movabs rax, 0xbcea7fd59936dcab
mov qword [rsp + 0x7b0], rax
mov qword [rsp + 0x7b8], r13
movabs rax, 0xbdf3d795eb2fa0f2
mov qword [rsp + 0x7b8], rax
movabs rcx, 0xf33a52b6ae2acb83
add rcx, qword [rsp + 0x7b8]
movabs rax, 0xf0d53662530a402f
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0x7120fb80a48ff09f
add rcx, rax
movabs rax, 0xf8f8cd97c8b722ff
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x87d654b8af1579ad
add rcx, rax
mov rdi, qword [0x1402b2040]
add rcx, rdi
movabs rax, 0x5a9179a7a157a9e7
xor rcx, rax
movabs rax, 0x5f627dc6e319eff2
sub rcx, rax
movabs rax, 0x823b3cd20a231e19
xor rcx, rax
movabs rdx, 0xb483ce441d5cb471
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94adab8a982
mov r10, qword [0x1402b2038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52547567d
mov r11, qword [0x1402b2030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d903afa9ed7
add rdx, rax
add rdx, rcx
movabs rax, 0x26d36da7a22a707a
xor rdx, rax
mov qword [rsp + 0x7c0], rdx
mov qword [rsp + 0x7b8], rdx
movabs rcx, 0xf33a52b62fad0503
add rcx, qword [rsp + 0x7b0]
movabs rax, 0x2a5536625309c1b1
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0xedf047f59f4960e
sub rcx, rax
movabs rax, 0xf8f8cd98492ee099
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x47d654b95ac934a0
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a8319f2051
xor rcx, rax
movabs rax, 0x5f627dc6bf355cc4
sub rcx, rax
movabs rax, 0xb63b3cd24965f548
xor rcx, rax
movabs rax, 0x3483ce4498650a83
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad8beb268
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b527414d97
xor r11, rax
movabs rax, 0xe0b56d8e3f09cd3d
add rcx, rax
add rcx, r11
movabs rax, 0xfff04778588c8358
xor rcx, rax
mov qword [rsp + 0x7c8], rcx
mov qword [rsp + 0x7b0], rcx
and rcx, rdx
cmp qword [rsp + 0xb38], rcx
setne al
mov byte [rsp + 0xf0], al
mov qword [rsp + 0x7b8], r13
mov qword [rsp + 0x7b0], r13
test al, al
je 0x14015b3bb
mov dword [rsp + 0x7d0], r13d
mov dword [rsp + 0x7d4], 0x55c5da96
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x7d8], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x7e0], rax
mov qword [rsp + 0x7e8], rax
mov r15d, 0xf5f020da
mov esi, dword [rsp + 0x7d0]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0xad0], xmm0
movd ecx, xmm0
sub cx, 8
mov word [rsp + 0xad0], cx
test esi, esi
je 0x14015b1d3
mov r8, qword [rsp + 0xad8]
mov qword [rsp + 0x7f0], r8
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov qword [rsp + 0x7f8], r10
mov r9d, r15d
mov dword [rsp + 0x234], r15d
cmp r8, r10
je 0x14015b1ca
movsx ecx, byte [r8]
mov byte [rsp + 0xf8], cl
mov edx, ecx
imul ecx, ecx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
mov dword [rsp + 0x234], r9d
add r8, 2
mov qword [rsp + 0x7f0], r8
jmp 0x14015b18c
cmp r9d, esi
jne 0x14015b3a0
mov r9, qword [rax + 0x30]
mov qword [rsp + 0x800], r9
mov qword [rsp + 0xb68], r9
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov qword [rsp + 0x808], rcx
mov r11d, ecx
add r11, r9
mov qword [rsp + 0xb70], r11
shr rcx, 0x20
mov dword [rsp + 0xb78], ecx
cmp r11, r9
je 0x14015b3a0
mov edi, dword [r11 + 0x18]
mov dword [rsp + 0x238], edi
mov edx, edi
dec edi
mov dword [rsp + 0x238], edi
test edx, edx
je 0x14015b3a0
mov r8d, dword [r11 + 0x20]
add r8, r9
mov r10d, dword [r8 + rdi*4]
add r10, r9
mov qword [rsp + 0x810], r10
mov ebx, r15d
mov dword [rsp + 0x23c], ebx
movsx edx, byte [r10]
mov byte [rsp + 0x100], dl
add r10, r12
mov qword [rsp + 0x810], r10
test dl, dl
jne 0x14015b461
cmp ebx, dword [rsp + 0x7d4]
jne 0x14015b45c
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov qword [rsp + 0x818], rdx
mov eax, dword [r11 + 0x24]
add rax, r9
mov qword [rsp + 0x820], rax
movzx eax, word [rax + rdi*2]
mov r8d, dword [rdx + rax*4]
add r8, r9
mov qword [rsp + 0x828], r8
cmp r8, r11
jbe 0x14015b3b0
lea rax, [r11 + rcx]
cmp r8, rax
jae 0x14015b3b0
mov qword [rsp + 0x830], r8
mov dword [rsp + 0x838], r15d
mov r9d, r15d
mov dword [rsp + 0x83c], r15d
mov r10d, r15d
mov edx, 0x4764996c
movsx eax, byte [r8]
cmp al, 0x2e
je 0x14015b328
mov byte [rsp + 0x108], al
mov ecx, eax
imul eax, eax
add eax, 0x31
xor eax, edx
xor ecx, r10d
mov r10d, eax
imul r10d, ecx
mov dword [rsp + 0x838], r10d
add r8, r12
mov qword [rsp + 0x830], r8
jmp 0x14015b2f0
add r8, r12
mov qword [rsp + 0x830], r8
movsx eax, byte [r8]
test al, al
je 0x14015b360
mov byte [rsp + 0x110], al
mov ecx, eax
imul eax, eax
add eax, 0x31
xor eax, edx
xor ecx, r9d
mov r9d, eax
imul r9d, ecx
mov dword [rsp + 0x83c], r9d
jmp 0x14015b328
mov rax, qword [rsp + 0x838]
mov qword [rsp + 0x7d0], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x840], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x848], rax
mov qword [rsp + 0x7e8], rax
mov esi, dword [rsp + 0x7d0]
mov rax, qword [rax]
mov qword [rsp + 0x7e8], rax
jmp 0x14015b13f
mov rcx, qword [rsp + 0xb38]
call r8
mov dword [rsp + 0x240], r13d
mov dword [rsp + 0x240], 0xca936624
mov eax, dword [rsp + 0x240]
add eax, 0xa78abd35
xor eax, 0x528a398f
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x24a3d0ca
xor eax, 0xcf71b187
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x7813bd17
add eax, ecx
xor eax, 0xa8e63a39
add eax, 0x25218411
xor eax, 0x11735a41
mov edx, dword [0x1402b2030]
xor edx, 0x2561d6b7
sub edx, eax
mov eax, dword [0x1402b2038]
xor eax, 0xda9e2948
sub edx, eax
sub edx, ecx
add edx, 0x7ccf828a
xor edx, 0x89d9b278
mov dword [rsp + 0x248], edx
mov dword [rsp + 0x240], edx
mov dword [rsp + 0x240], r13d
jmp 0x14015a309
jmp 0x14015b228
mov r8d, edx
imul edx, edx
add edx, 0x31
xor edx, 0x4764996c
xor r8d, ebx
mov ebx, edx
imul ebx, r8d
mov dword [rsp + 0x23c], ebx
jmp 0x14015b25b
jmp 0x1401599c5
mov r8d, edx
imul edx, edx
add edx, 0x31
xor edx, r9d
xor r8d, edi
mov edi, edx
imul edi, r8d
mov dword [rsp + 0x1a4], edi
jmp 0x1401599fa
movabs rcx, 0xaaaaaa1aa408da81
mov rbx, r10
xor rbx, rcx
movabs rcx, 0x1206ed660506cd
imul rbx, rcx
movabs rcx, 0xffff7e8a8218e85d
imul r9, rcx
movabs rcx, 0x503f20f9d502a4d4
add rbx, rcx
add rbx, r9
mov qword [rsp + 0x8a8], rbx
movabs rax, 0x277cd7be76d80de1
mov rcx, rbx
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rbx
not r9
imul r9, qword [rsi + rcx*8 + 0x2b2060]
xor r9, 0xfffffffff15d0c51
mov qword [rsp + 0x8e0], r9
lea ecx, [r10 + 3]
mov r15d, 0x3f
and cl, r15b
rol r9, cl
movabs rax, 0x7058010280000000
imul r9, rax
mov qword [rsp + 0x8b8], r9
mov rcx, r9
ror rcx, 0x36
not rcx
movabs rax, 0x9b2de6b2e4d23f18
imul rcx, rax
mov rax, rbx
sub rax, r9
lea rdx, [rcx + rax*4]
mov qword [rsp + 0x8e8], rdx
movzx ecx, byte [rsp + 0x60]
and ecx, r15d
ror rdx, cl
movabs rax, 0x4b08bf8c85bbd5f1
mov r8, rdx
imul r8, rax
mov qword [rsp + 0x880], r8
movabs rcx, 0xfa578088653bf7ea
mov rdi, r13
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x60], rax
jmp 0x14015b7c6
movabs rax, 0x3f8637b31fa6d257
imul r10, rax
mov qword [rsp + 0x8c8], r10
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x5a87f779ac40815
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov qword [rsp + 0x8f0], r11
mov eax, dword [rsp + 0x78]
and eax, r8d
jge 0x14015b623
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r11, cl
movabs rcx, 0xb4f740737a442a0f
add rcx, r10
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffff8c85bbd5f1
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7f8ccacac
or r11, rax
mov qword [rsp + 0x890], r11
mov r8, qword [0x1402b2070]
imul r8, r15
sub r8, r9
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, r11
xor r8, rax
movabs rax, 0xc7a7c6a6a9c4aca1
xor r8, rax
mov qword [rsp + 0x880], r8
mov rax, r9
imul rax, r8
imul rax, r10
mov rdi, rbx
sub rdi, rax
movabs rax, 0x78958946696e0bb
add rdi, rax
xor rdi, rdx
mov qword [rsp + 0x8f8], rdi
mov cl, bl
shl cl, 2
mov r15d, 0x3f
and cl, r15b
rol rdi, cl
not rdi
mov qword [rsp + 0x888], rdi
movabs rcx, 0xfa578088653bf7ea
mov qword [rsp + 0x60], rdx
jmp 0x14015b7c6
mov rcx, r10
imul rcx, qword [0x1402b2080]
and rcx, qword [0x1402b2060]
mov rax, r11
mov r11, rcx
xor r11, rax
mov qword [rsp + 0x900], r11
ror r11, 0x34
imul r11, r9
mov qword [rsp + 0x890], r11
mov rdi, rdx
not rdi
imul rdi, rbx
movabs rax, 0x7cd8a7de7435fd40
imul rdi, rax
mov qword [rsp + 0x888], rdi
imul rax, qword [0x1402b2060], 0xfffffffff546cade
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x908], rax
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, r8d
jge 0x14015b791
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0x60]
ror rax, cl
add rax, r9
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x8a0], rax
mov qword [rsp + 0x58], r15
mov rcx, r15
jmp 0x14015b7b6
mov rcx, r15
movabs r8, 0x4b08bf8c85bbd5f1
mov r15d, 0x3f
movabs rax, 0xff055d7b847ef78d
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor rdi, r11
imul rdi, qword [rsi + rcx*8 + 0x2b2060]
not r9
imul r9, r8
imul r9, qword [rsp + 0x60]
imul r9, r10
movabs rax, 0xf5ed7e8783cdbd51
xor rbx, rax
not rbx
xor r9, rbx
sub r9, rdi
mov qword [rsp + 0x910], r9
mov rcx, r9
call fcn.14005f0f0
mov qword [0x1402b3158], rax
xor eax, eax
mov byte [rsp + 0x118], al
lea rcx, [rsp + 0x118]
call fcn.1401355bc
mov dword [rsp + 0x270], r13d
mov dword [rsp + 0x270], 0x803b87e8
mov qword [rsp + 0x918], r13
movabs rax, 0xd46abf9c3a4e9c9d
mov qword [rsp + 0x918], rax
mov qword [rsp + 0x920], r13
movabs rax, 0x2178a1aa9ca52735
mov qword [rsp + 0x920], rax
movabs rcx, 0xf33a52a941f95983
add rcx, qword [rsp + 0x920]
movabs rax, 0x7ed5366252fcd3fd
xor rcx, rax
mov rdi, qword [0x1402b2050]
sub rcx, rdi
mov r11, qword [0x1402b2058]
sub rcx, r11
movabs rax, 0x7120fb80ccd484f5
add rcx, rax
movabs rax, 0xf8f8cda56a995ac7
xor rcx, rax
mov r10, qword [0x1402b2048]
sub rcx, r10
movabs rax, 0x87d654cae77297ec
add rcx, rax
mov rbx, qword [0x1402b2040]
add rcx, rbx
movabs rax, 0x5a9179b6f0c00fef
xor rcx, rax
movabs rax, 0x5f627de05f7975ea
sub rcx, rax
movabs rax, 0x123b3cd8c0a738a5
xor rcx, rax
movabs rdx, 0xb483ce512b98cc53
add rdx, rcx
add rdx, rbx
not rdx
movabs rcx, 0x13cce94aa507e3ba
mov r9, qword [0x1402b2038]
mov rax, r9
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b55af81c45
mov r8, qword [0x1402b2030]
mov rcx, r8
xor rcx, rax
movabs rax, 0xe0b56d5a5482110f
add rax, rdx
add rax, rcx
movabs rcx, 0x3047af615838b922
xor rax, rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x928], rax
mov qword [rsp + 0x920], rax
movabs rcx, 0xf33a52b30933ff03
add rcx, qword [rsp + 0x918]
movabs rax, 0x2455366253069b38
xor rcx, rax
sub rcx, rdi
sub rcx, r11
movabs rax, 0xedf047f50812afc
sub rcx, rax
movabs rax, 0xf8f8cd9b7c41cab1
xor rcx, rax
sub rcx, r10
movabs rax, 0x47d654bda1827c45
add rcx, rax
add rcx, rbx
movabs rax, 0x5a9179abc9812b29
xor rcx, rax
movabs rax, 0x5f627dc5775de93c
sub rcx, rax
movabs rax, 0xe63b3cd3dcbbac10
xor rcx, rax
movabs rdx, 0x3483ce47a8d0c159
add rdx, rcx
add rdx, rbx
not rdx
movabs rcx, 0x13cce94acc24ce50
mov rax, r9
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b533db31af
mov rcx, r8
xor rcx, rax
movabs rax, 0xe0b56d81b8cbc925
add rax, rdx
add rax, rcx
movabs rcx, 0x9513825b071658b0
xor rax, rcx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x930], rax
mov qword [rsp + 0x918], rax
mov eax, dword [rsp + 0x270]
add eax, 0x6b0a
xor eax, 0x5efcc4
sub eax, r11d
sub eax, edi
sub eax, 0x59a5cf6b
xor eax, 0x23ef2e16
sub eax, r10d
add eax, 0xdbe05e62
add eax, ebx
xor eax, 0xd255010e
add eax, 0x6875434c
xor eax, 0xf69269ac
lea ecx, [rbx + 0x1caf2a55]
add ecx, eax
not ecx
xor r9d, 0x2daafee4
sub ecx, r9d
xor r8d, 0xd255011b
lea ebx, [r8 + 0x3543a9d3]
add ebx, ecx
xor ebx, 0x25bbc60c
mov dword [rsp + 0x278], ebx
mov dword [rsp + 0x270], ebx
mov eax, dword [0x1402b3210]
test eax, eax
jne 0x14015bb02
mov rdx, r13
mov qword [rsp + 0x938], rdx
jmp 0x14015bb38
mov dword [rsp + 0xb90], eax
lea rax, [rsp + 0xb80]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x68]
mov rcx, qword [rsp + 0xa0]
call fcn.14021f970
mov rdx, rax
mov qword [rsp + 0x938], rax
movsxd rax, ebx
mov rcx, r13
cmp rdx, rax
setb cl
mov rdx, qword [rsp + 0x60]
and rdx, qword [rsp + 0x58]
mov rax, r13
cmp rcx, rdx
sete al
mov qword [rsp + 0x940], rax
mov qword [rsp + 0x920], r13
mov qword [rsp + 0x918], r13
mov dword [rsp + 0x270], r13d
movabs rax, 0xb5c165ee38d6977
mov qword [rsp + 0x948], rax
movabs r8, 0x498759fe472a7499
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x950], r8
movabs rax, 0x761d3f41f0000000
mov r11, qword [0x1402b2078]
imul r11, rax
movabs rax, 0xcd6c14b030000000
xor r11, rax
mov qword [rsp + 0x958], r11
mov rcx, r11
imul rcx, r8
mov qword [rsp + 0x60], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r11
and r10, r8
imul r10, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0xafd1aceaac1e8c4
imul r10, rax
movabs rax, 0x3649170a381b4910
xor r10, rax
shr r10, 3
mov qword [rsp + 0x960], r10
movabs rax, 0xffffff57c2ad3a2f
mov rcx, r11
imul rcx, rax
add rcx, 0x4108e5c
xor rcx, r10
xor rcx, qword [0x1402b2060]
mov rax, r10
imul rax, qword [0x1402b2070]
movabs rdx, 0xb9de928bcb1e850e
imul rax, rdx
not rax
and rcx, rax
mov qword [rsp + 0x968], rcx
ror rcx, 0x26
shr rcx, 8
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x970], rcx
movabs r9, 0xb678a601b8d58b67
lea rcx, [r11 + r9]
xor rcx, 0xfffffffff5908e03
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x60b4d7470fdb56b8
mov rdi, qword [rsi + rcx*8 + 0x2b2060]
imul rdi, rax
add rdi, r8
movabs rcx, 0xf64fb95d874fd07c
mov rax, r10
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov qword [rsp + 0x978], rdi
mov r8, rdi
xor r8, r11
mov qword [rsp + 0x980], r8
lea rcx, [rdi + r9]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x1f
mov ebx, 0x8000003f
and ecx, ebx
jge 0x14015bd33
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r8, cl
not r8
imul r8, r10
imul r8, r8, 0x4108e5c
add r8, r9
mov qword [rsp + 0x988], r8
mov r9, rdi
imul r9, qword [rsp + 0x58]
sub r9, r8
movabs rdx, 0xb5c165ee38d6977
xor r9, rdx
mov qword [rsp + 0x990], r9
movzx ecx, r8b
mov dword [rsp + 0x68], ecx
and ecx, 0xf
and ecx, ebx
jge 0x14015bd88
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r9, cl
mov rax, r8
sub rax, qword [0x1402b2078]
xor r9, rax
mov rax, r8
movabs rcx, 0x498759fe472a7499
imul rax, rcx
xor r9, rax
xor r9, r10
xor r9, r11
mov qword [rsp + 0x998], r9
mov rax, r9
and rax, r12
je 0x14015c34f
sub rax, 1
je 0x14015c1c2
sub rax, 1
je 0x14015bf22
cmp rax, 1
jne 0x14015c047
mov rcx, r8
imul rcx, rdi
movabs rax, 0xeeea2fccdc613e9
add rax, r9
xor rcx, rax
mov qword [rsp + 0x9a0], rcx
ror rcx, 0x1c
shr rcx, 0xc
xor rcx, r11
not rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x948], rcx
movabs rdx, 0x835729ef8b0c
add rdx, qword [0x1402b2088]
movabs rax, 0xb6fa2379da2120e9
xor rdx, rax
mov qword [rsp + 0x9a8], rdx
movzx eax, cl
movzx ecx, r9b
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9710f67f7
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov qword [rsp + 0x978], rdi
mov rcx, rdi
movabs rax, 0x498759fe472a7499
imul rcx, rax
mov eax, 0xa0d4b51d
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rax, 0x5770e14b009d9a5e
sub rax, qword [rsp + 0x60]
shr rax, cl
mov qword [rsp + 0xa0], rax
movabs rcx, 0x824885250c5d2
add rcx, r8
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r9
mov rcx, qword [rsp + 0x58]
sub rax, rcx
mov rdx, qword [rsp + 0xa0]
xor rdx, rax
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x950], rdx
mov rdx, qword [rsp + 0x60]
jmp 0x14015c04c
lea rdi, [r8 + 1]
movabs rax, 0xffff7e8a86dd7aff
imul rdi, rax
movabs rdx, 0xfff17ca877af7e5f
mov rax, r10
xor rax, rdx
sub rdi, rax
movabs rdx, 0xaaaaaa1aa0cd4823
mov rax, r9
xor rax, rdx
movabs rdx, 0x1206ed62c0946f
imul rax, rdx
add rdi, rax
mov qword [rsp + 0x978], rdi
movabs rax, 0x277cd7be721d9f43
mov rcx, rdi
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rdi
not r8
imul r8, qword [rsi + rcx*8 + 0x2b2060]
xor r8, 0xfffffffff5989ef3
mov qword [rsp + 0x9b0], r8
lea ecx, [r9 - 0x1f]
and cl, r15b
rol r8, cl
movabs rcx, 0x200a50c000000000
mov rax, qword [rsp + 0x60]
xor rax, rcx
movabs rcx, 0x7c7a7dc69c9f9442
and rax, rcx
imul r8, rax
mov qword [rsp + 0x988], r8
mov rcx, r8
ror rcx, 9
not rcx
movabs rax, 0x9b2de6b2f7c47590
imul rcx, rax
mov rax, rdi
sub rax, r8
lea rdx, [rcx + rax*4]
mov qword [rsp + 0x9b8], rdx
movzx ecx, byte [rsp + 0x58]
and ecx, r15d
ror rdx, cl
movabs rax, 0x498759fe472a7499
mov rcx, rdx
imul rcx, rax
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x950], rcx
movabs rdx, 0xb5c165ee38d6977
mov rcx, qword [rsp + 0x58]
movabs rax, 0xff055d7b80bb652f
xor rdx, rax
mov qword [rsp + 0x60], rdx
mov rax, r14
mul rdx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, qword [rsp + 0x60]
sub rdx, rax
xor r11, r10
imul r11, qword [rsi + rdx*8 + 0x2b2060]
not r8
imul r8, rcx
imul r8, qword [rsp + 0xa0]
imul r8, r9
movabs rax, 0xf5ed7e8787082ff3
xor rdi, rax
not rdi
xor r8, rdi
sub r8, r11
mov qword [rsp + 0x9e0], r8
mov rcx, r8
call fcn.14012e668
mov qword [0x1402b3170], rax
mov rcx, qword [rsp + 0x70]
and rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x940]
mov qword [rsp + 0x860], r13
mov qword [rsp + 0x858], r13
mov dword [rsp + 0x260], r13d
mov dword [rsp + 0x250], r13d
cmp rax, rcx
jne 0x14015c1a6
mov dword [rsp + 0x280], r13d
mov dword [rsp + 0x280], 0x34861629
mov eax, dword [rsp + 0x280]
add eax, 0x937f8c32
xor eax, 0x21872584
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x2ddff25d
xor eax, 0xefcd0f4e
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x25c8ee1f
add eax, ecx
xor eax, 0x2bc2fe21
add eax, 0x6a6e0d92
xor eax, 0x2391931c
lea edx, [rcx - 0x5db2bafb]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xce4dfc84
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x31b2037b
add ecx, 0xe4213494
add ecx, edx
xor ecx, 0xe135df6c
mov dword [rsp + 0x288], ecx
mov dword [rsp + 0x280], ecx
mov dword [rsp + 0x280], r13d
xor eax, eax
mov byte [rsp + 0x119], al
lea rcx, [rsp + 0x119]
call fcn.140137ca8
nop
jmp 0x14015c46a
movabs rax, 0xf99465219e4b97eb
imul r9, rax
mov qword [rsp + 0x998], r9
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xb678a601b8d58b66
mov rax, r11
imul rax, rdx
movabs rdx, 0xb5c165ee38d6977
xor rax, rdx
not rax
shl rax, cl
xor r10, rax
mov qword [rsp + 0x9c0], r10
mov eax, dword [rsp + 0x68]
and eax, ebx
jge 0x14015c234
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r10, cl
movabs rcx, 0xb678a601b8d58b67
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x19fe472a7499
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7fc093e0e
or r10, rax
mov qword [rsp + 0x960], r10
mov rcx, qword [0x1402b2070]
movabs rax, 0xb5c165ee38d6977
imul rcx, rax
sub rcx, r8
mov rax, qword [rsp + 0x58]
sub rax, r10
xor rcx, rax
movabs rax, 0xc7a7c6a6ad013e03
xor rcx, rax
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x950], rcx
movabs rax, 0xcccccccccccccccd
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0xa0]
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, qword [rsp + 0xa0]
imul rdx, r8
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, r11
movabs r11, 0x789589462537219
add r11, rax
xor r11, qword [rsp + 0x58]
mov qword [rsp + 0x9c8], r11
movzx eax, dil
imul ecx, eax, 0xe6
and cl, r15b
rol r11, cl
not r11
mov qword [rsp + 0x958], r11
jmp 0x14015c03d
mov rax, r14
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r10
sub rcx, rax
mov rax, r9
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r10
mov qword [rsp + 0x9d0], rdx
movzx ecx, r10b
and ecx, r15d
mov r10, rdx
ror r10, cl
imul r10, r8
mov qword [rsp + 0x960], r10
mov rcx, qword [rsp + 0x58]
not rcx
imul rcx, rdi
movabs rax, 0x7cd8a7de70f06fe2
imul rcx, rax
mov rax, r11
imul rax, r10
mov r11, rcx
xor r11, rax
mov qword [rsp + 0x958], r11
imul rax, qword [0x1402b2060], 0x4108e5c
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x9d8], rax
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x14015c40e
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0xa0]
ror rax, cl
lea rcx, [rax + r8]
mov qword [rsp + 0x970], rcx
movabs rdx, 0xb5c165ee38d6977
movabs rax, 0x498759fe472a7499
mov qword [rsp + 0xa0], rax
jmp 0x14015c04c
mov qword [rsp + 0x9e8], r13
movabs rax, 0x742c870002a67dfe
mov qword [rsp + 0x9e8], rax
mov rax, qword [rsp + 0x9e8]
add rax, 0x6b03
movabs rcx, 0x9055366252fd7bd0
xor rax, rcx
sub rax, qword [0x1402b2050]
sub rax, qword [0x1402b2058]
movabs rcx, 0xedf047f3522f405
sub rax, rcx
movabs rcx, 0xec33204ea9f2fd4f
xor rax, rcx
sub rax, qword [0x1402b2048]
movabs rcx, 0x16468673a51c1553
add rcx, rax
mov rdx, qword [0x1402b2040]
add rcx, rdx
movabs rax, 0xec3316b55858d047
xor rcx, rax
movabs rax, 0x13cce94a1186ed82
sub rcx, rax
movabs rax, 0xffd8662d619e714d
xor rcx, rax
movabs rax, 0x27be20fa72287fc5
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94aa7a72fb2
mov rax, qword [0x1402b2038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b55858d04d
mov rcx, qword [0x1402b2030]
xor rcx, rax
movabs rax, 0x13cc22b54f7f9b07
add rax, rdx
add rax, rcx
movabs rcx, 0xcd3df263d939f88a
xor rax, rcx
mov qword [rsp + 0x9e8], rax
mov rcx, qword [rsp + 0x1430]
mov eax, dword [rax + rcx]
mov qword [rsp + 0x9e8], r13
test eax, eax
je 0x14015cedb
movabs rax, 0xfa593ccd4ce57446
movabs r10, 0x42793fc9ce792297
movabs r11, 0xbd86c0363186dd69
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x70], r10
movabs rax, 0xee14a00000000000
mov rdi, qword [0x1402b2070]
imul rdi, rax
movabs rax, 0x406100000000000
xor rdi, rax
mov rcx, rdi
imul rcx, r10
mov qword [rsp + 0x88], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rdi
and r9, r10
imul r9, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0xb8f92492ed42c34
imul r9, rax
movabs rax, 0xa8145bd3ba95b807
xor r9, rax
shr r9, 3
movabs rax, 0xffffff57dc8c314d
mov rcx, rdi
imul rcx, rax
sub rcx, 0x1453fde2
xor rcx, r9
xor rcx, qword [0x1402b2060]
mov rax, r9
imul rax, qword [0x1402b2070]
movabs rdx, 0xb9de928bd53f8e6c
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0xa
shr rcx, 8
mov qword [rsp + 0x60], rcx
lea rcx, [rdi + r11]
xor rcx, 0xffffffffebb18561
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xc9bb7d8bfc07f548
mov r8, qword [rsi + rcx*8 + 0x2b2060]
imul r8, rax
add r8, r10
movabs rcx, 0x39ee8924777b8528
mov rax, r9
imul rax, rcx
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x58], r8
mov rax, r8
xor rax, rdi
mov qword [rsp + 0x68], rax
lea rcx, [r8 + r11]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x7d
and ecx, ebx
jge 0x14015c713
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, qword [rsp + 0x68]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xffffffffebac021e
mov qword [rsp + 0x78], rax
add r11, rax
mov r10, r8
imul r10, qword [rsp + 0x60]
sub r10, r11
movabs rax, 0xfa593ccd4ce57446
xor r10, rax
movzx ecx, r11b
mov dword [rsp + 0x68], ecx
xor ecx, 2
and ecx, 0xf
and ecx, ebx
jge 0x14015c765
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r10, cl
mov rax, r11
sub rax, qword [0x1402b2078]
xor r10, rax
movabs rax, 0xa5bd6cffeeb3bb2
imul rdx, rax
movabs rax, 0xe83d01abb6a7511
sub rdx, rax
xor r10, rdx
xor r10, r9
xor r10, rdi
mov rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14015cb2e
sub rax, 1
je 0x14015c9de
sub rax, 1
je 0x14015c8dc
cmp rax, 1
jne 0x14015cbee
mov rcx, r11
imul rcx, r8
movabs rax, 0x7e839f07f886df95
add rax, r10
xor rcx, rax
ror rcx, 0x32
shr rcx, 0xc
xor rcx, rdi
not rcx
mov qword [rsp + 0xa0], rcx
movabs rdx, 0x835737ce806a
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0xbd04454e4d537d85
xor r8, rax
mov eax, r10d
imul eax, ecx
and eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or r8, rdx
shl r8, 0xf
movabs rax, 0xf7ca7db96f2e6c95
sub rax, qword [rsp + 0x58]
xor r8, rax
mov rcx, r8
movabs rdx, 0x42793fc9ce792297
imul rcx, rdx
mov eax, 0xbef5be7f
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rax, 0xbd12f81fba298230
sub rax, qword [rsp + 0xa0]
shr rax, cl
mov qword [rsp + 0x70], rax
movabs rcx, 0xbd8ee4be7df8ac1d
add rcx, qword [rsp + 0x78]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r10
sub rax, qword [rsp + 0x60]
xor qword [rsp + 0x70], rax
jmp 0x14015cbee
movabs rax, 0xaaaaaa1abeec4341
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed7ce19f0d
imul rcx, rax
movabs rdx, 0xfff17ca8698e753d
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a98fc719d
mov rdx, qword [rsp + 0x78]
imul rdx, rax
movabs r8, 0x4f802875cbc99402
add r8, rcx
add r8, rdx
movabs rax, 0x277cd7be6c3c9421
mov rcx, r8
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r8
not r11
imul r11, qword [rsi + rcx*8 + 0x2b2060]
xor r11, 0xffffffffebb99591
lea ecx, [r10 + 3]
and cl, r15b
rol r11, cl
movabs rcx, 0xd7e7d37f7d4160df
mov rax, qword [rsp + 0x88]
xor rax, rcx
movabs rcx, 0x7c7a7dc682be9f20
and rax, rcx
imul r11, rax
mov rcx, r11
ror rcx, 0x1a
not rcx
movabs rax, 0x9b2de6b28f405818
imul rcx, rax
mov rax, r8
sub rax, r11
lea rax, [rcx + rax*4]
mov cl, byte [rsp + 0x60]
and cl, r15b
ror rax, cl
movabs rdx, 0x42793fc9ce792297
imul rax, rdx
mov qword [rsp + 0x70], rax
jmp 0x14015cbee
movabs rax, 0x8dd426c6f88d124d
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0xbd86c0363186dd68
mov rax, rdi
imul rax, rdx
movabs rdx, 0xfa593ccd4ce57446
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov eax, dword [rsp + 0x68]
and eax, ebx
jge 0x14015ca40
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r9, cl
movabs rcx, 0xbd86c0363186dd69
add rcx, r10
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffffc9ce792297
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7e228356c
or r9, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0xfa593ccd4ce57446
imul rcx, rax
sub rcx, r11
mov rax, qword [rsp + 0x60]
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6b3203561
xor rcx, rax
mov qword [rsp + 0x70], rcx
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x70]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r11
imul rdx, qword [rsp + 0x70]
shr rdx, cl
mov rax, r8
sub rax, rdx
sub rax, rdi
movabs rdi, 0x78958947c72797b
add rdi, rax
xor rdi, qword [rsp + 0x60]
mov cl, r8b
shl cl, 2
and cl, r15b
rol rdi, cl
not rdi
jmp 0x14015cbee
mov rax, r14
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r9
and r9b, r15b
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r11
mov rcx, qword [rsp + 0x60]
not rcx
imul rcx, r8
movabs rax, 0x7cd8a7de6ed16480
imul rcx, rax
mov rax, r9
imul rax, rdi
mov rdi, rcx
xor rdi, rax
imul rax, qword [0x1402b2060], 0xffffffffebac021e
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0x88], rax
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x14015cbcc
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0x88]
ror rax, cl
movabs rcx, 0xbd86c0363186dd69
add rax, rcx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x60], rax
movabs rax, 0xff055d7b9e9a6e4d
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, rdi
imul r9, qword [rsi + rcx*8 + 0x2b2060]
not r11
imul r11, r10
imul r11, qword [rsp + 0x60]
imul r11, qword [rsp + 0x70]
movabs rcx, 0xf5ed7e8799292491
xor rcx, r8
not rcx
xor rcx, r11
sub rcx, r9
call fcn.14012dff0
mov qword [0x1402b3188], rax
mov dword [rsp + 0x190], r13d
mov dword [rsp + 0x190], 0x692f539f
mov eax, dword [rsp + 0x190]
add eax, 0xf384bfaa
xor eax, 0x54ff8589
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
sub eax, 0x3b401d3d
xor eax, 0xae47c708
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x3f71dec2
add eax, ecx
xor eax, 0xde3d0f6c
sub eax, 0x3d0e9242
xor eax, 0x57cbf937
lea edx, [rcx - 0x7317ca0a]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xafce1152
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x5031eead
add ecx, 0x85b5d6c3
add ecx, edx
xor ecx, 0x530df06a
mov dword [rsp + 0x190], ecx
movsxd rax, ecx
mov r8, qword [rsi + rax*8 + 0x2b3140]
mov dword [rsp + 0x2a8], r13d
mov dword [rsp + 0x2a8], 0xd71a56ae
mov eax, dword [rsp + 0x2a8]
add eax, 0xc045313a
xor eax, 0xc68f5249
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
add eax, 0x1559a16e
xor eax, 0xa25453b2
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x8d02a49b
add eax, ecx
xor eax, 0xd8b18de4
add eax, 0x75529fa4
xor eax, 0xe4ed5a6b
mov edx, dword [0x1402b2030]
xor edx, 0x10feece7
sub edx, eax
mov eax, dword [0x1402b2038]
xor eax, 0xef011318
sub edx, eax
sub edx, ecx
add edx, 0x48eb97c8
xor edx, 0x19625aa8
mov dword [rsp + 0x2a8], edx
movsxd rax, edx
mov r9, qword [rsp + 0x1430]
mov dword [rax + r9], r8d
mov dword [rsp + 0x2a8], r13d
mov dword [rsp + 0x190], r13d
mov qword [rsp + 0x9e8], r13
movabs rax, 0x742c870002a67dfe
mov qword [rsp + 0x9e8], rax
mov rax, qword [rsp + 0x9e8]
add rax, 0x6b03
movabs rcx, 0x9055366252fd7bd0
xor rax, rcx
sub rax, qword [0x1402b2050]
sub rax, qword [0x1402b2058]
movabs rcx, 0xedf047f3522f405
sub rax, rcx
movabs rcx, 0xec33204ea9f2fd4f
xor rax, rcx
sub rax, qword [0x1402b2048]
movabs rcx, 0x16468673a51c1553
add rcx, rax
mov rdx, qword [0x1402b2040]
add rcx, rdx
movabs rax, 0xec3316b55858d047
xor rcx, rax
movabs rax, 0x13cce94a1186ed82
sub rcx, rax
movabs rax, 0xffd8662d619e714d
xor rcx, rax
movabs rax, 0x27be20fa72287fc5
add rax, rcx
add rdx, rax
not rdx
mov rax, qword [0x1402b2038]
movabs rcx, 0x13cce94aa7a72fb2
xor rax, rcx
sub rdx, rax
mov rcx, qword [0x1402b2030]
movabs rax, 0xec3316b55858d04d
xor rcx, rax
movabs rax, 0x13cc22b54f7f9b07
add rax, rdx
add rax, rcx
movabs rcx, 0xcd3df263d939f88a
xor rax, rcx
mov qword [rsp + 0x9e8], rax
mov eax, dword [rax + r9]
mov qword [rsp + 0x9e8], r13
test eax, eax
movabs rax, 0xfa593ccd4ce57446
movabs r10, 0x42793fc9ce792297
movabs r11, 0xbd86c0363186dd69
jne 0x14015c5a8
mov qword [rsp + 0x300], r13
movabs rax, 0xc87449b063605518
mov qword [rsp + 0xa0], rax
movabs r10, 0x57bdd3e4a997f88d
mov qword [rsp + 0x70], r10
movabs rax, 0x61e3800000000000
mov r8, qword [0x1402b2070]
imul r8, rax
movabs rax, 0x799ab00000000000
xor r8, rax
mov qword [rsp + 0x88], r8
mov rcx, r8
imul rcx, r10
mov qword [rsp + 0x60], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r8
and r9, r10
imul r9, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0x71915a4090e107e0
imul r9, rax
shr r9, 3
movabs rax, 0xa31880efc3bed54f
xor r9, rax
movabs rax, 0xffffff57dcbbe887
mov rcx, r8
imul rcx, rax
add rcx, 0xbc686d4
xor rcx, r9
xor rcx, qword [0x1402b2060]
mov rax, r9
imul rax, qword [0x1402b2070]
movabs rdx, 0xb9de928bd50857a6
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x1a
shr rcx, 8
mov qword [rsp + 0x58], rcx
movabs r11, 0xa8422c1b56680773
lea rcx, [r8 + r11]
xor rcx, 0xffffffffeb865cab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xa7fddd87ddf3d988
mov rdi, qword [rsi + rcx*8 + 0x2b2060]
imul rdi, rax
add rdi, r10
movabs rcx, 0x6aecf72c5e9878e0
mov rax, r9
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov rax, rdi
xor rax, r8
mov qword [rsp + 0x68], rax
lea rcx, [rdi + r11]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xb7
and ecx, ebx
jge 0x14015d06f
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, qword [rsp + 0x68]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xbc686d4
mov qword [rsp + 0x78], rax
add r11, rax
mov r10, rdi
imul r10, qword [rsp + 0x58]
sub r10, r11
movabs rax, 0xc87449b063605518
xor r10, rax
movzx ecx, r11b
mov dword [rsp + 0x68], ecx
xor cl, 0xf8
and cl, 0xf
rol r10, cl
movabs rax, 0xbc41dd5a4a01a2c4
imul rdx, rax
movabs rax, 0x1f08d676ae588257
add rdx, rax
xor r10, rdx
mov rax, r11
sub rax, qword [0x1402b2078]
xor r10, rax
xor r10, r9
xor r10, r8
mov rax, r10
and rax, r12
je 0x14015d475
sub rax, 1
je 0x14015d330
sub rax, 1
je 0x14015d231
cmp rax, 1
jne 0x14015d535
mov rcx, r11
imul rcx, rdi
movabs rax, 0x25a40fcba9c96fa5
add rax, r10
xor rcx, rax
ror rcx, 0x20
shr rcx, 0xc
xor rcx, r8
not rcx
mov qword [rsp + 0xa0], rcx
movabs rdx, 0x835737f959a4
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0xa8c0a9632a8a7e55
xor r8, rax
mov eax, r10d
imul eax, ecx
and eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db96f19b55f
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov rcx, rdi
movabs rax, 0x57bdd3e4a997f88d
imul rcx, rax
mov eax, 0xbec267b5
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs r8, 0x8932d628137a894a
sub r8, qword [rsp + 0xa0]
shr r8, cl
movabs rax, 0xa84a50a3a2ae1eed
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r10
sub rax, qword [rsp + 0x58]
xor r8, rax
mov qword [rsp + 0x70], r8
mov r8, qword [rsp + 0x88]
jmp 0x14015d535
movabs rax, 0xaaaaaa1abedb9a8b
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed7cd646c7
imul rcx, rax
movabs rdx, 0xfff17ca869b9acf7
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a98cba857
mov rdx, qword [rsp + 0x78]
imul rdx, rax
movabs rdi, 0x90b553716b3aa86c
add rdi, rcx
add rdi, rdx
movabs rax, 0x277cd7be6c0b4deb
mov rcx, rdi
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, rdi
not r11
imul r11, qword [rsi + rcx*8 + 0x2b2060]
xor r11, 0xffffffffeb8e4c5b
lea ecx, [r10 + 9]
and cl, r15b
rol r11, cl
movabs rcx, 0xf397f77dfd76b915
mov rax, qword [rsp + 0x60]
xor rax, rcx
movabs rcx, 0x7c7a7dc6828946ea
and rax, rcx
imul r11, rax
mov rcx, r11
ror rcx, 0xe
not rcx
movabs rax, 0x9b2de6b28f9f3f30
imul rcx, rax
mov rax, rdi
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x58]
and cl, r15b
ror rdx, cl
movabs rax, 0x57bdd3e4a997f88d
imul rdx, rax
mov qword [rsp + 0x70], rdx
jmp 0x14015d535
movabs rax, 0x1fbf6ad486234a11
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0xa8422c1b56680772
mov rax, r8
imul rax, rdx
movabs rdx, 0xc87449b063605518
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov ecx, dword [rsp + 0x68]
and cl, r15b
rol r9, cl
movabs rcx, 0xa8422c1b56680773
add rcx, r10
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x13e4a997f88d
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7e21feca6
or r9, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0xc87449b063605518
imul rcx, rax
sub rcx, r11
mov rax, qword [rsp + 0x58]
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6b317ecab
xor rcx, rax
mov qword [rsp + 0x70], rcx
movabs rax, 0xcccccccccccccccd
mul r8
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r8
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x70]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r11
imul rdx, qword [rsp + 0x70]
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, r8
movabs r8, 0x78958947c45a0b1
add r8, rax
xor r8, qword [rsp + 0x58]
movzx eax, dil
imul ecx, eax, 0xe
and cl, r15b
rol r8, cl
not r8
jmp 0x14015d535
mov rax, r14
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r9
and r9b, r15b
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r11
mov rcx, qword [rsp + 0x58]
not rcx
imul rcx, rdi
movabs rax, 0x7cd8a7de6ee6bd4a
imul rcx, rax
mov rax, r9
imul rax, r8
mov r8, rcx
xor r8, rax
imul rax, qword [0x1402b2060], 0xbc686d4
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0x88], rax
mov al, r8b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x14015d513
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0x88]
ror rax, cl
movabs rcx, 0xa8422c1b56680773
add rax, rcx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
movabs rax, 0xff055d7b9eadb787
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, r8
imul r9, qword [rsi + rcx*8 + 0x2b2060]
not r11
imul r11, r10
imul r11, qword [rsp + 0x58]
imul r11, qword [rsp + 0x70]
movabs rcx, 0xf5ed7e87991efd5b
xor rcx, rdi
not rcx
xor rcx, r11
sub rcx, r9
call fcn.14012dc24
mov qword [0x1402b3148], rax
mov dword [rsp + 0x2b0], r13d
mov dword [rsp + 0x2b0], 0x33d856d2
mov eax, dword [rsp + 0x2b0]
add eax, 0xf9dd45ba
xor eax, 0xdb0f8be1
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
sub eax, 0x6b5326cf
xor eax, 0x67d5dee0
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x7ed4b4c7
add eax, ecx
xor eax, 0x97001682
sub eax, 0x7b7013ae
xor eax, 0x241f836b
mov edx, dword [0x1402b2030]
xor edx, 0x10188c95
sub edx, eax
mov eax, dword [0x1402b2038]
xor eax, 0xefe7736a
sub edx, eax
sub edx, ecx
sub edx, 0x178a8a76
xor edx, 0xa6c424b2
mov dword [rsp + 0x2b0], edx
movsxd rax, edx
and qword [0x1402b31d8], rax
mov dword [rsp + 0x2b0], r13d
movabs rax, 0xf67c4c59ccab083b
mov qword [rsp + 0xa0], rax
movabs rax, 0xb2c3d36ffa000000
movabs r8, 0x1eb9b304d483ea4e
mov rdi, qword [0x1402b2070]
imul rdi, rax
movabs rax, 0xdcc0b50279000000
xor rdi, rax
mov rcx, rdi
imul rcx, r8
mov qword [rsp + 0x70], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rdi
and r9, r8
imul r9, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0xe7afd71958f7dbc2
imul r9, rax
shr r9, 3
movabs rax, 0xe7b9e6d9aa880165
xor r9, rax
movabs rax, 0xffffff57d4d97355
mov rcx, rdi
imul rcx, rax
sub rcx, 0xc3946da
xor rcx, r9
xor rcx, qword [0x1402b2060]
mov rax, r9
imul rax, qword [0x1402b2070]
movabs rdx, 0xb9de928bdd6acc74
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0xb
shr rcx, 8
mov qword [rsp + 0x88], rcx
movabs r11, 0xe1464cfb2b7c15b2
lea rcx, [rdi + r11]
xor rcx, 0xffffffffe3e4c779
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x8729998a61a63f58
mov r10, qword [rsi + rcx*8 + 0x2b2060]
imul r10, rax
add r10, r8
movabs rcx, 0x34ac62cb0f4dbfe8
mov rax, r9
imul rax, rcx
xor r10, rax
shr r10, 0x1f
not r10
mov qword [rsp + 0x60], r10
mov rax, r10
xor rax, rdi
mov qword [rsp + 0x58], rax
lea rcx, [r10 + r11]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x65
and ecx, ebx
jge 0x14015d7c2
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, qword [rsp + 0x58]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xfffffffff3c6b926
mov qword [rsp + 0x58], rax
add r11, rax
imul r10, qword [rsp + 0x88]
sub r10, r11
movabs rax, 0xf67c4c59ccab083b
xor r10, rax
movzx ecx, r11b
mov dword [rsp + 0x68], ecx
xor cl, 0xfa
and cl, 0xf
rol r10, cl
mov rax, r11
sub rax, qword [0x1402b2078]
xor r10, rax
movabs rax, 0xf8e0bb6c223b2594
imul rdx, rax
movabs rax, 0x4510d9852db9503c
add rdx, rax
xor r10, rdx
xor r10, r9
xor r10, rdi
mov rax, r10
not rax
and eax, 2
je 0x14015dbb3
sub rax, 1
je 0x14015da77
sub rax, 1
je 0x14015d97e
cmp rax, 1
jne 0x14015dc75
mov rcx, r11
imul rcx, qword [rsp + 0x60]
movabs rax, 0xd30f6ed790e9fe1a
add rax, r10
xor rcx, rax
ror rcx, 0x32
shr rcx, 0xc
xor rcx, rdi
not rcx
mov qword [rsp + 0xa0], rcx
movabs rdx, 0x83573f9bc272
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0xe1c4c9835ffcf744
xor r8, rax
mov eax, r10d
imul eax, ecx
and eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rbx, r8
shl rbx, cl
mov ecx, eax
shr r8, cl
or rbx, r8
shl rbx, 0xf
movabs rax, 0xf7ca7db9677b2e8d
sub rax, qword [rsp + 0x60]
xor rbx, rax
mov rcx, rbx
movabs rax, 0x1eb9b304d483ea4e
imul rcx, rax
mov eax, 0xb6a0fc67
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs r8, 0x31a8dbb756323d13
sub r8, qword [rsp + 0xa0]
shr r8, cl
movabs rax, 0xe14e71836fa0a25e
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r10
sub rax, qword [rsp + 0x88]
xor r8, rax
jmp 0x14015dc7a
movabs rax, 0xaaaaaa1ab6b90159
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed74b4dd15
imul rcx, rax
movabs rdx, 0xfff17ca861db3725
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a90a93385
mov rdx, qword [rsp + 0x58]
imul rdx, rax
movabs rbx, 0x930055c452f4eeff
add rbx, rcx
add rbx, rdx
movabs rax, 0x277cd7be6469d639
mov rcx, rbx
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, rbx
not r11
imul r11, qword [rsi + rcx*8 + 0x2b2060]
xor r11, 0xffffffffe3ecd789
lea ecx, [r10 + 0x1b]
and cl, r15b
rol r11, cl
movabs rcx, 0xc7ef9ef9f51422c7
mov rax, qword [rsp + 0x70]
xor rax, rcx
movabs rcx, 0x7c7a7dc68aebdd38
and rax, rcx
imul r11, rax
mov rcx, r11
ror rcx, 0x3f
not rcx
movabs rax, 0x9b2de6b2ae155078
imul rcx, rax
mov rax, rbx
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x88]
and cl, r15b
ror rdx, cl
mov rax, r8
mov r8, rdx
imul r8, rax
jmp 0x14015dc7a
movabs rax, 0x375b91e06f9c6844
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0xe1464cfb2b7c15b1
mov rax, rdi
imul rax, rdx
movabs rbx, 0xf67c4c59ccab083b
xor rax, rbx
not rax
shl rax, cl
xor r9, rax
mov ecx, dword [rsp + 0x68]
and cl, r15b
rol r9, cl
movabs rcx, 0xe1464cfb2b7c15b2
add rcx, r10
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff304d483ea4e
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7ea7d7774
or r9, rax
mov r8, qword [0x1402b2070]
imul r8, rbx
sub r8, r11
mov rax, qword [rsp + 0x88]
sub rax, r9
xor r8, rax
movabs rax, 0xc7a7c6a6bb757779
xor r8, rax
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, r8
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r11
imul rdx, r8
shr rdx, cl
mov rbx, qword [rsp + 0x60]
mov rax, rbx
sub rax, rdx
sub rax, rdi
movabs rdi, 0x789589474273b63
add rdi, rax
xor rdi, qword [rsp + 0x88]
movzx eax, bl
imul ecx, eax, 0x1c
and cl, r15b
rol rdi, cl
not rdi
jmp 0x14015dc7a
mov rax, r14
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r9
and r9b, r15b
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r11
mov rcx, qword [rsp + 0x88]
not rcx
imul rcx, qword [rsp + 0x60]
movabs rax, 0x7cd8a7de66842698
imul rcx, rax
mov rax, r9
imul rax, rdi
mov rdi, rcx
xor rdi, rax
imul rax, qword [0x1402b2060], 0xfffffffff3c6b926
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0x70], rax
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, ebx
jge 0x14015dc53
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0x70]
ror rax, cl
movabs rcx, 0xe1464cfb2b7c15b2
add rax, rcx
add rax, qword [rsp + 0x58]
mov qword [rsp + 0x88], rax
mov rbx, qword [rsp + 0x60]
movabs rax, 0xff055d7b96cf2c55
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, rdi
imul r9, qword [rsi + rcx*8 + 0x2b2060]
not r11
imul r11, r10
imul r11, qword [rsp + 0x88]
imul r11, r8
movabs rcx, 0xf5ed7e87917c6689
xor rcx, rbx
not rcx
xor rcx, r11
sub rcx, r9
call fcn.14012e6f8
mov qword [0x1402b3140], rax
mov qword [rsp + 0x9f0], r13
movabs rax, 0xd5049f7a7325099b
mov qword [rsp + 0x9f0], rax
mov qword [rsp + 0x9f8], r13
movabs rax, 0xaed0e81d8d151612
mov qword [rsp + 0x9f8], rax
movabs rcx, 0xf33a52b3ee8ce603
add rcx, qword [rsp + 0x9f8]
movabs rax, 0xb55366253078091
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0xedf047f533135b1
sub rcx, rax
movabs rax, 0xf8f8cd9a93538015
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0xc7d654bc6a304eb4
add rcx, rax
mov rdi, qword [0x1402b2040]
add rcx, rdi
movabs rax, 0x5a9179aac3e7c3ad
xor rcx, rax
movabs rax, 0x5f627dc75e00d500
sub rcx, rax
movabs rax, 0xae3b3cd36a080dc9
xor rcx, rax
movabs rdx, 0x3483ce46c9bd48aa
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94acfba31ec
mov r10, qword [0x1402b2038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b53045ce13
mov r11, qword [0x1402b2030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d855182d0c1
add rdx, rax
add rdx, rcx
movabs rax, 0xa4fffe1cf3999c84
xor rdx, rax
mov qword [rsp + 0x9f8], rdx
movabs rcx, 0xf33a52bbf0483183
add rcx, qword [rsp + 0x9f0]
movabs rax, 0x56d53662530f824c
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0x7120fb8094c9986d
add rcx, rax
movabs rax, 0xf8f8cd9271914767
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x87d654b18bd691b8
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a1a1ee218f
xor rcx, rax
movabs rax, 0x5f627dbd7deb2c0a
sub rcx, rax
movabs rax, 0x523b3ccf68ea5a2e
xor rcx, rax
movabs rax, 0xb483ce3f000e1c3b
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94aefc11f1a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5103ee0e5
xor r11, rax
movabs rax, 0xe0b56da5b878a46f
add rcx, rax
add rcx, r11
movabs rax, 0x77f59dea9b439242
xor rcx, rax
mov qword [rsp + 0x9f0], rcx
and rcx, rdx
mov rax, r13
cmp qword [0x1402b3208], rcx
sete al
mov qword [0x1402b3208], rax
mov qword [rsp + 0x9f8], r13
mov qword [rsp + 0x9f0], r13
movabs rax, 0x6937fe0e73241c8
mov qword [rsp + 0xa0], rax
movabs rax, 0xcb44c417ef20dbef
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x88], r13
movabs rax, 0x79257a40d4ff42e4
movabs r11, 0x1d68d62eabe01bd9
mov rcx, qword [0x1402b2070]
imul rcx, rax
not rcx
movabs r8, 0x1d68d62ea8571dd3
mov rax, qword [0x1402b2060]
xor rax, r8
and rcx, rax
ror rcx, 0x1a
shr rcx, 8
mov qword [rsp + 0x60], rcx
movabs rax, 0xf90d8f656ed4208
mov r8, qword [0x1402b2060]
imul r8, rax
movabs r9, 0x34bb3be810df2411
sub r8, r9
movabs rax, 0x3cbca2cd80000000
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x58], r8
lea rcx, [r8 + r9]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x95
mov edi, 0x8000003f
and ecx, edi
mov ebx, 0xffffffc0
jge 0x14015dfff
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rdx, r8
ror rdx, cl
not rdx
movabs rcx, 0x427df3616a872c7a
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x78], rax
add r9, rax
mov r10, r8
imul r10, qword [rsp + 0x60]
sub r10, r9
movabs rax, 0x6937fe0e73241c8
xor r10, rax
movzx ecx, r9b
mov dword [rsp + 0x68], ecx
xor cl, 0xfa
and cl, 0xf
rol r10, cl
mov rax, r9
sub rax, qword [0x1402b2078]
xor r10, rax
movabs rax, 0xd00678758c7ee3e6
imul rdx, rax
movabs rax, 0x903dbd1fab2c921
sub rdx, rax
xor r10, rdx
xor r10, r11
mov rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14015e39c
sub rax, 1
je 0x14015e293
sub rax, 1
je 0x14015e1bc
cmp rax, 1
jne 0x14015e430
mov rcx, r9
imul rcx, r8
movabs rax, 0x34e294925ab13cf5
add rax, r10
xor rcx, rax
ror rcx, 0x22
shr rcx, 0xc
not rcx
mov qword [rsp + 0xa0], rcx
movabs rdx, 0x83572f4bb182
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x3439be90748fb515
xor r8, rax
mov eax, r10d
imul eax, ecx
and eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or r8, rdx
shl r8, 0xf
movabs rax, 0xf7ca7db977ab5d7d
sub rax, qword [rsp + 0x58]
xor r8, rax
mov rcx, r8
movabs rax, 0xcb44c417ef20dbef
imul rcx, rax
mov eax, 0xa6708f97
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rax, 0xacc1d41ce8bc69b8
sub rax, qword [rsp + 0xa0]
shr rax, cl
mov qword [rsp + 0x70], rax
movabs rdx, 0x34c3607065d4236d
mov rcx, qword [rsp + 0x78]
add rcx, rdx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r10
sub rax, qword [rsp + 0x60]
xor qword [rsp + 0x70], rax
jmp 0x14015e430
movabs rcx, 0xaaaaaa1aa66972a9
mov r8, r10
xor r8, rcx
movabs rcx, 0x1206ed6464aee5
imul r8, rcx
movabs rdx, 0xffff7e8a80794075
mov rcx, qword [rsp + 0x78]
imul rcx, rdx
movabs rdx, 0x270a93f5b0969d2e
add r8, rdx
add r8, rcx
movabs rax, 0x277cd7be74b9a5c9
mov rcx, r8
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r8
not r9
imul r9, qword [rsi + rcx*8 + 0x2b2060]
xor r9, 0xfffffffff33ca479
lea ecx, [r10 - 0x15]
and cl, r15b
rol r9, cl
movabs rax, 0x601835c680000000
imul r9, rax
mov rcx, r9
ror rcx, 0x3c
not rcx
movabs rax, 0x9b2de6b2ed549fb8
imul rcx, rax
mov rax, r8
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x60]
and cl, r15b
ror rdx, cl
movabs rax, 0xcb44c417ef20dbef
imul rdx, rax
mov qword [rsp + 0x70], rdx
jmp 0x14015e430
movabs rax, 0x58db50c890211ad9
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0xf96c801f18cdbe37
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov ecx, dword [rsp + 0x68]
and cl, r15b
rol r11, cl
movabs rcx, 0x34bb3be810df2411
add rcx, r10
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x417ef20dbef
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7faad0484
or r11, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0x6937fe0e73241c8
imul rcx, rax
sub rcx, r9
mov rax, qword [rsp + 0x60]
sub rax, r11
xor rcx, rax
movabs rax, 0xc7a7c6a6aba50489
xor rcx, rax
mov qword [rsp + 0x70], rcx
mov rax, r10
imul rax, r9
imul rax, rcx
mov rdx, r8
sub rdx, rax
movabs rax, 0x789589464f74893
add rdx, rax
xor rdx, qword [rsp + 0x60]
movzx eax, r8b
imul ecx, eax, 0xec
and cl, r15b
rol rdx, cl
not rdx
mov qword [rsp + 0x88], rdx
jmp 0x14015e430
mov rcx, r10
imul rcx, qword [0x1402b2080]
and rcx, qword [0x1402b2078]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x19
imul r11, r9
mov rax, qword [rsp + 0x60]
not rax
imul rax, r8
movabs rcx, 0x7cd8a7de76545568
imul rax, rcx
mov qword [rsp + 0x88], rax
imul rcx, qword [0x1402b2060], 0x3b7060a
mov rdx, qword [0x1402b2068]
sub rcx, rdx
mov qword [rsp + 0x60], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x14015e411
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rax, qword [rsp + 0x60]
ror rax, cl
movabs rcx, 0x34bb3be810df2411
add rax, rcx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x60], rax
movabs rax, 0xff055d7b861f5fa5
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, qword [rsp + 0x88]
imul r11, qword [rsi + rcx*8 + 0x2b2060]
not r9
imul r9, r10
imul r9, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
imul rcx, r9
movabs rax, 0xf5ed7e8781ac1579
xor r8, rax
not r8
xor rcx, r8
sub rcx, r11
call fcn.14012de1c
mov qword [0x1402b3198], rax
mov r11d, r13d
mov dword [rsp + 0x68], r13d
mov edi, 0x69818856
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r11d, r11d
je 0x14015e527
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rcx, [r9 + rcx*2]
mov r10d, 0xf3575bd6
cmp r9, rcx
je 0x14015e51e
mov rsi, rcx
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, rsi
jne 0x14015e4f3
cmp r10d, r11d
jne 0x14015e60e
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edx, ecx
add rdx, r11
mov qword [rsp + 0xa0], rdx
shr rcx, 0x20
cmp rdx, r11
je 0x14015e609
mov r8d, dword [rdx + 0x18]
test r8d, r8d
je 0x14015e609
mov r9d, dword [rdx + 0x20]
mov qword [rsp + 0x70], r9
dec r8d
mov dword [rsp + 0x78], r8d
mov esi, r8d
lea rdx, [r11 + r8*4]
mov edx, dword [rdx + r9]
add rdx, r11
mov r9d, 0xf3575bd6
mov r10b, byte [rdx]
add rdx, r12
mov qword [rsp + 0x88], rdx
mov dl, r10b
test r10b, r10b
mov r10d, 0x4764996c
je 0x14015e5f6
mov r11, qword [rsp + 0x88]
mov r14d, r9d
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, r14d
xor edx, r8d
mov r14d, r9d
imul r14d, edx
mov dl, byte [r11]
add r11, r12
test dl, dl
jne 0x14015e5aa
mov dword [rsp + 0x98], r14d
movabs r14, 0xaaaaaaaaaaaaaaab
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x98]
cmp r9d, edi
je 0x14015e616
test r8d, r8d
mov r9, qword [rsp + 0x70]
jne 0x14015e567
mov r11d, dword [rsp + 0x68]
mov rax, qword [rax]
jmp 0x14015e4c0
mov r8, qword [rsp + 0xa0]
mov edx, dword [r8 + 0x1c]
add rdx, r11
mov eax, dword [r8 + 0x24]
add rax, r11
movzx eax, word [rax + rsi*2]
mov r9d, dword [rdx + rax*4]
add r9, r11
cmp r9, r8
jbe 0x14015e6e0
lea rax, [r8 + rcx]
cmp r9, rax
jae 0x14015e6e0
mov r11d, 0xf3575bd6
mov dword [rsp + 0x68], r11d
mov edi, r11d
mov al, byte [r9]
cmp al, 0x2e
je 0x14015e68b
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r9, r12
mov al, byte [r9]
cmp al, 0x2e
jne 0x14015e662
mov dword [rsp + 0x68], r11d
add r9, r12
mov al, byte [r9]
test al, al
je 0x14015e6ca
mov r11d, edi
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r9, r12
mov al, byte [r9]
test al, al
jne 0x14015e698
mov dword [rsp + 0x78], r11d
mov r11d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x78]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14015e60e
mov dword [rsp + 0x198], r13d
mov dword [rsp + 0x198], 0x785b68a9
mov eax, dword [rsp + 0x198]
add eax, 0xee04d9ba
xor eax, 0x6f0f8009
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
sub eax, 0x6b2f9d8b
xor eax, 0x73ddac90
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x8ee8fb61
add eax, ecx
xor eax, 0xa482f1b2
sub eax, 0x7e247fde
xor eax, 0x8a0c182e
mov edx, dword [0x1402b2030]
xor edx, 0x1047ee45
sub edx, eax
mov eax, dword [0x1402b2038]
xor eax, 0xefb811ba
sub edx, eax
sub edx, ecx
sub edx, 0x52e15cb2
xor edx, 0x47adb322
mov dword [rsp + 0x198], edx
movsxd rax, edx
lea rsi, [0x140000000]
mov rcx, qword [rsi + rax*8 + 0x2b3140]
mov eax, dword [rsp + 0x1440]
xor rcx, rax
xor rcx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x1430]
lea rdx, [0x1402b3208]
call r9
nop
mov dword [rsp + 0x198], r13d
movabs rax, 0xdc6ec82800000000
mov r10, qword [0x1402b2080]
imul r10, rax
movabs rax, 0xc804a90300000000
xor r10, rax
mov qword [rsp + 0xa0], r10
movabs r9, 0xb0dc8815600a7a98
mov rcx, r10
imul rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r10
and r8, r9
imul r8, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0xc85eb2909edc0984
imul r8, rax
shr r8, 3
movabs rax, 0xdf101f9da7bd7f3e
xor r8, rax
movabs rax, 0xffffff57dc68d82f
mov r9, r10
imul r9, rax
sub r9, 0x15aa3ba4
xor r9, r8
xor r9, qword [0x1402b2060]
mov rax, r8
imul rax, qword [0x1402b2070]
movabs rcx, 0xb9de928bd5db670e
imul rax, rcx
not rax
and r9, rax
ror r9, 0x27
shr r9, 8
movabs rdi, 0x4f2377ea9ff58568
lea rcx, [r10 + rdi]
xor rcx, 0xffffffffeb556c03
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x45e2902cbacddab8
mov r11, qword [rsi + rcx*8 + 0x2b2060]
imul r11, rax
sub r11, rdi
movabs rcx, 0x9bf3ab5b71bb20a0
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, r10
mov qword [rsp + 0x70], rax
lea rcx, [r11 + rdi]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x1f
mov edi, 0x8000003f
and ecx, edi
jge 0x14015e918
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rdx, qword [rsp + 0x70]
ror rdx, cl
not rdx
imul rdx, r8
imul rax, rdx, 0xffffffffea55c45c
mov qword [rsp + 0x70], rax
movabs rcx, 0x4f2377ea9ff58568
add rax, rcx
mov r10, r11
imul r10, r9
sub r10, rax
movabs rcx, 0xf50eabcc54b5a347
xor r10, rcx
movzx ecx, al
and ecx, 0xf
and ecx, edi
jge 0x14015e969
sub ecx, r12d
or ecx, ebx
add ecx, r12d
rol r10, cl
sub rax, qword [0x1402b2078]
xor r10, rax
movabs rax, 0xc04942282e186ea0
imul rdx, rax
movabs rax, 0x42be86b0316ac5c0
add rdx, rax
xor r10, rdx
xor r10, r8
xor r10, qword [rsp + 0xa0]
mov rax, r14
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, r8
sub rdx, rax
mov rax, r10
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rdx*8 + 0x2b2060]
and rdx, rax
xor rdx, r8
and r8b, r15b
mov cl, r8b
ror rdx, cl
mov rax, qword [rsp + 0x70]
movabs r8, 0x4f2377ea9ff58568
add rax, r8
imul rdx, rax
mov qword [rsp + 0x80], rdx
not r9
imul r9, r11
movabs rax, 0x7cd8a7de6e358de2
imul r9, rax
mov rax, rdx
imul rax, qword [rsp + 0xa0]
xor r9, rax
imul r8, qword [0x1402b2060], 0xffffffffea55c45c
mov rdx, qword [0x1402b2068]
sub r8, rdx
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x14015ea48
sub ecx, r12d
or ecx, ebx
add ecx, r12d
ror r8, cl
add r8, qword [rsp + 0x70]
movabs rax, 0xb0dc8815600a7a98
imul r8, rax
movabs rax, 0x42be86b0316ac5c0
add r8, rax
movabs rax, 0xb0dc8815600a7a97
sub rax, qword [rsp + 0x70]
imul r8, rax
imul r8, r10
movabs rcx, 0xf5ed7e8799cdcdf3
xor rcx, r11
not rcx
xor rcx, r8
mov rax, qword [rsp + 0x80]
xor rax, r9
imul rax, qword [0x1402b2070]
sub rcx, rax
call fcn.14012e740
mov qword [0x1402b3198], rax
mov r9d, r13d
mov dword [rsp + 0x68], r13d
mov dword [rsp + 0x78], 0x2ddca9d4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r9d, r9d
je 0x14015eb3f
psrldq xmm0, 8
movq r10, xmm0
movzx ecx, cx
shr rcx, 1
lea rcx, [r10 + rcx*2]
mov r11d, 0x79fb366e
cmp r10, rcx
je 0x14015eb36
mov rsi, rcx
movsx edx, byte [r10]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r11d
xor ecx, edx
mov r11d, r8d
imul r11d, ecx
add r10, 2
cmp r10, rsi
jne 0x14015eb0b
cmp r11d, r9d
jne 0x14015ece3
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edx, ecx
add rdx, r11
mov qword [rsp + 0xa0], rdx
shr rcx, 0x20
cmp rdx, r11
je 0x14015ece3
mov r8d, dword [rdx + 0x18]
test r8d, r8d
je 0x14015ece3
mov r9d, dword [rdx + 0x20]
mov qword [rsp + 0x70], r9
dec r8d
mov dword [rsp + 0x98], r8d
mov esi, r8d
lea rdx, [r11 + r8*4]
mov edx, dword [rdx + r9]
add rdx, r11
mov r9d, 0x79fb366e
mov r10b, byte [rdx]
add rdx, r12
mov qword [rsp + 0x80], rdx
mov dl, r10b
test r10b, r10b
mov r10d, 0x4764996c
je 0x14015ec06
mov r11, qword [rsp + 0x80]
mov edi, r9d
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, edi
xor edx, r8d
mov edi, r9d
imul edi, edx
mov dl, byte [r11]
add r11, r12
test dl, dl
jne 0x14015ebc5
mov dword [rsp + 0x58], edi
mov edi, 0x8000003f
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x98]
mov r9d, dword [rsp + 0x58]
cmp r9d, dword [rsp + 0x78]
je 0x14015ec25
test r8d, r8d
mov r9, qword [rsp + 0x70]
jne 0x14015eb7f
mov r9d, dword [rsp + 0x68]
jmp 0x14015ece3
mov r9, qword [rsp + 0xa0]
mov edx, dword [r9 + 0x1c]
add rdx, r11
mov eax, dword [r9 + 0x24]
add rax, r11
movzx eax, word [rax + rsi*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, r9
jbe 0x14015eceb
lea rax, [rcx + r9]
cmp r8, rax
jae 0x14015eceb
mov r9d, 0x79fb366e
mov dword [rsp + 0x68], r9d
mov r11d, r9d
mov dword [rsp + 0x78], r9d
mov al, byte [r8]
cmp al, 0x2e
je 0x14015ec9f
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r9d
xor eax, ecx
mov r9d, edx
imul r9d, eax
add r8, r12
mov al, byte [r8]
cmp al, 0x2e
jne 0x14015ec76
mov dword [rsp + 0x68], r9d
add r8, r12
mov al, byte [r8]
test al, al
je 0x14015ecd2
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r8, r12
mov al, byte [r8]
test al, al
jne 0x14015eca9
mov dword [rsp + 0x78], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14015ead8
call r8
movabs rax, 0x9526462d65ef3a2f
mov qword [rsp + 0xa0], rax
movabs r8, 0x9057edf4367d9d85
mov qword [rsp + 0x70], r8
movabs rax, 0xafeeb0d6b0000000
mov r10, qword [0x1402b2068]
imul r10, rax
movabs rax, 0xce8da1bb70000000
xor r10, rax
mov qword [rsp + 0x80], r10
mov rcx, r10
imul rcx, r8
mov qword [rsp + 0x88], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r10
and r9, r8
lea rsi, [0x140000000]
imul r9, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0x6a60bec072f88938
imul r9, rax
shr r9, 3
movabs rax, 0x96ca4ea2c4caf6a0
xor r9, rax
movabs rax, 0xffffff57fcb66a9b
mov rcx, r10
imul rcx, rax
sub rcx, 0x737c6bb8
xor rcx, r9
xor rcx, qword [0x1402b2060]
mov rax, r9
imul rax, qword [0x1402b2070]
movabs rdx, 0xb9de928bf505d5ba
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0xe
shr rcx, 8
mov qword [rsp + 0x60], rcx
movabs r11, 0x6fa8120bc982627b
lea rcx, [r10 + r11]
xor rcx, 0xffffffffcb8bdeb7
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xc53c8d4214f268f0
mov r8, qword [rsi + rcx*8 + 0x2b2060]
imul r8, rax
sub r8, r11
movabs rcx, 0x91c603ebfbac35ac
mov rax, r9
imul rax, rcx
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x68], r8
mov rax, r8
xor rax, r10
mov qword [rsp + 0x58], rax
lea rcx, [r8 + r11]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xab
and ecx, edi
jge 0x14015ee88
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rdx, qword [rsp + 0x58]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xffffffff8c839448
mov qword [rsp + 0x78], rax
lea r10, [rax + r11]
mov r11, r8
imul r11, qword [rsp + 0x60]
sub r11, r10
movabs rax, 0x9526462d65ef3a2f
xor r11, rax
movzx ecx, r10b
mov dword [rsp + 0x58], ecx
xor ecx, 4
and ecx, 0xf
and ecx, edi
jge 0x14015eeda
sub ecx, r12d
or ecx, ebx
add ecx, r12d
rol r11, cl
mov rax, r10
sub rax, qword [0x1402b2078]
xor r11, rax
movabs rax, 0x8993131749743168
imul rdx, rax
movabs rax, 0x311bc39f50ce6719
sub rdx, rax
xor r11, rdx
xor r11, r9
mov rdx, qword [rsp + 0x80]
xor r11, rdx
mov rax, r11
and rax, r12
je 0x14015f2c3
sub rax, 1
je 0x14015f157
sub rax, 1
je 0x14015f055
cmp rax, 1
jne 0x14015f37c
mov rcx, r10
imul rcx, r8
movabs rax, 0xa8c0a7a9bbff5c79
add rax, r11
xor rcx, rax
ror rcx, 0x34
shr rcx, 0xc
xor rcx, rdx
not rcx
mov qword [rsp + 0xa0], rcx
movabs rdx, 0x835717f4dbc0
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x6f2a9773956d9941
xor r8, rax
mov eax, ecx
imul eax, r11d
and eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or r8, rdx
shl r8, 0xf
movabs rax, 0xf7ca7db94f143743
sub rax, qword [rsp + 0x68]
xor r8, rax
mov rcx, r8
movabs rax, 0x9057edf4367d9d85
imul rcx, rax
mov eax, 0x9ecfe5a9
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rax, 0xd1eb0331e0fbdb3a
sub rax, qword [rsp + 0xa0]
shr rax, cl
mov qword [rsp + 0x70], rax
movabs rcx, 0x6fb0369435cdf7e1
add rcx, qword [rsp + 0x78]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r11
sub rax, qword [rsp + 0x60]
xor qword [rsp + 0x70], rax
jmp 0x14015f37c
movabs rax, 0xaaaaaa1a9ed61897
mov rcx, r11
xor rcx, rax
movabs rax, 0x1206ed5cdbc4db
imul rcx, rax
movabs rdx, 0xfff17ca849b42eeb
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ab8c62a4b
mov rdx, qword [rsp + 0x78]
imul rdx, rax
movabs r8, 0x216ce8fcb9433254
add r8, rcx
add r8, rdx
movabs rax, 0x277cd7be4c06cff7
mov rcx, r8
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r8
not r10
imul r10, qword [rsi + rcx*8 + 0x2b2060]
xor r10, 0xffffffffcb83ce47
lea ecx, [r11 + 0x15]
and cl, r15b
rol r10, cl
movabs rcx, 0xd3c79abb5d7b3b09
mov rax, qword [rsp + 0x88]
xor rax, rcx
movabs rcx, 0x7c7a7dc6a284c4f6
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x25
not rcx
movabs rax, 0x9b2de6b20fa93740
imul rcx, rax
mov rax, r8
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x60]
and cl, r15b
ror rdx, cl
movabs rax, 0x9057edf4367d9d85
imul rdx, rax
mov qword [rsp + 0x70], rdx
jmp 0x14015f37c
movabs rax, 0x5c445e1d0bb7109d
imul r11, rax
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x6fa8120bc982627a
mov rax, qword [rsp + 0x80]
imul rax, rdx
movabs rdx, 0x9526462d65ef3a2f
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov eax, dword [rsp + 0x58]
and eax, edi
jge 0x14015f1bd
sub eax, r12d
or eax, ebx
add eax, r12d
mov cl, al
rol r9, cl
movabs rcx, 0x6fa8120bc982627b
add rcx, r11
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffedf4367d9d85
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7c2126eba
or r9, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0x9526462d65ef3a2f
imul rcx, rax
sub rcx, r10
mov rax, qword [rsp + 0x60]
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6931a6eb7
xor rcx, rax
mov qword [rsp + 0x70], rcx
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x80]
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x70]
div rcx
mov rcx, rdx
mov rdx, r11
imul rdx, r10
imul rdx, qword [rsp + 0x70]
shr rdx, cl
mov rax, r8
sub rax, rdx
sub rax, qword [rsp + 0x80]
movabs rdx, 0x78958945c4822ad
add rdx, rax
xor rdx, qword [rsp + 0x60]
mov al, r8b
shl al, 3
lea ecx, [rax + r8]
add cl, cl
and cl, r15b
rol rdx, cl
not rdx
mov qword [rsp + 0x80], rdx
jmp 0x14015f37c
mov rax, r14
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r11
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r9
and r9b, r15b
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r10
mov rcx, qword [rsp + 0x60]
not rcx
imul rcx, r8
movabs rax, 0x7cd8a7de4eeb3f56
imul rcx, rax
mov rax, r9
imul rax, qword [rsp + 0x80]
xor rcx, rax
mov qword [rsp + 0x80], rcx
imul rdx, qword [0x1402b2060], 0xffffffff8c839448
sub rdx, qword [0x1402b2068]
mov al, cl
not al
movzx ecx, al
movzx eax, byte [0x1402b2068]
xor ecx, eax
and ecx, edi
jge 0x14015f362
sub ecx, r12d
or ecx, ebx
add ecx, r12d
ror rdx, cl
movabs rax, 0x6fa8120bc982627b
add rax, rdx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x60], rax
movabs rax, 0xff055d7bbea0359b
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, qword [rsp + 0x80]
imul r9, qword [rsi + rcx*8 + 0x2b2060]
not r10
imul r10, r11
imul r10, qword [rsp + 0x60]
imul r10, qword [rsp + 0x70]
movabs rcx, 0xf5ed7e87b9137f47
xor rcx, r8
not rcx
xor rcx, r10
sub rcx, r9
call fcn.14012dc6c
mov qword [0x1402b3168], rax
mov r9d, r13d
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x68], 0xe76e2c56
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r9d, r9d
je 0x14015f473
psrldq xmm0, 8
movq r10, xmm0
movzx ecx, cx
shr rcx, 1
lea rcx, [r10 + rcx*2]
mov r11d, 0x211ed9fa
cmp r10, rcx
je 0x14015f46a
mov r14, rcx
movsx edx, byte [r10]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r11d
xor ecx, edx
mov r11d, r8d
imul r11d, ecx
add r10, 2
cmp r10, r14
jne 0x14015f43f
cmp r11d, r9d
jne 0x14015f618
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edx, ecx
add rdx, r11
mov qword [rsp + 0xa0], rdx
shr rcx, 0x20
cmp rdx, r11
je 0x14015f618
mov r8d, dword [rdx + 0x18]
test r8d, r8d
je 0x14015f618
mov r9d, dword [rdx + 0x20]
mov qword [rsp + 0x70], r9
dec r8d
mov dword [rsp + 0x78], r8d
mov r14d, r8d
lea rdx, [r11 + r8*4]
mov edx, dword [rdx + r9]
add rdx, r11
mov r9d, 0x211ed9fa
mov r10b, byte [rdx]
add rdx, r12
mov qword [rsp + 0x80], rdx
mov dl, r10b
test r10b, r10b
mov r10d, 0x4764996c
je 0x14015f53a
mov r11, qword [rsp + 0x80]
mov edi, r9d
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, edi
xor edx, r8d
mov edi, r9d
imul edi, edx
mov dl, byte [r11]
add r11, r12
test dl, dl
jne 0x14015f4f6
mov dword [rsp + 0x98], edi
mov edi, 0x8000003f
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x98]
cmp r9d, dword [rsp + 0x68]
je 0x14015f559
test r8d, r8d
mov r9, qword [rsp + 0x70]
jne 0x14015f4b3
mov r9d, dword [rsp + 0x58]
jmp 0x14015f618
mov r9, qword [rsp + 0xa0]
mov edx, dword [r9 + 0x1c]
add rdx, r11
mov eax, dword [r9 + 0x24]
add rax, r11
movzx eax, word [rax + r14*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, r9
jbe 0x14015f620
lea rax, [rcx + r9]
cmp r8, rax
jae 0x14015f620
mov r9d, 0x211ed9fa
mov dword [rsp + 0x58], r9d
mov r11d, r9d
mov dword [rsp + 0x68], r9d
mov al, byte [r8]
cmp al, 0x2e
je 0x14015f5d4
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r9d
xor eax, ecx
mov r9d, edx
imul r9d, eax
add r8, r12
mov al, byte [r8]
cmp al, 0x2e
jne 0x14015f5ab
mov dword [rsp + 0x58], r9d
add r8, r12
mov al, byte [r8]
test al, al
je 0x14015f607
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r8, r12
mov al, byte [r8]
test al, al
jne 0x14015f5de
mov dword [rsp + 0x68], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14015f40c
call r8
movabs rax, 0x355267a0acc1fed4
mov qword [rsp + 0xa0], rax
movabs rax, 0xb2430bb358fc53b1
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], r13
movabs rax, 0xa4bb4b50405f237a
movabs r8, 0xaeb9130948a926ef
mov rcx, qword [0x1402b2070]
imul rcx, rax
not rcx
movabs rdx, 0x5146ecf6a4b1d7bb
mov rax, qword [0x1402b2060]
xor rax, rdx
and rcx, rax
ror rcx, 0x26
shr rcx, 8
mov qword [rsp + 0x88], rcx
movabs rax, 0xe9ac34430458dc88
mov r10, qword [0x1402b2080]
imul r10, rax
movabs r9, 0x4dbcf44ca703ac4f
sub r10, r9
movabs rax, 0x973de36b7fffffff
xor r10, rax
shr r10, 0x1f
not r10
lea rcx, [r10 + r9]
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x37
and ecx, edi
jge 0x14015f70e
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rax, r10
ror rax, cl
not rax
movabs rdx, 0x9ed795440f8fc56c
mov rcx, rax
imul rcx, rdx
mov qword [rsp + 0x60], rcx
add r9, rcx
mov r11, r10
imul r11, qword [rsp + 0x88]
sub r11, r9
movabs rdx, 0x355267a0acc1fed4
xor r11, rdx
movzx ecx, r9b
mov dword [rsp + 0x58], ecx
xor cl, 0xf8
and cl, 0xf
rol r11, cl
movabs rcx, 0xdf12b101d5b983ac
imul rax, rcx
movabs rcx, 0x31a2b1c48fd44061
sub rax, rcx
xor r11, rax
mov rax, r9
sub rax, qword [0x1402b2078]
xor r11, rax
xor r11, r8
mov rax, r11
and rax, r12
je 0x14015fabc
sub rax, 1
je 0x14015f9b0
sub rax, 1
je 0x14015f8d6
cmp rax, 1
jne 0x14015fb5c
mov rcx, r9
imul rcx, r10
movabs rax, 0x9b6d1eb3e9858129
add rax, r11
xor rcx, rax
ror rcx, 0x1c
shr rcx, 0xc
not rcx
mov qword [rsp + 0xa0], rcx
movabs rdx, 0x83572e236a24
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x4d3e7134c23be6e9
xor r8, rax
mov eax, r11d
imul eax, ecx
and eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db976c386df
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
movabs rax, 0xb2430bb358fc53b1
imul rcx, rax
mov eax, 0xa7185435
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs r8, 0x9ce371322d396f86
sub r8, qword [rsp + 0xa0]
shr r8, cl
movabs rax, 0x4dc518d4fc9fd149
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r11
sub rax, qword [rsp + 0x88]
xor r8, rax
mov qword [rsp + 0x70], r8
movabs r8, 0xaeb9130948a926ef
jmp 0x14015fb5c
movabs rcx, 0xaaaaaa1aa701a90b
mov r10, r11
xor r10, rcx
movabs rcx, 0x1206ed650c7547
imul r10, rcx
movabs rdx, 0xffff7e8a81119bd7
mov rcx, qword [rsp + 0x60]
imul rcx, rdx
movabs rdx, 0x640d5a1105ef6d98
add r10, rdx
add r10, rcx
movabs rax, 0x277cd7be75d17e6b
mov rcx, r10
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r10
not r9
imul r9, qword [rsi + rcx*8 + 0x2b2060]
xor r9, 0xfffffffff2547fdb
lea ecx, [r11 + 9]
and cl, r15b
rol r9, cl
movabs rax, 0x6862400400000000
imul r9, rax
mov rcx, r9
ror rcx, 2
not rcx
movabs rax, 0x9b2de6b2e8f7f130
imul rcx, rax
mov rax, r10
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x88]
and cl, r15b
ror rdx, cl
movabs rax, 0xb2430bb358fc53b1
imul rdx, rax
mov qword [rsp + 0x70], rdx
jmp 0x14015fb5c
movabs rax, 0x93661fde3ebbc3b7
imul r11, rax
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0xcaad985f533e012b
shl rdx, cl
mov rax, r8
mov r8, rdx
xor r8, rax
mov ecx, dword [rsp + 0x58]
and cl, r15b
rol r8, cl
movabs rcx, 0x4dbcf44ca703ac4f
add rcx, r11
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xbb358fc53b1
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7fbc5df26
or r8, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0x355267a0acc1fed4
imul rcx, rax
sub rcx, r9
mov rax, qword [rsp + 0x88]
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a6aacddf2b
xor rcx, rax
mov qword [rsp + 0x70], rcx
mov rax, r11
imul rax, r9
imul rax, rcx
mov rdx, r10
sub rdx, rax
movabs rax, 0x7895894659f9331
add rdx, rax
xor rdx, qword [rsp + 0x88]
movzx eax, r10b
imul ecx, eax, 0xe
and cl, r15b
rol rdx, cl
not rdx
mov qword [rsp + 0x80], rdx
jmp 0x14015fb5c
mov rcx, qword [0x1402b2080]
imul rcx, r11
and rcx, qword [0x1402b2088]
mov rax, r8
mov r8, rcx
xor r8, rax
ror r8, 0x2f
imul r8, r9
mov rax, qword [rsp + 0x88]
not rax
imul rax, r10
movabs rcx, 0x7cd8a7de773c8eca
imul rax, rcx
mov qword [rsp + 0x80], rax
imul rcx, qword [0x1402b2060], 0xffffffffec18f154
mov rdx, qword [0x1402b2068]
sub rcx, rdx
mov qword [rsp + 0x88], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x14015fb37
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rax, qword [rsp + 0x88]
ror rax, cl
movabs rcx, 0x4dbcf44ca703ac4f
add rax, rcx
add rax, qword [rsp + 0x60]
mov qword [rsp + 0x88], rax
movabs rax, 0xff055d7b87778407
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r8, qword [rsp + 0x80]
imul r8, qword [rsi + rcx*8 + 0x2b2060]
not r9
imul r9, r11
imul r9, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
imul rcx, r9
movabs rax, 0xf5ed7e8780c4cedb
xor r10, rax
not r10
xor rcx, r10
sub rcx, r8
call fcn.14012e17c
mov qword [0x1402b31a0], rax
mov r9d, r13d
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x68], 0x2194e156
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r9d, r9d
je 0x14015fc59
psrldq xmm0, 8
movq r10, xmm0
movzx ecx, cx
shr rcx, 1
lea rcx, [r10 + rcx*2]
mov r11d, 0x56bf223e
cmp r10, rcx
je 0x14015fc50
mov rsi, rcx
movsx edx, byte [r10]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r11d
xor ecx, edx
mov r11d, r8d
imul r11d, ecx
add r10, 2
cmp r10, rsi
jne 0x14015fc25
cmp r11d, r9d
jne 0x14015fdfc
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edx, ecx
add rdx, r11
mov qword [rsp + 0xa0], rdx
shr rcx, 0x20
cmp rdx, r11
je 0x14015fdfc
mov r8d, dword [rdx + 0x18]
test r8d, r8d
je 0x14015fdfc
mov edx, dword [rdx + 0x20]
mov qword [rsp + 0x70], rdx
dec r8d
mov dword [rsp + 0x78], r8d
mov esi, r8d
lea rdx, [rdx + r8*4]
mov edx, dword [rdx + r11]
add rdx, r11
mov r9d, 0x56bf223e
mov r10b, byte [rdx]
add rdx, r12
mov qword [rsp + 0x80], rdx
mov dl, r10b
test r10b, r10b
mov r10d, 0x4764996c
je 0x14015fd1f
mov r11, qword [rsp + 0x80]
mov edi, r9d
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, edi
xor edx, r8d
mov edi, r9d
imul edi, edx
mov dl, byte [r11]
add r11, r12
test dl, dl
jne 0x14015fcdb
mov dword [rsp + 0x98], edi
mov edi, 0x8000003f
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x98]
cmp r9d, dword [rsp + 0x68]
je 0x14015fd3e
test r8d, r8d
mov rdx, qword [rsp + 0x70]
jne 0x14015fc98
mov r9d, dword [rsp + 0x58]
jmp 0x14015fdfc
mov r9, qword [rsp + 0xa0]
mov edx, dword [r9 + 0x1c]
add rdx, r11
mov eax, dword [r9 + 0x24]
add rax, r11
movzx eax, word [rax + rsi*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, r9
jbe 0x14015fe04
lea rax, [rcx + r9]
cmp r8, rax
jae 0x14015fe04
mov r9d, 0x56bf223e
mov dword [rsp + 0x58], r9d
mov r11d, r9d
mov dword [rsp + 0x68], r9d
mov al, byte [r8]
cmp al, 0x2e
je 0x14015fdb8
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r9d
xor eax, ecx
mov r9d, edx
imul r9d, eax
add r8, r12
mov al, byte [r8]
cmp al, 0x2e
jne 0x14015fd8f
mov dword [rsp + 0x58], r9d
add r8, r12
mov al, byte [r8]
test al, al
je 0x14015fdeb
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r8, r12
mov al, byte [r8]
test al, al
jne 0x14015fdc2
mov dword [rsp + 0x68], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14015fbf2
xor ecx, ecx
call r8
movabs rax, 0xd4b6408af33237c4
mov qword [rsp + 0xa0], rax
movabs r8, 0xe3d82150dcc4b501
mov qword [rsp + 0x70], r8
movabs rax, 0xb8a1c96afcbc4000
mov r10, qword [0x1402b2080]
imul r10, rax
movabs rax, 0x8a9dcc9155e8f000
xor r10, rax
mov qword [rsp + 0x80], r10
mov rcx, r10
imul rcx, r8
mov qword [rsp + 0x88], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r10
and r9, r8
lea rsi, [0x140000000]
imul r9, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0xf446059a51ab61c0
imul r9, rax
shr r9, 3
movabs rax, 0x2885cc66f078f01f
xor r9, rax
movabs rax, 0xffffff57dd792fa3
mov rcx, r10
imul rcx, rax
sub rcx, 0xcca5090
xor rcx, r9
xor rcx, qword [0x1402b2060]
mov rax, r9
imul rax, qword [0x1402b2070]
movabs rdx, 0xb9de928bd4ca9082
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x32
shr rcx, 8
mov qword [rsp + 0x60], rcx
movabs r11, 0x1c27deaf233b4aff
lea rcx, [r10 + r11]
xor rcx, 0xffffffffea449b8f
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xb70cfd4ac95ea5a0
mov r8, qword [rsi + rcx*8 + 0x2b2060]
imul r8, rax
sub r8, r11
movabs rcx, 0x57ee28725abf2f10
mov rax, r9
imul rax, rcx
xor r8, rax
shr r8, 0x1f
not r8
mov qword [rsp + 0x68], r8
mov rax, r8
xor rax, r10
mov qword [rsp + 0x58], rax
lea rcx, [r8 + r11]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x93
and ecx, edi
jge 0x14015ffa3
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rdx, qword [rsp + 0x58]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xfffffffff335af70
mov qword [rsp + 0x78], rax
lea r10, [rax + r11]
mov r11, r8
imul r11, qword [rsp + 0x60]
sub r11, r10
movabs rax, 0xd4b6408af33237c4
xor r11, rax
movzx ecx, r10b
mov dword [rsp + 0x58], ecx
xor cl, 0xfc
and cl, 0xf
rol r11, cl
movabs rax, 0x37dc91d379ffdf70
imul rdx, rax
movabs rax, 0x5851ef209e7d95ff
add rdx, rax
xor r11, rdx
mov rax, r10
sub rax, qword [0x1402b2078]
xor r11, rax
xor r11, r9
mov rdx, qword [rsp + 0x80]
xor r11, rdx
mov rax, r11
and rax, r12
je 0x1401603c5
sub rax, 1
je 0x140160266
sub rax, 1
je 0x140160164
cmp rax, 1
jne 0x14016048d
mov rcx, r10
imul rcx, r8
movabs rax, 0x678f191ecf68f5d
add rax, r11
xor rcx, rax
ror rcx, 8
shr rcx, 0xc
xor rcx, rdx
not rcx
mov qword [rsp + 0xa0], rcx
movabs rdx, 0x8357363b9e88
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x1ca55bd75e1bf4fd
xor r8, rax
mov eax, r11d
imul eax, ecx
and eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or r8, rdx
shl r8, 0xf
movabs rax, 0xf7ca7db96edb727b
sub rax, qword [rsp + 0x68]
xor r8, rax
mov rcx, r8
movabs rax, 0xe3d82150dcc4b501
imul rcx, rax
mov eax, 0xbf00a091
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs rax, 0x9bf1199ee09f64ee
sub rax, qword [rsp + 0xa0]
shr rax, cl
mov qword [rsp + 0x70], rax
movabs rcx, 0x1c30033770c01b5d
add rcx, qword [rsp + 0x78]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r11
sub rax, qword [rsp + 0x60]
xor qword [rsp + 0x70], rax
jmp 0x14016048d
movabs rax, 0xaaaaaa1abf195daf
mov rcx, r11
xor rcx, rax
movabs rax, 0x1206ed7d1481e3
imul rcx, rax
movabs rdx, 0xfff17ca8687b6bd3
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a99096f73
mov rdx, qword [rsp + 0x78]
imul rdx, rax
movabs r8, 0x518e13dc2c27b100
add r8, rcx
add r8, rdx
movabs rax, 0x277cd7be6dc98acf
mov rcx, r8
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r8
not r10
imul r10, qword [rsi + rcx*8 + 0x2b2060]
xor r10, 0xffffffffea4c8b7f
lea ecx, [r11 - 0x13]
and cl, r15b
rol r10, cl
movabs rcx, 0x2018390600000000
mov rax, qword [rsp + 0x88]
xor rax, rcx
movabs rcx, 0x7c7a7dc6834b81ce
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x36
not rcx
movabs rax, 0x9b2de6b2889423a0
imul rcx, rax
mov rax, r8
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x60]
and cl, r15b
ror rdx, cl
movabs rax, 0xe3d82150dcc4b501
imul rdx, rax
mov qword [rsp + 0x70], rdx
jmp 0x14016048d
movabs rax, 0x46f167beb39e307f
imul r11, rax
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x1c27deaf233b4afe
mov rax, qword [rsp + 0x80]
imul rax, rdx
movabs rdx, 0xd4b6408af33237c4
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov ecx, dword [rsp + 0x58]
and cl, r15b
rol r9, cl
movabs rcx, 0x1c27deaf233b4aff
add rcx, r11
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe150dcc4b501
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7e3dd2b82
or r9, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0xd4b6408af33237c4
imul rcx, rax
sub rcx, r10
mov rax, qword [rsp + 0x60]
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6b2d52b8f
xor rcx, rax
mov qword [rsp + 0x70], rcx
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x80]
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x70]
div rcx
mov rcx, rdx
mov rdx, r11
imul rdx, r10
imul rdx, qword [rsp + 0x70]
shr rdx, cl
mov rax, r8
sub rax, rdx
sub rax, qword [rsp + 0x80]
movabs rdx, 0x78958947d876795
add rdx, rax
xor rdx, qword [rsp + 0x60]
movzx eax, r8b
imul ecx, eax, 0xea
and cl, r15b
rol rdx, cl
not rdx
mov qword [rsp + 0x80], rdx
jmp 0x14016048d
mov rax, r14
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r11
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r9
and r9b, r15b
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r10
mov rcx, qword [rsp + 0x60]
not rcx
imul rcx, r8
movabs rax, 0x7cd8a7de6f247a6e
imul rcx, rax
mov rax, r9
imul rax, qword [rsp + 0x80]
xor rcx, rax
mov qword [rsp + 0x80], rcx
imul rax, qword [0x1402b2060], 0xfffffffff335af70
mov rdx, qword [0x1402b2068]
sub rax, rdx
mov qword [rsp + 0x88], rax
mov al, cl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x14016046b
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rax, qword [rsp + 0x88]
ror rax, cl
movabs rcx, 0x1c27deaf233b4aff
add rax, rcx
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x60], rax
movabs rax, 0xff055d7b9f6f70a3
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, qword [rsp + 0x80]
imul r9, qword [rsi + rcx*8 + 0x2b2060]
not r10
imul r10, r11
imul r10, qword [rsp + 0x60]
imul r10, qword [rsp + 0x70]
movabs rcx, 0xf5ed7e8798dc3a7f
xor rcx, r8
not rcx
xor rcx, r10
sub rcx, r9
call fcn.14012dd44
mov qword [0x1402b3170], rax
movabs rax, 0x650c2e8773cec53e
mov qword [rsp + 0xa0], rax
movabs rax, 0xa913c0940e8a3785
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], r13
movabs rax, 0xc19a72dae7c6c862
movabs r8, 0xa4561d3f887db22b
mov rcx, qword [0x1402b2070]
imul rcx, rax
not rcx
movabs rdx, 0x5ba9e2c07b51a5fb
mov rax, qword [0x1402b2060]
xor rax, rdx
and rcx, rax
ror rcx, 0x12
shr rcx, 8
mov qword [rsp + 0x88], rcx
movabs rax, 0x1c7797abd342f320
mov r10, qword [0x1402b2080]
imul r10, rax
movabs r9, 0x56ec3f6bf175c87b
sub r10, r9
movabs rax, 0x84b484ca7fffffff
xor r10, rax
shr r10, 0x1f
not r10
lea rcx, [r10 + r9]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x37
and ecx, edi
jge 0x1401605dd
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rax, r10
ror rax, cl
not rax
movabs rdx, 0xf958c70a1869ff0
mov rcx, rax
imul rcx, rdx
mov qword [rsp + 0x60], rcx
lea r11, [rcx + r9]
mov r9, r10
imul r9, qword [rsp + 0x88]
sub r9, r11
movabs rdx, 0x650c2e8773cec53e
xor r9, rdx
movzx ecx, r11b
mov dword [rsp + 0x58], ecx
xor cl, 0xf8
and cl, 0xf
rol r9, cl
movabs rcx, 0xc0030f492eada7b0
imul rax, rcx
movabs rcx, 0x456e5858c9194e7
add rax, rcx
xor r9, rax
mov rax, r11
sub rax, qword [0x1402b2078]
xor r9, rax
xor r9, r8
mov rax, r9
and rax, r12
je 0x14016098c
sub rax, 1
je 0x140160880
sub rax, 1
je 0x1401607a6
cmp rax, 1
jne 0x140160a2c
mov rcx, r11
imul rcx, r10
movabs rax, 0x6fbaf5e1d999cc5d
add rax, r9
xor rcx, rax
ror rcx, 0x28
shr rcx, 0xc
not rcx
mov qword [rsp + 0xa0], rcx
movabs rdx, 0x835710df0c24
mov r8, qword [0x1402b2088]
add r8, rdx
movabs rax, 0x566eba13aab1e4dd
xor r8, rax
mov eax, r9d
imul eax, ecx
and eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db9483fe0df
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
movabs rax, 0xa913c0940e8a3785
imul rcx, rax
mov eax, 0x99e43235
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs r8, 0xcb22eeb563d9d692
sub r8, qword [rsp + 0xa0]
shr r8, cl
movabs rax, 0x56f463f45cd60b75
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r9
sub rax, qword [rsp + 0x88]
xor r8, rax
mov qword [rsp + 0x70], r8
movabs r8, 0xa4561d3f887db22b
jmp 0x140160a2c
movabs rcx, 0xaaaaaa1a99fdcf0b
mov r10, r9
xor r10, rcx
movabs rcx, 0x1206ed5bf01347
imul r10, rcx
movabs rdx, 0xffff7e8abfedfdd7
mov rcx, qword [rsp + 0x60]
imul rcx, rdx
movabs rdx, 0xb934152888f7a0c8
add r10, rdx
add r10, rcx
movabs rax, 0x277cd7be4b2d186b
mov rcx, r10
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r10
not r11
imul r11, qword [rsi + rcx*8 + 0x2b2060]
xor r11, 0xffffffffcca819db
lea ecx, [r9 + 9]
and cl, r15b
rol r11, cl
movabs rax, 0x1002254020000000
imul r11, rax
mov rcx, r11
ror rcx, 0x28
not rcx
movabs rax, 0x9b2de6b213066930
imul rcx, rax
mov rax, r10
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x88]
and cl, r15b
ror rdx, cl
movabs rax, 0xa913c0940e8a3785
imul rdx, rax
mov qword [rsp + 0x70], rdx
jmp 0x140160a2c
movabs rax, 0xfe38f0010261d59d
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x9af3d1788c313ac1
shl rdx, cl
mov rax, r8
mov r8, rdx
xor r8, rax
mov ecx, dword [rsp + 0x58]
and cl, r15b
rol r8, cl
movabs rcx, 0x56ec3f6bf175c87b
add rcx, r9
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x940e8a3785
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7c539b926
or r8, rax
mov rcx, qword [0x1402b2070]
movabs rax, 0x650c2e8773cec53e
imul rcx, rax
sub rcx, r11
mov rax, qword [rsp + 0x88]
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a69431b92b
xor rcx, rax
mov qword [rsp + 0x70], rcx
mov rax, r9
imul rax, r11
imul rax, rcx
mov rdx, r10
sub rdx, rax
movabs rax, 0x78958945b63f531
add rdx, rax
xor rdx, qword [rsp + 0x88]
movzx eax, r10b
imul ecx, eax, 0xe
and cl, r15b
rol rdx, cl
not rdx
mov qword [rsp + 0x80], rdx
jmp 0x140160a2c
mov rcx, qword [0x1402b2080]
imul rcx, r9
and rcx, qword [0x1402b2088]
mov rax, r8
mov r8, rcx
xor r8, rax
ror r8, 0x2b
imul r8, r11
mov rax, qword [rsp + 0x88]
not rax
imul rax, r10
movabs rcx, 0x7cd8a7de49c0e8ca
imul rax, rcx
mov qword [rsp + 0x80], rax
imul rcx, qword [0x1402b2060], 0xfffffffff32c17d0
mov rdx, qword [0x1402b2068]
sub rcx, rdx
mov qword [rsp + 0x88], rcx
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, edi
jge 0x140160a07
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rax, qword [rsp + 0x88]
ror rax, cl
movabs rcx, 0x56ec3f6bf175c87b
add rax, rcx
add rax, qword [rsp + 0x60]
mov qword [rsp + 0x88], rax
movabs rax, 0xff055d7bb98be207
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r8, qword [rsp + 0x80]
imul r8, qword [rsi + rcx*8 + 0x2b2060]
not r11
imul r11, r9
imul r11, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
imul rcx, r11
movabs rax, 0xf5ed7e87be38a8db
xor r10, rax
not r10
xor rcx, r10
sub rcx, r8
call fcn.14012e938
mov qword [0x1402b31a0], rax
mov dword [rsp + 0x2c8], r13d
mov dword [rsp + 0x2c8], 0x8b205939
mov eax, dword [rsp + 0x2c8]
add eax, 0xb5ef4fb0
xor eax, 0xe50547f3
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
sub eax, 0x4c875ced
xor eax, 0xd4d38cc2
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x6e0a3842
add eax, ecx
xor eax, 0x4c7b8325
add eax, 0xab43eff
xor eax, 0xf6689ddf
lea edx, [rcx - 0xd317020]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xc6d7bb92
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x3928446d
add ecx, 0x866a019a
add ecx, edx
xor ecx, 0xc87da52a
mov dword [rsp + 0x2c8], ecx
mov rax, qword [0x1402b31d8]
xor byte [rax], cl
mov dword [rsp + 0x2c8], r13d
mov qword [rsp + 0xa00], r13
movabs rax, 0x2862b709d9ea64b3
mov qword [rsp + 0xa00], rax
movabs rcx, 0xcc5ad4bbf046eba
add rcx, qword [rsp + 0xa00]
movabs rax, 0x940b4fedad9f5109
xor rcx, rax
sub rcx, qword [0x1402b2050]
sub rcx, qword [0x1402b2058]
movabs rax, 0x312ba68f1aa29c4a
sub rcx, rax
movabs rax, 0x7074598639a193c
xor rcx, rax
sub rcx, qword [0x1402b2048]
movabs rax, 0x9829ab4356b60c9f
add rcx, rax
mov rdx, qword [0x1402b2040]
add rcx, rdx
movabs rax, 0xa56e86559a1f6bbe
xor rcx, rax
movabs rax, 0x2b02fde5cb20eb12
sub rcx, rax
movabs rax, 0x5bc4c32cad0dc5b1
xor rcx, rax
movabs rax, 0x15ab43291ff904af
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0xec3316b52efc100e
mov rax, qword [0x1402b2038]
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94ad103eff1
mov rcx, qword [0x1402b2030]
xor rcx, rax
movabs rax, 0x1f4a915132a2ca3c
add rdx, rax
add rdx, rcx
movabs rax, 0x12683f8a2c722f2e
xor rdx, rax
mov qword [rsp + 0xa00], rdx
mov rax, qword [0x1402b31d8]
xor qword [rax + 0x68], rdx
mov qword [rsp + 0xa00], r13
movabs rax, 0x1244000000000000
movabs r8, 0x972474c69e66bc40
movabs r11, 0xfdac210d181143a1
mov r9, qword [0x1402b2070]
imul r9, rax
movabs rax, 0xbbcd700000000000
xor r9, rax
mov qword [rsp + 0xa0], r9
mov rcx, r9
imul rcx, r11
mov qword [rsp + 0x70], rcx
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r9
and r10, r11
imul r10, qword [rsi + rcx*8 + 0x2b2060]
movabs rax, 0x50c1a44902f2a00
imul r10, rax
shr r10, 3
movabs rax, 0x325e447ad4861b0c
xor r10, rax
movabs rax, 0xffffff57bdd7cdfb
mov rcx, r9
imul rcx, rax
sub rcx, 0xd1d08d8
xor rcx, r10
xor rcx, qword [0x1402b2060]
mov rax, r10
imul rax, qword [0x1402b2070]
movabs rdx, 0xb9de928bb46472da
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0xa
shr rcx, 8
mov qword [rsp + 0x80], rcx
movabs r11, 0x253def2e7eebc5f
lea rcx, [r9 + r11]
xor rcx, 0xffffffff8aea79d7
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x8a27528425403230
mov r13, qword [rsi + rcx*8 + 0x2b2060]
imul r13, rax
sub r13, r11
movabs rcx, 0xf40d885c08849100
mov rax, r10
imul rax, rcx
xor r13, rax
shr r13, 0x1f
not r13
lea rcx, [r11 + r13]
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r13b
movzx ecx, byte [rsi + rcx*8 + 0x2b2060]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xcb
and ecx, edi
jge 0x140160dd9
sub ecx, r12d
or ecx, ebx
add ecx, r12d
mov rdx, r13
xor rdx, r9
ror rdx, cl
not rdx
imul rdx, r10
imul rax, rdx, 0xfffffffff2e2f728
mov qword [rsp + 0x88], rax
lea r9, [rax + r11]
movzx ecx, r9b
mov dword [rsp + 0x58], ecx
xor cl, 4
and cl, 0xf
mov r11, r13
imul r11, qword [rsp + 0x80]
sub r11, r9
xor r11, r8
rol r11, cl
mov rax, r9
sub rax, qword [0x1402b2078]
xor r11, rax
movabs rax, 0x2d0719cf5114e828
imul rdx, rax
movabs rax, 0x1cb9e323d3fab41
sub rdx, rax
xor r11, rdx
xor r11, r10
mov r8, qword [rsp + 0xa0]
xor r11, r8
mov rax, r11
and rax, r12
je 0x1401611f3
sub rax, 1
je 0x14016108d
sub rax, 1
je 0x140160f8d
cmp rax, 1
jne 0x1401612bf
mov rbx, r9
imul rbx, r13
movabs rax, 0xa0c00b261e9fe25
add rax, r11
xor rbx, rax
ror rbx, 0x30
shr rbx, 0xc
xor rbx, r8
not rbx
movabs rcx, 0x835756957ce0
mov r8, qword [0x1402b2088]
add r8, rcx
movabs rax, 0x2d15b8afa60e005
xor r8, rax
mov eax, r11d
imul eax, ebx
and eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db90e759023
sub rax, r13
mov r13, rdx
xor r13, rax
mov rcx, r13
movabs rax, 0xfdac210d181143a1
imul rcx, rax
mov eax, 0xdfae42c9
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8 + 0x2b2060]
and cl, 0xf
movabs r12, 0xdb58ed01e7a9952e
sub r12, rbx
shr r12, cl
movabs rax, 0x25c037b1518ee65
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
imul rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, r11
sub rax, qword [rsp + 0x80]
xor r12, rax
jmp 0x1401612d3
movabs rax, 0xaaaaaa1adfb7bff7
mov rcx, r11
xor rcx, rax
movabs rax, 0x1206ed1dba63bb
imul rcx, rax
movabs rdx, 0xfff17ca808d5898b
mov rax, r10
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8af9a78d2b
mov rdx, qword [rsp + 0x88]
imul rdx, rax
movabs r13, 0x14f78a41b57a8420
add r13, rcx
add r13, rdx
movabs rax, 0x277cd7be0d676897
mov rcx, r13
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r13
not r9
imul r9, qword [rsi + rcx*8 + 0x2b2060]
xor r9, 0xffffffff8ae26927
lea ecx, [r11 - 0xb]
and cl, r15b
rol r9, cl
movabs rcx, 0x2c322846e0000000
mov rax, qword [rsp + 0x70]
xor rax, rcx
movabs rcx, 0x7c7a7dc6e3e56396
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 0x2a
not rcx
movabs rax, 0x9b2de6b30a2faac0
imul rcx, rax
mov rax, r13
sub rax, r9
lea r12, [rcx + rax*4]
mov cl, byte [rsp + 0x80]
and cl, r15b
ror r12, cl
movabs rax, 0xfdac210d181143a1
imul r12, rax
jmp 0x1401612c9
movabs rax, 0x319db728c4679f8f
imul r11, rax
mov eax, dword [rsp + 0x58]
and eax, edi
mov dword [rsp + 0x58], eax
jge 0x1401610b3
sub eax, r12d
or eax, ebx
add eax, r12d
mov dword [rsp + 0x58], eax
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x253def2e7eebc5e
mov rax, r8
imul rax, rdx
movabs rbx, 0x972474c69e66bc40
xor rax, rbx
not rax
shl rax, cl
xor r10, rax
mov ecx, dword [rsp + 0x58]
rol r10, cl
movabs rcx, 0x253def2e7eebc5f
add rcx, r11
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe10d181143a1
mov rax, qword [rsi + rcx*8 + 0x2b2060]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a78373c9da
or r10, rax
mov rcx, qword [0x1402b2070]
imul rcx, rbx
sub rcx, r9
mov rax, qword [rsp + 0x80]
sub rax, r10
xor rcx, rax
movabs rax, 0xc7a7c6a6d27bc9d7
xor rcx, rax
mov qword [rsp + 0x70], rcx
movzx eax, r13b
imul r8d, eax, 0xf2
and r8b, r15b
movabs rax, 0xcccccccccccccccd
mov rdi, qword [rsp + 0xa0]
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, r12
xor edx, edx
mov r12, qword [rsp + 0x70]
mov rax, r12
div rcx
mov rcx, rdx
mov rdx, r11
imul rdx, r9
imul rdx, r12
shr rdx, cl
mov rax, r13
sub rax, rdx
sub rax, rdi
movabs r15, 0x78958941d2985cd
add r15, rax
xor r15, qword [rsp + 0x80]
mov cl, r8b
rol r15, cl
not r15
jmp 0x1401612db
mov rax, r14
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r10
sub rcx, rax
mov rax, r11
imul rax, qword [0x1402b2080]
mov rdx, qword [rsi + rcx*8 + 0x2b2060]
and rdx, rax
xor rdx, r10
and r10b, r15b
mov cl, r10b
mov r10, rdx
ror r10, cl
imul r10, r9
mov r15, qword [rsp + 0x80]
not r15
imul r15, r13
movabs rax, 0x7cd8a7de0f8a9836
imul r15, rax
mov rax, r10
imul rax, r8
xor r15, rax
mov al, r15b
not al
movzx ecx, al
mov r8, qword [0x1402b2068]
movzx eax, r8b
xor ecx, eax
and ecx, edi
jge 0x14016127b
sub ecx, r12d
or ecx, ebx
add ecx, r12d
imul rdx, qword [0x1402b2060], 0xfffffffff2e2f728
sub rdx, r8
ror rdx, cl
movabs rax, 0x253def2e7eebc5f
add rax, rdx
add rax, qword [rsp + 0x88]
mov qword [rsp + 0x80], rax
movabs rbx, 0x972474c69e66bc40
movabs r12, 0xfdac210d181143a1
jmp 0x1401612db
movabs r12, 0xfdac210d181143a1
movabs rbx, 0x972474c69e66bc40
mov r15, qword [rsp + 0xa0]
movabs rax, 0xff055d7bffc192fb
xor rbx, rax
mov rax, r14
mul rbx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rbx, rax
xor r10, r15
imul r10, qword [rsi + rbx*8 + 0x2b2060]
not r9
imul r9, r11
imul r9, qword [rsp + 0x80]
imul r9, r12
movabs rcx, 0xf5ed7e87f872d827
xor rcx, r13
not rcx
xor rcx, r9
sub rcx, r10
call fcn.14012e038
mov qword [0x1402b3190], rax
add rsp, 0x13f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret