Function at 0x14018bc20
Capabilities:
Access peb ldr_data
Encode data using base64
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1e0
movabs r12, 0xf863e4f62e9be173
movabs r9, 0xa1ea04590d04e307
mov qword [rsp + 0x220], r9
movabs rax, 0xcdbf823250000000
mov rdi, qword [0x140336088]
imul rdi, rax
movabs rax, 0xce070f9ed0000000
xor rdi, rax
mov rcx, rdi
imul rcx, r9
mov qword [rsp + 0x230], rcx
movabs rsi, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r14, [0x140336060]
mov r8, rdi
and r8, r9
imul r8, qword [r14 + rcx*8]
movabs rax, 0x282b696cc371cf36
imul r8, rax
shr r8, 3
movabs rax, 0xa3819a52a1e9809d
xor r8, rax
movabs rax, 0xffffff57f41c88c1
mov rbx, rdi
imul rbx, rax
sub rbx, 0xdc7918e
xor rbx, qword [0x140336060]
xor rbx, r8
mov rax, r8
imul rax, qword [0x140336070]
movabs rcx, 0xb9de928bfdaf37e0
imul rax, rcx
not rax
and rbx, rax
ror rbx, 0x16
shr rbx, 8
movabs r9, 0x5e15fba6f2fb1cf9
lea rcx, [rdi + r9]
xor rcx, 0xffffffffc3213ced
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xe3b2c101dce7ab40
mov r11, qword [r14 + rcx*8]
imul r11, rax
sub r11, r9
movabs rcx, 0xf3357fb36fe08c94
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rdi
lea rcx, [r11 + r9]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xf1
and ecx, 0x8000003f
mov r13d, 1
jge 0x14018bdbb
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xfffffffff2386e72
mov qword [rsp + 0x228], rdx
add r9, rdx
mov r10, r11
imul r10, rbx
sub r10, r9
xor r10, r12
mov cl, r9b
xor cl, 0xfe
and cl, 0xf
rol r10, cl
movabs rax, 0xbcd8c7e72d421b1e
imul r15, rax
movabs rax, 0xbf39204978d6a31
sub r15, rax
xor r10, r15
mov rax, r9
sub rax, qword [0x140336078]
xor r10, rax
xor r10, r8
xor r10, rdi
mov rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
mov r15b, 0x3f
je 0x14018c17b
sub rax, 1
je 0x14018c04b
sub rax, 1
je 0x14018bf51
cmp rax, 1
jne 0x14018c224
mov r12, r9
imul r12, r11
movabs rax, 0x713ef8bd538abdb9
add rax, r10
xor r12, rax
ror r12, 0x2e
shr r12, 0xc
xor r12, rdi
not r12
movabs rcx, 0x83571f5e39e6
mov rdx, qword [0x140336088]
add rdx, rcx
movabs rax, 0x5e977edea6be0599
xor rdx, rax
movzx eax, r12b
movzx ecx, r10b
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db947bed519
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0xa1ea04590d04e307
imul rcx, rax
mov eax, 0x966507f3
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs rax, 0xaa2cc27e66346890
sub rax, r12
shr rax, cl
mov qword [rsp + 0x220], rax
movabs rdx, 0x5e1e202f57dc9439
mov rcx, qword [rsp + 0x228]
add rcx, rdx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r14 + rcx*8]
imul rax, r10
sub rax, rbx
xor qword [rsp + 0x220], rax
jmp 0x14018c224
movabs rax, 0xaaaaaa1a967cfacd
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed54712681
imul rcx, rax
movabs r9, 0xfff17ca8411eccb1
mov rax, r8
xor rax, r9
sub rcx, rax
movabs rax, 0xffff7e8ab06cc811
imul rdx, rax
movabs r11, 0xd431f48a6ac83c9a
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be44ac2dad
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
imul r9, qword [r14 + rcx*8]
xor r9, 0xffffffffc3292c1d
lea ecx, [r10 + 0xf]
and cl, r15b
rol r9, cl
movabs rcx, 0x382801c080000000
mov rax, qword [rsp + 0x230]
xor rax, rcx
movabs rcx, 0x7c7a7dc6aa2e26ac
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 0x23
not rcx
movabs rax, 0x9b2de6b22d02be28
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, bl
and cl, r15b
ror rdx, cl
movabs rax, 0xa1ea04590d04e307
imul rdx, rax
mov qword [rsp + 0x220], rdx
jmp 0x14018c224
movabs rax, 0x602f69b3ca497f25
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, 0x5e15fba6f2fb1cf8
mov rax, rdi
imul rax, rdx
xor rax, r12
not rax
shl rax, cl
xor r8, rax
mov cl, r9b
and cl, r15b
rol r8, cl
movabs rcx, 0x5e15fba6f2fb1cf9
add rcx, r10
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x4590d04e307
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7cab88ce0
or r8, rax
mov rcx, qword [0x140336070]
imul rcx, r12
sub rcx, r9
mov rax, rbx
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a69bb08ced
xor rcx, rax
mov qword [rsp + 0x220], 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, r13
xor edx, edx
mov rax, qword [rsp + 0x220]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, qword [rsp + 0x220]
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rdi
movabs rdi, 0x789589454e2c0f7
add rdi, rax
xor rdi, rbx
mov cl, r11b
shl cl, 3
and cl, r15b
rol rdi, cl
not rdi
jmp 0x14018c224
mov rax, rsi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r10
imul rax, qword [0x140336080]
mov rdx, qword [r14 + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, r15b
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r9
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de4641dd0c
imul rbx, rax
mov rax, r8
imul rax, rdi
mov rdi, rbx
xor rdi, rax
imul rbx, qword [0x140336060], 0xfffffffff2386e72
mov rdx, qword [0x140336068]
sub rbx, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14018c20c
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
ror rbx, cl
movabs rax, 0x5e15fba6f2fb1cf9
add rbx, rax
add rbx, qword [rsp + 0x228]
movabs rax, 0xff055d7bb60ad7c1
xor r12, rax
mov rax, rsi
mul r12
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r12, rax
xor r8, rdi
imul r8, qword [r14 + r12*8]
not r9
imul r9, r10
imul r9, rbx
imul r9, qword [rsp + 0x220]
movabs rcx, 0xf5ed7e87b1b99d1d
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.1401743ec
mov qword [0x14033ff80], rax
xor r12d, r12d
mov r9d, r12d
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x30], 0x85560d8e
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10d, 0x4764996c
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r9d, r9d
je 0x14018c307
psrldq xmm0, 8
movq r11, xmm0
movzx ecx, cx
shr rcx, 1
lea rdi, [r11 + rcx*2]
mov ebx, 0x6d38c402
jmp 0x14018c2f9
movsx edx, byte [r11]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, r10d
mov ecx, ebx
xor ecx, edx
mov ebx, r8d
imul ebx, ecx
add r11, 2
cmp r11, rdi
jne 0x14018c2d9
cmp ebx, r9d
jne 0x14018c3c5
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edi, ecx
add rdi, r11
shr rcx, 0x20
cmp rdi, r11
je 0x14018c3c5
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14018c3c5
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x20], r8d
mov edx, r8d
mov qword [rsp + 0x88], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0x6d38c402
mov r9b, byte [rbx]
add rbx, r13
test r9b, r9b
je 0x14018c3ad
mov r11d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov r9b, byte [rbx]
add rbx, r13
test r9b, r9b
jne 0x14018c36b
mov dword [rsp + 0x230], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x230]
cmp edx, dword [rsp + 0x30]
je 0x14018c3cd
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x14018c33a
mov r9d, dword [rsp + 0x50]
mov rax, qword [rax]
jmp 0x14018c2ad
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x88]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, rdi
jbe 0x14018c48a
lea rax, [rdi + rcx]
cmp r8, rax
jae 0x14018c48a
mov eax, 0x6d38c402
mov r9d, eax
mov dword [rsp + 0x50], eax
mov ebx, eax
mov dword [rsp + 0x30], eax
mov al, byte [r8]
cmp al, 0x2e
je 0x14018c445
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, r13
mov al, byte [r8]
cmp al, 0x2e
jne 0x14018c41c
mov dword [rsp + 0x50], r9d
add r8, r13
mov al, byte [r8]
test al, al
je 0x14018c474
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, ebx
xor eax, ecx
mov ebx, edx
imul ebx, eax
add r8, r13
mov al, byte [r8]
test al, al
jne 0x14018c44f
mov dword [rsp + 0x30], ebx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14018c3c5
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x38], 0xd768704
mov eax, dword [rsp + 0x38]
add eax, 0xe863e130
xor eax, 0x76857a68
sub eax, dword [0x140336058]
sub eax, dword [0x140336050]
add eax, 0x32e1455e
xor eax, 0xa19528fc
sub eax, dword [0x140336048]
mov rcx, qword [0x140336040]
add eax, 0xe98cfcc1
add eax, ecx
xor eax, 0x12ee8d2f
add eax, 0x388731dd
xor eax, 0x512cc17b
lea edx, [rcx + 0x41bb2e5a]
add edx, eax
not edx
mov eax, dword [0x140336038]
xor eax, 0xc7a18dd8
sub edx, eax
mov ecx, dword [0x140336030]
xor ecx, 0x385e7227
add ecx, 0x51061161
add ecx, edx
xor ecx, 0xb016cbe8
mov dword [rsp + 0x38], ecx
movsxd rcx, ecx
call r8
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0xa8], r12
movabs rax, 0xfacd470bfc0a23c5
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xa0], r12
movabs rax, 0xb4ae04617ca74a9c
mov qword [rsp + 0xa0], rax
movabs rcx, 0xf33a52b7d4ea8183
add rcx, qword [rsp + 0xa0]
movabs rax, 0xa6d53662530b66ef
xor rcx, rax
sub rcx, qword [0x140336050]
sub rcx, qword [0x140336058]
movabs rax, 0x7120fb80a11bb17d
add rcx, rax
movabs rax, 0xf8f8cd969d5c6e27
xor rcx, rax
sub rcx, qword [0x140336048]
movabs rax, 0x87d654b71efc3e20
add rcx, rax
mov rdi, qword [0x140336040]
add rcx, rdi
movabs rax, 0x5a9179a65124fe4f
xor rcx, rax
movabs rax, 0x5f627dc49408e5ca
sub rcx, rax
movabs rax, 0xd23b3cd176ba0d1c
xor rcx, rax
movabs rdx, 0xb483ce42feac3c6b
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94adf53a85a
mov r10, qword [0x140336038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b520ac57a5
mov r11, qword [0x140336030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d94dad26d2f
add rdx, rax
add rdx, rcx
movabs rax, 0x191f1409bb9a1802
xor rdx, rax
mov qword [rsp + 0xa0], rdx
movabs rcx, 0xf33a52a811625603
add rcx, qword [rsp + 0xa8]
movabs rax, 0x7b55366252fba366
xor rcx, rax
sub rcx, qword [0x140336050]
sub rcx, qword [0x140336058]
movabs rax, 0xedf047f2f99b601
sub rcx, rax
movabs rax, 0xf8f8cda69ff2ba55
xor rcx, rax
sub rcx, qword [0x140336048]
movabs rax, 0xc7d654cc84e7952c
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179b84c2c4fed
xor rcx, rax
movabs rax, 0x5f627de03d1cdb40
sub rcx, rax
movabs rax, 0x2e3b3cd958fc3f1d
xor rcx, rax
movabs rax, 0x3483ce5253dbaeba
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94aa04587ac
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b55fba7853
xor r11, rax
movabs rax, 0xe0b56d558d63df01
add rcx, rax
add rcx, r11
movabs rax, 0x8c9292cbf51b9cc4
xor rcx, rax
mov qword [rsp + 0xa8], rcx
and rcx, rdx
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], r12
cmp qword [rsp + 0x50], rcx
jne 0x14018c7e0
mov dword [rsp + 0x3c], r12d
mov dword [rsp + 0x3c], 0xc64b9008
mov eax, dword [rsp + 0x3c]
add eax, 0x8cff7736
xor eax, 0xc8b1f04
sub eax, dword [0x140336058]
sub eax, dword [0x140336050]
add eax, 0x21f3729c
xor eax, 0xe667249e
sub eax, dword [0x140336048]
mov rcx, qword [0x140336040]
add eax, 0x409bca9b
add eax, ecx
xor eax, 0xa32d1610
add eax, 0x59a40709
xor eax, 0xceb1d19b
mov edx, dword [0x140336030]
xor edx, 0x21cc03cf
sub edx, eax
mov eax, dword [0x140336038]
xor eax, 0xde33fc30
sub edx, eax
sub edx, ecx
sub edx, 0xad8f91f
xor edx, 0x6e3d7ad0
mov dword [rsp + 0x3c], edx
movsxd rax, edx
mov dword [rsp + 0x3c], r12d
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
movabs rax, 0x64e7d38ca8ff208f
mov qword [rsp + 0x30], rax
movabs rdi, 0xd007d3056f31abdf
mov rbx, r12
movabs rax, 0x7fb7067cbd09bf4e
movabs r11, 0xaf22270a3ea12775
mov rcx, qword [0x140336070]
imul rcx, rax
not rcx
movabs rdx, 0x50ddd8f5dd317235
mov rax, qword [0x140336060]
xor rax, rdx
and rcx, rax
ror rcx, 0x38
shr rcx, 8
mov qword [rsp + 0x230], rcx
movabs rax, 0xdc6aaf85abdae480
mov r8, qword [0x140336080]
imul r8, rax
movabs r9, 0x2ff82cfa90ce5421
sub r8, r9
movabs rax, 0xb4e71c14ffffffff
xor r8, rax
shr r8, 0x1f
not r8
lea rcx, [r8 + r9]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x47
and ecx, 0x8000003f
jge 0x14018c8b6
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
mov rdx, r8
ror rdx, cl
not rdx
movabs rcx, 0xec2b22891b33b640
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x20], rax
add r9, rax
mov r10, r8
imul r10, qword [rsp + 0x230]
sub r10, r9
movabs rax, 0x64e7d38ca8ff208f
xor r10, rax
mov cl, r9b
xor cl, 0xf8
and cl, 0xf
rol r10, cl
mov rax, r9
sub rax, qword [0x140336078]
xor r10, rax
movabs rax, 0xbba79ac5df0881c0
imul rdx, rax
movabs rax, 0x2fc06d64a0c1ac41
sub rdx, rax
xor r10, rdx
xor r10, r11
mov rax, r10
and eax, 3
je 0x14018cc08
sub rax, 1
je 0x14018cb0b
sub rax, 1
je 0x14018ca3e
cmp rax, 1
jne 0x14018cca3
mov rcx, r9
imul rcx, r8
movabs rax, 0x8f1bbcd5f2d76257
add rax, r10
xor rcx, rax
shr rcx, 0xc
not rcx
mov qword [rsp + 0x30], rcx
movabs rdx, 0x8357286bc854
add rdx, qword [0x140336088]
movabs rax, 0x2f7aa982f3bebcf7
xor rdx, rax
movzx eax, cl
movzx ecx, r10b
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9708b24af
sub rax, r8
mov r8, rdx
xor r8, rax
mov rcx, r8
imul rcx, rdi
mov eax, 0xa150f645
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs rdi, 0x31b12b45c349c228
sub rdi, qword [rsp + 0x30]
shr rdi, cl
movabs rax, 0x30005182e4a2daab
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r14 + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x230]
xor rdi, rax
jmp 0x14018cca3
movabs rcx, 0xaaaaaa1aa1490b7b
mov r8, r10
xor r8, rcx
movabs rcx, 0x1206ed6344d737
imul r8, rcx
movabs rdx, 0xffff7e8a875939a7
mov rcx, qword [rsp + 0x20]
imul rcx, rdx
movabs rdx, 0x4a0f027d4c9c59bc
add r8, rdx
add r8, rcx
movabs rax, 0x277cd7be7399dc1b
mov rcx, r8
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r8
not r9
imul r9, qword [r14 + rcx*8]
xor r9, 0xfffffffff41cddab
lea ecx, [r10 - 7]
and cl, r15b
rol r9, cl
movabs rax, 0x686019c600000000
imul r9, rax
mov rcx, r9
ror rcx, 0x29
not rcx
movabs rax, 0x9b2de6b2f1d578f0
imul rcx, rax
mov rax, r8
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x230]
and cl, r15b
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14018cca3
movabs rax, 0xe46dd577c90d6131
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, 0x9b182c735700df70
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r9b
and cl, r15b
rol r11, cl
movabs rcx, 0x2ff82cfa90ce5421
add rcx, r10
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x13056f31abdf
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7fd8d7d56
or r11, rax
mov rdi, qword [0x140336070]
movabs rax, 0x64e7d38ca8ff208f
imul rdi, rax
sub rdi, r9
mov rax, qword [rsp + 0x230]
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6ac857d5b
xor rdi, rax
mov rax, r10
imul rax, r9
imul rax, rdi
mov rbx, r8
sub rbx, rax
movabs rax, 0x789589463d73141
add rbx, rax
xor rbx, qword [rsp + 0x230]
movzx eax, r8b
imul ecx, eax, 0xfe
and cl, r15b
rol rbx, cl
not rbx
jmp 0x14018cca3
mov rcx, r10
imul rcx, qword [0x140336080]
mov rdx, qword [0x140336068]
and rcx, rdx
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x35
imul r11, r9
mov rbx, qword [rsp + 0x230]
not rbx
imul rbx, r8
movabs rax, 0x7cd8a7de71742cba
imul rbx, rax
imul rax, qword [0x140336060], 0xffffffffe3905540
sub rax, rdx
mov qword [rsp + 0x230], rax
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14018cc7e
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
mov rax, qword [rsp + 0x230]
ror rax, cl
movabs rcx, 0x2ff82cfa90ce5421
add rax, rcx
add rax, qword [rsp + 0x20]
mov qword [rsp + 0x230], rax
movabs rax, 0xff055d7b813f2677
mov rcx, qword [rsp + 0x30]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, rbx
imul r11, qword [r14 + rcx*8]
not r9
imul r9, r10
imul r9, qword [rsp + 0x230]
imul r9, rdi
movabs rcx, 0xf5ed7e87868c6cab
xor rcx, r8
not rcx
xor rcx, r9
sub rcx, r11
call fcn.140173f6c
mov qword [0x14033ff70], rax
movabs rax, 0xf14bc159303d0b64
mov qword [rsp + 0x28], rax
movabs rbx, 0x660f8a8333dd13bb
mov rdi, r12
movabs rax, 0x11dd9b67bca2e290
movabs r10, 0xe473f43665eb1946
mov rcx, qword [0x140336070]
imul rcx, rax
not rcx
movabs r8, 0x1b8c0bc99ea52d08
mov rax, qword [0x140336060]
xor rax, r8
and rcx, rax
ror rcx, 0x12
shr rcx, 8
mov qword [rsp + 0x20], rcx
movabs rax, 0x447c48a077adb2d0
mov r11, qword [0x140336070]
imul r11, rax
add r11, rbx
movabs rax, 0x52ef6c6b80000000
xor r11, rax
shr r11, 0x1f
not r11
movabs r8, 0x99f0757ccc22ec45
lea rcx, [r11 + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 9
and ecx, 0x8000003f
jge 0x14018cdda
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
mov rax, r11
ror rax, cl
not rax
mov qword [rsp + 0x88], rax
movabs rcx, 0x8184eb6a2417eb54
imul rax, rcx
mov qword [rsp + 0x30], rax
lea r9, [rax + r8]
mov r8, r11
mov rdx, qword [rsp + 0x20]
imul r8, rdx
sub r8, r9
movabs rax, 0xf14bc159303d0b64
xor r8, rax
movzx ecx, r9b
mov dword [rsp + 0x230], ecx
xor ecx, 6
and ecx, 0xf
jge 0x14018ce3a
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
rol r8, cl
movabs rcx, 0x786777ba0774225c
mov rax, qword [rsp + 0x88]
imul rax, rcx
movabs rcx, 0x340c5dd66b9cb567
add rax, rcx
xor r8, rax
mov rax, r9
sub rax, qword [0x140336078]
xor r8, rax
xor r8, r10
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14018d152
sub rax, 1
je 0x14018d052
sub rax, 1
je 0x14018cf88
cmp rax, 1
jne 0x14018d1da
mov rcx, r9
imul rcx, r11
movabs rax, 0xccd573dfde41ae5d
add rax, r8
xor rcx, rax
ror rcx, 0x2a
shr rcx, 0xc
not rcx
mov qword [rsp + 0x28], rcx
movabs rdx, 0xffff7ca8dfe5d81e
add rdx, qword [0x140336088]
movabs rax, 0x668d0ffb58dc14dd
xor rdx, rax
movzx eax, r8b
movzx ecx, cl
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0x8358246870534e1
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rbx
mov eax, 0xa92119f5
sub rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs rbx, 0x73d7feabf00f0d14
sub rbx, qword [rsp + 0x28]
shr rbx, cl
movabs rax, 0x99e850f4707d830d
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r14 + rcx*8]
imul rax, r8
sub rax, qword [rsp + 0x20]
xor rbx, rax
jmp 0x14018d1da
movabs rcx, 0x555555e556c71b35
mov r11, r8
xor r11, rcx
movabs rcx, 0xffedf91294cac779
imul r11, rcx
movabs rdx, 0x817570d729e9
mov rcx, qword [rsp + 0x30]
imul rcx, rdx
movabs rdx, 0xe4526e968e1c0da7
add r11, rdx
add r11, rcx
movabs rax, 0xd88328418417cc55
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
imul r9, qword [r14 + rcx*8]
xor r9, 0x392cde5
lea ecx, [r8 - 9]
and cl, r15b
rol r9, cl
movabs rax, 0x8180021160000000
imul r9, rax
mov rdx, r9
ror rdx, 0xc
not rdx
movabs rax, 0x193486534bfb4e72
imul rdx, rax
sub rdx, r9
add rdx, r11
shl rdx, 2
mov cl, byte [rsp + 0x20]
and cl, r15b
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x14018d1da
movabs rax, 0xab57d38d3010bb03
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0xeb43ea6cfc2f49b
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
mov eax, dword [rsp + 0x230]
and eax, 0x8000003f
jge 0x14018d0a9
sub eax, r13d
or eax, 0xffffffc0
add eax, r13d
mov cl, al
rol r10, cl
movabs rcx, 0x99f0757ccc22ec45
add rcx, r8
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, qword [r14 + rcx*8]
imul rax, rbx
xor r10, rax
movabs rax, 0x38580a036d18
or r10, rax
mov rbx, qword [0x140336070]
movabs rax, 0xf14bc159303d0b64
imul rbx, rax
sub rbx, r9
mov rax, qword [rsp + 0x20]
sub rax, r10
xor rbx, rax
movabs rax, 0x385839595b0b6d15
xor rbx, rax
mov rax, r8
imul rax, r9
imul rax, rbx
mov rdi, r11
sub rdi, rax
movabs rax, 0x78958946ba6def1
sub rdi, rax
xor rdi, qword [rsp + 0x20]
movzx eax, r11b
imul ecx, eax, 0xf0
and cl, r15b
rol rdi, cl
not rdi
jmp 0x14018d1da
mov rcx, r8
imul rcx, qword [0x140336080]
and rcx, qword [0x140336080]
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 6
imul r10, r9
mov rdi, rdx
not rdi
imul rdi, r11
movabs rax, 0x8327582186fa3cf4
imul rdi, rax
imul r15, qword [0x140336060], 0xfffffffffb4e344e
mov rdx, qword [0x140336068]
sub r15, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14018d1c0
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
ror r15, cl
movabs rax, 0x99f0757ccc22ec45
add rax, r15
add rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
movabs rax, 0xfaa28476b13639
mov rcx, qword [rsp + 0x28]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r10, rdi
imul r10, qword [r14 + rcx*8]
not r9
imul r9, r8
imul r9, qword [rsp + 0x20]
imul r9, rbx
movabs rcx, 0xa12817871027ce5
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r10
call fcn.14017447c
mov qword [0x14033ff38], rax
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x40], 0x26ed5e89
mov eax, dword [rsp + 0x40]
add eax, 0xc55d1836
xor eax, 0xad8b5761
sub eax, dword [0x140336058]
sub eax, dword [0x140336050]
add eax, 0x214a59b9
xor eax, 0xad280d1a
sub eax, dword [0x140336048]
mov rcx, qword [0x140336040]
add eax, 0x7418b28f
add eax, ecx
xor eax, 0x62e24a6c
add eax, 0x670df045
xor eax, 0xaa813e2e
mov edx, dword [0x140336030]
xor edx, 0x20ea8d4b
sub edx, eax
mov eax, dword [0x140336038]
xor eax, 0xdf1572b4
sub edx, eax
sub edx, ecx
add edx, 0xe9212ff
xor edx, 0x83fdbebc
mov dword [rsp + 0x40], edx
movsxd rax, edx
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x40], r12d
mov edi, r12d
mov r14d, 0x5558699a
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 edi, edi
je 0x14018d340
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x8990c936
jmp 0x14018d332
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x14018d312
cmp r9d, edi
jne 0x14018d3c4
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov ebx, ecx
add rbx, r10
shr rcx, 0x20
cmp rbx, r10
je 0x14018d3c4
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x14018d3c4
mov r9d, dword [rbx + 0x20]
dec esi
mov r8d, esi
lea rdx, [r10 + rsi*4]
mov r11d, dword [rdx + r9]
add r11, r10
mov r15d, 0x8990c936
mov dl, byte [r11]
add r11, r13
mov r9d, 0x4764996c
test dl, dl
je 0x14018d3b7
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r9d
xor r8d, r15d
mov r15d, edx
imul r15d, r8d
mov dl, byte [r11]
add r11, r13
test dl, dl
jne 0x14018d38f
mov r8d, esi
cmp r15d, r14d
je 0x14018d3cc
test esi, esi
mov r9d, dword [rbx + 0x20]
jne 0x14018d369
mov rax, qword [rax]
jmp 0x14018d2e6
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r8*2]
mov edx, dword [rdx + rax*4]
add rdx, r10
mov qword [rsp + 0x230], rdx
cmp rdx, rbx
jbe 0x14018d45a
lea rax, [rcx + rbx]
cmp rdx, rax
jae 0x14018d45a
mov edi, 0x8990c936
mov r14d, edi
jmp 0x14018d41b
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, edi
mov edi, eax
imul edi, ecx
add rdx, r13
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14018d403
jmp 0x14018d43b
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, r14d
mov r14d, eax
imul r14d, ecx
add rdx, r13
mov al, byte [rdx]
test al, al
jne 0x14018d423
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x14018d3c4
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x48], 0xcbd7db68
mov eax, dword [rsp + 0x48]
add eax, 0x87f139b4
xor eax, 0xcf0919f5
sub eax, dword [0x140336058]
sub eax, dword [0x140336050]
sub eax, 0x57fd62ab
xor eax, 0xf3899b16
sub eax, dword [0x140336048]
mov rcx, qword [0x140336040]
add eax, 0x3e789f19
add eax, ecx
xor eax, 0xf0f15438
sub eax, 0x1e436666
xor eax, 0xbd4918ce
lea edx, [rcx + 0x3b8ab342]
add edx, eax
not edx
mov eax, dword [0x140336038]
xor eax, 0xd61fc33a
sub edx, eax
mov r15d, dword [0x140336030]
xor r15d, 0x29e03cc5
add r15d, 0xbdb9b152
add r15d, edx
xor r15d, 0x54f2d3a2
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x44], 0x5db49839
mov eax, dword [rsp + 0x44]
add eax, 0x5005f37
xor eax, 0xf48b9704
sub eax, dword [0x140336058]
sub eax, dword [0x140336050]
add eax, 0x208b6fe4
xor eax, 0x6c8638fd
sub eax, dword [0x140336048]
mov rcx, qword [0x140336040]
add eax, 0x9db68fae
add eax, ecx
xor eax, 0x1a4c0d6f
add eax, 0x79c43f6b
xor eax, 0x52ad9d93
mov edx, dword [0x140336030]
xor edx, 0x1fec002f
sub edx, eax
mov eax, dword [0x140336038]
xor eax, 0xe013ffd0
sub edx, eax
sub edx, ecx
add edx, 0x4c0383ac
xor edx, 0x276bf730
mov dword [rsp + 0x44], edx
movsxd r14, edx
mov qword [rsp + 0xb8], r12
movabs rax, 0x2e67c486f9b53b00
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], r12
movabs rax, 0xcd0dca3e3b36dfb8
mov qword [rsp + 0xb0], rax
movabs rcx, 0xf33a52a8040f5903
add rcx, qword [rsp + 0xb8]
movabs rax, 0x7e55366252fb9613
xor rcx, rax
sub rcx, qword [0x140336050]
sub rcx, qword [0x140336058]
movabs rax, 0xedf047f2f71bd0a
sub rcx, rax
movabs rax, 0xf8f8cda6ad7b0349
xor rcx, rax
sub rcx, qword [0x140336048]
movabs rax, 0x47d654cc96fdbb9a
add rcx, rax
mov rsi, qword [0x140336040]
add rcx, rsi
movabs rax, 0x5a9179b85b5ef881
xor rcx, rax
movabs rax, 0x5f627de047053e14
sub rcx, rax
movabs rax, 0x163b3cd95fa62835
xor rcx, rax
movabs rdx, 0x3483ce5260d166cf
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94aa0103bb8
mov r10, qword [0x140336038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b55fefc447
mov r11, qword [0x140336030]
mov rcx, r11
xor rcx, rax
movabs rdi, 0xe0b56d555822a70d
add rdi, rdx
add rdi, rcx
movabs rax, 0xf4c754a7db017008
xor rdi, rax
mov qword [rsp + 0xb8], rdi
movabs rcx, 0xf33a52b599603483
add rcx, qword [rsp + 0xb0]
movabs rax, 0x59d5366253092b64
xor rcx, rax
sub rcx, qword [0x140336050]
sub rcx, qword [0x140336058]
movabs rax, 0x7120fb80a7ce5064
add rcx, rax
movabs rax, 0xf8f8cd98e1d4e45b
xor rcx, rax
sub rcx, qword [0x140336048]
movabs rax, 0x7d654ba26ce79a5
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a8dd0ebe23
xor rcx, rax
movabs rax, 0x5f627dc719fe4c16
sub rcx, rax
movabs rax, 0x3a3b3cd294910fee
xor rcx, rax
movabs rax, 0xb483ce452a95c150
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad6657f26
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5299a80d9
xor r11, rax
movabs rbx, 0xe0b56d8c03bb507b
add rbx, rcx
add rbx, r11
movabs rax, 0x3bf48fec0e77c736
xor rbx, rax
mov qword [rsp + 0xb0], rbx
mov r9, qword [rsp + 0x50]
mov r8d, r15d
mov rdx, r14
mov rcx, r9
call qword [rsp + 0x230]
movsxd rcx, eax
and rbx, rdi
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xb8], r12
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x48], r12d
cmp rcx, rbx
je 0x14018f01e
movabs r14, 0xf1497f8e1aff8d4b
movabs r8, 0xf09be3bf055b1a2
mov qword [rsp + 0x230], r8
movabs rax, 0x98be31004f447600
mov r15, qword [0x140336060]
imul r15, rax
movabs rax, 0xd8a9dcd70e8d4d00
xor r15, rax
mov rcx, r15
imul rcx, r8
mov qword [rsp + 0x20], rcx
movabs rdi, 0xaaaaaaaaaaaaaaab
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r15
and r9, r8
lea rsi, [0x140336060]
imul r9, qword [rsi + rcx*8]
movabs rax, 0x9b1b3b1eddc3a622
imul r9, rax
shr r9, 3
movabs rax, 0x9200da600581d91b
xor r9, rax
movabs rax, 0xffffff57c362fc61
mov rbx, r15
imul rbx, rax
sub rbx, 0x3dbd18da
xor rbx, r9
xor rbx, qword [0x140336060]
mov rax, r9
imul rax, qword [0x140336070]
movabs rcx, 0xb9de928bcad14340
imul rax, rcx
not rax
and rbx, rax
ror rbx, 0x13
shr rbx, 8
movabs r10, 0xf0f641c40faa4e5e
lea rcx, [r15 + r10]
xor rcx, 0xfffffffff45f484d
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xe57b808586aa0200
mov r11, qword [rsi + rcx*8]
imul r11, rax
add r11, r8
movabs rcx, 0x5662f8c4013d11d8
mov rax, r9
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, r15
mov qword [rsp + 0x28], rax
lea rcx, [r11 + r10]
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 [rsi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x51
and ecx, 0x8000003f
jge 0x14018d92e
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
mov rdx, qword [rsp + 0x28]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xffffffffc242e726
mov qword [rsp + 0x28], rax
lea r8, [rax + r10]
mov r10, r11
imul r10, rbx
sub r10, r8
xor r10, r14
mov cl, r8b
xor cl, 0xfe
and cl, 0xf
rol r10, cl
mov rax, r8
sub rax, qword [0x140336078]
xor r10, rax
movabs rax, 0x8d5987d58fc58c0c
imul rdx, rax
movabs rax, 0x5631226b30d56a84
sub rdx, rax
xor r10, rdx
xor r10, r9
xor r10, r15
mov rax, r10
not rax
and eax, 2
je 0x14018dcec
sub rax, 1
je 0x14018dbb8
sub rax, 1
je 0x14018dabc
cmp rax, 1
jne 0x14018dd93
mov r14, r8
imul r14, r11
movabs rax, 0x8b9088d66b7aad9e
add rax, r10
xor r14, rax
ror r14, 0x2a
shr r14, 0xc
xor r14, r15
not r14
movabs rcx, 0x835728204d46
mov rdx, qword [0x140336088]
add rdx, rcx
movabs rax, 0xf074c4bc6c91239c
xor rdx, rax
movzx eax, r14b
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db970c0a1b9
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0xf09be3bf055b1a2
imul rcx, rax
mov eax, 0xa11b7353
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 [rsi + rcx*8]
and cl, 0xf
movabs rax, 0xc9654fb4e797a8bb
sub rax, r14
shr rax, cl
mov qword [rsp + 0x230], rax
movabs rcx, 0xf0fe664c634951fe
add rcx, qword [rsp + 0x28]
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 [rsi + rcx*8]
imul rax, r10
sub rax, rbx
xor qword [rsp + 0x230], rax
jmp 0x14018dd93
movabs rax, 0xaaaaaa1aa1028e6d
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed630f5221
imul rcx, rax
movabs rdx, 0xfff17ca87660b811
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8712bcb1
mov rdx, qword [rsp + 0x28]
imul rdx, rax
movabs r11, 0x6c9d5e9381fbf3af
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be73d2590d
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 r8, r11
not r8
imul r8, qword [rsi + rcx*8]
xor r8, 0xfffffffff45758bd
lea ecx, [r10 - 0x11]
and cl, 0x3f
rol r8, cl
movabs rcx, 0x3c200c4680000000
mov rax, qword [rsp + 0x20]
xor rax, rcx
movabs rcx, 0x7c7a7dc69d50520c
and rax, rcx
imul r8, rax
mov rcx, r8
ror rcx, 0x3b
not rcx
movabs rax, 0x9b2de6b2f0fb6ca8
imul rcx, rax
mov rax, r11
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, bl
and cl, 0x3f
ror rdx, cl
movabs rax, 0xf09be3bf055b1a2
imul rdx, rax
mov qword [rsp + 0x230], rdx
jmp 0x14018dd93
movabs rax, 0xcced14d4eac8a37c
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, 0xf0f641c40faa4e5d
mov rax, r15
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r9, rax
mov cl, r8b
and cl, 0x3f
rol r9, cl
movabs rcx, 0xf0f641c40faa4e5e
add rcx, r10
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffffe3bf055b1a2
mov rax, qword [rsi + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7fdc6f840
or r9, rax
mov rcx, qword [0x140336070]
imul rcx, r14
sub rcx, r8
mov rax, rbx
sub rax, r9
xor rcx, rax
movabs rax, 0xc7a7c6a6accef84d
xor rcx, rax
mov qword [rsp + 0x230], rcx
movabs rax, 0xcccccccccccccccd
mul r15
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r15
sub rcx, rax
or rcx, r13
xor edx, edx
mov rax, qword [rsp + 0x230]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r8
imul rdx, qword [rsp + 0x230]
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, r15
movabs r15, 0x7895894639cb457
add r15, rax
xor r15, rbx
movzx eax, r11b
imul ecx, eax, 0xe8
and cl, 0x3f
rol r15, cl
not r15
jmp 0x14018dd93
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 [0x140336080]
mov rdx, qword [rsi + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r8
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de713fa9ac
imul rbx, rax
mov rax, r9
imul rax, r15
mov r15, rbx
xor r15, rax
imul rbx, qword [0x140336060], 0xffffffffc242e726
mov rdx, qword [0x140336068]
sub rbx, rdx
mov al, r15b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14018dd7e
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
ror rbx, cl
movabs rax, 0xf0f641c40faa4e5e
add rbx, rax
add rbx, qword [rsp + 0x28]
movabs rax, 0xff055d7b8174a361
xor r14, rax
mov rax, rdi
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r9, r15
imul r9, qword [rsi + r14*8]
not r8
imul r8, r10
imul r8, rbx
imul r8, qword [rsp + 0x230]
movabs rcx, 0xf5ed7e8786c7e9bd
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.140174044
mov qword [0x14033ff58], rax
mov dword [rsp + 0x90], r12d
mov dword [rsp + 0x94], 0x43c93ba2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x130], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0xf0], rax
mov esi, dword [rsp + 0x90]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x120], xmm0
movd ecx, xmm0
sub cx, 8
mov word [rsp + 0x120], cx
test esi, esi
je 0x14018decc
mov r8, qword [rsp + 0x128]
mov qword [rsp + 0x108], r8
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov qword [rsp + 0x140], r10
mov r9d, 0xe67113b8
mov dword [rsp + 0xc8], r9d
cmp r8, r10
je 0x14018dec3
movsx ecx, byte [r8]
mov byte [rsp + 0x238], 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 + 0xc8], r9d
add r8, 2
mov qword [rsp + 0x108], r8
jmp 0x14018de85
cmp r9d, esi
jne 0x14018e0a2
mov r9, qword [rax + 0x30]
mov qword [rsp + 0x148], r9
mov qword [rsp + 0x188], r9
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov qword [rsp + 0x150], rcx
mov r11d, ecx
add r11, r9
mov qword [rsp + 0x190], r11
shr rcx, 0x20
mov dword [rsp + 0x198], ecx
cmp r11, r9
je 0x14018e0a2
mov edi, dword [r11 + 0x18]
mov dword [rsp + 0xcc], edi
mov edx, edi
dec edi
mov dword [rsp + 0xcc], edi
test edx, edx
je 0x14018e0a2
mov r8d, dword [r11 + 0x20]
add r8, r9
mov r10d, dword [r8 + rdi*4]
add r10, r9
mov qword [rsp + 0x110], r10
mov ebx, 0xe67113b8
mov dword [rsp + 0xe0], ebx
movsx edx, byte [r10]
mov byte [rsp + 0x80], dl
add r10, r13
mov qword [rsp + 0x110], r10
test dl, dl
jne 0x14018e419
cmp ebx, dword [rsp + 0x94]
jne 0x14018e414
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov qword [rsp + 0x158], rdx
mov eax, dword [r11 + 0x24]
add rax, r9
mov qword [rsp + 0x160], rax
movzx eax, word [rax + rdi*2]
mov r15d, dword [rdx + rax*4]
add r15, r9
mov qword [rsp + 0x168], r15
cmp r15, r11
jbe 0x14018e0b2
lea rax, [r11 + rcx]
cmp r15, rax
jae 0x14018e0b2
mov qword [rsp + 0xd0], r15
mov dword [rsp + 0xc0], 0xe67113b8
mov r9d, 0xe67113b8
mov dword [rsp + 0xc4], r9d
mov r10d, r9d
mov r8d, 0x4764996c
movsx eax, byte [r15]
cmp al, 0x2e
je 0x14018e02c
mov byte [rsp + 0x58], al
mov ecx, eax
mov edx, eax
imul edx, eax
add edx, 0x31
xor edx, r8d
mov eax, r10d
xor eax, ecx
mov r10d, edx
imul r10d, eax
mov dword [rsp + 0xc0], r10d
add r15, r13
mov qword [rsp + 0xd0], r15
jmp 0x14018dff2
add r15, r13
mov qword [rsp + 0xd0], r15
movsx eax, byte [r15]
test al, al
je 0x14018e062
mov byte [rsp + 0x60], al
mov ecx, eax
imul eax, eax
add eax, 0x31
xor eax, r8d
xor ecx, r9d
mov r9d, eax
imul r9d, ecx
mov dword [rsp + 0xc4], r9d
jmp 0x14018e02c
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x170], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x178], rax
mov qword [rsp + 0xf0], rax
mov esi, dword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0xf0], rax
jmp 0x14018de35
mov qword [rsp + 0x98], r12
movabs rax, 0x935c543d4528629
mov qword [rsp + 0x98], rax
movabs rcx, 0xf33a52b40f314c83
add rcx, qword [rsp + 0x98]
movabs rax, 0x71d536625307a135
xor rcx, rax
sub rcx, qword [0x140336050]
sub rcx, qword [0x140336058]
movabs rax, 0x7120fb80ac6cdd1c
add rcx, rax
movabs rax, 0xf8f8cd9a722c87fb
xor rcx, rax
sub rcx, qword [0x140336048]
movabs rax, 0x7d654bc3de12591
add rcx, rax
mov rdx, qword [0x140336040]
add rcx, rdx
movabs rax, 0x5a9179aa9eac3ec3
xor rcx, rax
movabs rax, 0x5f627dc74ed05936
sub rcx, rax
movabs rax, 0x7a3b3cd359b4d565
xor rcx, rax
movabs rax, 0xb483ce46a9fd60f8
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ad03cc386
mov rax, qword [0x140336038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52fc33c79
mov rcx, qword [0x140336030]
xor rcx, rax
movabs rbx, 0xe0b56d85d498fcdb
add rbx, rdx
add rbx, rcx
movabs rax, 0xc2355517339dd256
xor rbx, rax
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x98], rbx
mov byte [rsp + 0x220], r12b
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x220]
call fcn.14017bab4
mov rcx, rax
mov qword [rsp + 0xe8], rax
mov rax, r12
mov qword [rsp + 0xd8], rax
cmp rax, 0x31
jae 0x14018e38c
xor edx, edx
movabs rcx, 0x13cce94adb9e64d0
div rcx
add dl, 0x30
mov byte [rsp + 0x68], dl
mov r14b, dl
sar r14b, 7
or r14b, dl
mov byte [rsp + 0x70], r14b
mov al, r14b
shl al, 6
mov sil, r14b
sar sil, 2
or sil, al
movsx rcx, r14b
mov r11, rcx
sar r11, 2
or r11b, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov bl, r14b
not bl
mov dil, r14b
ror dil, 7
lea eax, [r10 - 0x50]
add dil, al
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe8]
mov dl, byte [rdx + rax]
sub dl, sil
sub dl, 2
mov eax, 4
sub al, r11b
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140336050]
sub dl, byte [0x140336058]
sub dl, 0x3f
add dl, r11b
add dl, r14b
lea eax, [r14 + 7]
add al, r11b
xor dl, al
sub dl, byte [0x140336048]
sub dl, r14b
sub dl, r9b
mov rcx, qword [0x140336040]
sub dl, 0x50
add dl, cl
add dl, r11b
mov al, r8b
sub al, r9b
add al, r14b
add al, sil
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor dil, dl
mov al, r14b
add al, al
sub dil, al
add cl, 0x51
add dil, cl
add dil, r11b
add dil, sil
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, bl
xor al, byte [0x140336038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x140336030]
add dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor dil, cl
mov byte [rsp + 0x78], dil
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe8]
mov byte [rax + rcx], dil
add rax, r13
jmp 0x14018e1f6
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 0x31
mov r8, qword [rsp + 0x230]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x50]
call r15
nop
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x14018e3f4
mov rax, r12
mov qword [rsp + 0x118], rax
cmp rax, qword [rsp + 0x100]
jae 0x14018e3f4
mov byte [rcx + rax], r12b
add rax, r13
mov qword [rsp + 0x118], rax
mov rcx, qword [rsp + 0xf8]
jmp 0x14018e3d1
mov qword [rsp + 0x98], r12
mov byte [rsp + 0x228], r12b
lea rcx, [rsp + 0x228]
call fcn.14017bb10
nop
jmp 0x14018e446
jmp 0x14018df21
mov r8d, edx
imul edx, edx
add edx, 0x31
xor edx, 0x4764996c
xor r8d, ebx
mov ebx, edx
imul ebx, r8d
mov dword [rsp + 0xe0], ebx
jmp 0x14018df56
lea rsi, [0x140336060]
movabs rdi, 0xaaaaaaaaaaaaaaab
movabs r8, 0xfa7c1e9c80b821c1
movabs r14, 0x78c75dfdc44fffa7
mov r15, r12
movabs rbx, 0x61380f5625f81a54
movabs rax, 0x70c1b07060c962f0
mov rcx, qword [0x140336070]
imul rcx, rax
not rcx
movabs rdx, 0x9ec7f0a9a1372b6a
mov rax, qword [0x140336060]
xor rax, rdx
and rcx, rax
ror rcx, 0x1a
shr rcx, 8
mov qword [rsp + 0x20], rcx
movabs rax, 0xfcb05f5d70b69c08
mov r10, qword [0x140336080]
imul r10, rax
add r10, r14
movabs rax, 0xde2ceb6d7fffffff
xor r10, rax
shr r10, 0x1f
not r10
movabs r9, 0x8738a2023bb00059
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 [rsi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xdd
and ecx, 0x8000003f
jge 0x14018e527
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
mov rax, r10
ror rax, cl
not rax
movabs rdx, 0xf2c7bafe490c7458
mov rcx, rax
imul rcx, rdx
mov qword [rsp + 0x28], rcx
add r9, rcx
movzx ecx, r9b
mov dword [rsp + 0x230], ecx
xor cl, 2
and cl, 0xf
mov r11, r10
mov rdx, qword [rsp + 0x20]
imul r11, rdx
sub r11, r9
xor r11, r8
rol r11, cl
movabs rcx, 0x1fef4d88562b8d68
imul rax, rcx
movabs rcx, 0x3df4c1727f9fe10f
add rax, rcx
xor r11, rax
mov rax, r9
sub rax, qword [0x140336078]
xor r11, rax
xor r11, rbx
mov rax, r11
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14018e884
sub rax, 1
je 0x14018e77f
sub rax, 1
je 0x14018e6ab
cmp rax, 1
jne 0x14018e90c
mov r8, r9
imul r8, r10
movabs rax, 0x35c8971e78e6d65
add rax, r11
xor r8, rax
ror r8, 0x22
shr r8, 0xc
not r8
movzx eax, r8b
movzx ecx, r11b
imul ecx, eax
and cl, 0x3f
movabs rdx, 0x83572f7d3cca
add rdx, qword [0x140336088]
movabs rax, 0x87ba277a5fd61c15
xor rdx, rax
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9779dd035
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, r14
mov eax, 0xa64602df
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 [rsi + rcx*8]
and cl, 0xf
movabs r14, 0x358adc5578bdbe00
sub r14, r8
shr r14, cl
movabs rax, 0x8740c68a9072726d
mov rcx, qword [rsp + 0x28]
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 [rsi + rcx*8]
imul rax, r11
sub rax, qword [rsp + 0x20]
xor r14, rax
jmp 0x14018e90c
movabs rcx, 0xaaaaaa1aa65fffe1
mov r10, r11
xor r10, rcx
movabs rcx, 0x1206ed645223ad
imul r10, rcx
movabs rdx, 0xffff7e8a804fcd3d
mov rcx, qword [rsp + 0x28]
imul rcx, rdx
movabs rdx, 0xdcabd856f03853a9
add r10, rdx
add r10, rcx
lea ecx, [r11 - 0x1d]
and cl, 0x3f
movabs rax, 0x277cd7be748f2881
mov r8, r10
xor r8, rax
mov rax, rdi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
mov r9, r10
not r9
imul r9, qword [rsi + r8*8]
xor r9, 0xfffffffff30a2931
rol r9, cl
movabs rax, 0x6c6879c680000000
imul r9, rax
mov cl, byte [rsp + 0x20]
and cl, 0x3f
mov rdx, r9
ror rdx, 0x3d
not rdx
movabs rax, 0x9b2de6b2ed8eaa98
imul rdx, rax
mov rax, r10
sub rax, r9
lea rdx, [rdx + rax*4]
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
movabs r8, 0xfa7c1e9c80b821c1
jmp 0x14018e90c
movabs rax, 0x965f7394494ab0b5
imul r11, rax
mov r14d, dword [rsp + 0x230]
and r14d, 0x8000003f
jge 0x14018e7a8
sub r14d, r13d
or r14d, 0xffffffc0
add r14d, r13d
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x583e1637f47de3e
shl rdx, cl
mov rax, rbx
mov rbx, rdx
xor rbx, rax
mov cl, r14b
rol rbx, cl
movabs rcx, 0x8738a2023bb00059
add rcx, r11
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1dfdc44fffa7
mov rax, qword [rsi + rcx*8]
imul rax, rdx
xor rbx, rax
movabs rax, 0xffffc7a7fa9b89cc
or rbx, rax
mov r14, qword [0x140336070]
imul r14, r8
sub r14, r9
mov rax, qword [rsp + 0x20]
sub rax, rbx
xor r14, rax
movabs rax, 0xc7a7c6a6ab9389c1
xor r14, rax
movzx eax, r10b
imul ecx, eax, 0xe4
and cl, 0x3f
mov rax, r11
imul rax, r9
imul rax, r14
mov r15, r10
sub r15, rax
movabs rax, 0x789589464c1c5db
add r15, rax
xor r15, qword [rsp + 0x20]
rol r15, cl
not r15
jmp 0x14018e90c
mov rcx, qword [0x140336080]
imul rcx, r11
and rcx, qword [0x140336080]
mov rax, rbx
mov rbx, rcx
xor rbx, rax
ror rbx, 0x14
imul rbx, r9
mov r15, rdx
not r15
imul r15, r10
movabs rax, 0x7cd8a7de7662d820
imul r15, rax
mov al, r15b
not al
movzx ecx, al
mov rdx, qword [0x140336068]
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14018e8e4
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
imul rax, qword [0x140336060], 0xffffffff84cf313e
sub rax, rdx
ror rax, cl
movabs rcx, 0x8738a2023bb00059
add rax, rcx
add rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
movabs rax, 0xff055d7b8629d2ed
xor r8, rax
mov rax, rdi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
xor rbx, r15
imul rbx, qword [rsi + r8*8]
not r9
imul r9, r11
imul r9, qword [rsp + 0x20]
imul r9, r14
movabs rcx, 0xf5ed7e87819a9831
xor rcx, r10
not rcx
xor rcx, r9
sub rcx, rbx
call fcn.140173c78
mov qword [0x14033ff48], rax
mov r14d, r12d
mov r15d, 0xb4636b0a
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 r14d, r14d
je 0x14018e9dd
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x1e155b3a
jmp 0x14018e9cf
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x14018e9af
cmp r9d, r14d
jne 0x14018eb2e
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov ebx, ecx
add rbx, r11
shr rcx, 0x20
cmp rbx, r11
je 0x14018eb2e
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14018eb2e
mov r9d, dword [rbx + 0x20]
dec r8d
mov dword [rsp + 0x20], r8d
mov edx, r8d
mov qword [rsp + 0x28], rdx
lea rdx, [r9 + r8*4]
mov r9d, dword [rdx + r11]
add r9, r11
mov edx, 0x1e155b3a
mov r10b, byte [r9]
mov byte [rsp + 0x230], r10b
add r9, r13
test r10b, r10b
mov r10d, 0x4764996c
je 0x14018ea8a
mov r11d, edx
mov dl, byte [rsp + 0x230]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r10d
xor r8d, r11d
mov r11d, edx
imul r11d, r8d
mov dl, byte [r9]
add r9, r13
test dl, dl
jne 0x14018ea53
mov dword [rsp + 0x30], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x30]
cmp edx, r15d
je 0x14018eaa1
test r8d, r8d
mov r9d, dword [rbx + 0x20]
jne 0x14018ea10
jmp 0x14018eb2e
mov edx, dword [rbx + 0x24]
add rdx, r11
mov rax, qword [rsp + 0x28]
movzx r8d, word [rdx + rax*2]
mov edx, dword [rbx + 0x1c]
add rdx, r11
mov r9d, dword [rdx + r8*4]
add r9, r11
cmp r9, rbx
jbe 0x14018eb36
lea rax, [rcx + rbx]
cmp r9, rax
jae 0x14018eb36
mov r14d, 0x1e155b3a
mov r15d, r14d
jmp 0x14018eaf2
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, r14d
mov r14d, eax
imul r14d, ecx
add r9, r13
mov al, byte [r9]
cmp al, 0x2e
jne 0x14018ead7
jmp 0x14018eb13
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r10d
xor ecx, r15d
mov r15d, eax
imul r15d, ecx
add r9, r13
mov al, byte [r9]
test al, al
jne 0x14018eafb
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14018e982
mov rcx, qword [rsp + 0x50]
call r9
movabs rbx, 0x2a27007892e50e1b
movabs rax, 0xa4220af79100e70
movabs r15, 0xf87b10c5a7a0fdba
movabs r14, 0xbb8f3a04639175e7
mov r8, qword [0x140336070]
imul r8, rax
not r8
movabs rdx, 0xd5d8ff87563a35b9
mov rax, qword [0x140336060]
xor rax, rdx
and r8, rax
ror r8, 6
shr r8, 8
mov qword [rsp + 0x230], r8
movabs rax, 0xcbb7f7f735cecf20
mov r10, qword [0x140336070]
imul r10, rax
movabs r9, 0x4470c5fb9c6e8a19
sub r10, r9
movabs rax, 0x2dbb76c480000000
xor r10, rax
shr r10, 0x1f
not r10
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 [rsi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x41
and ecx, 0x8000003f
jge 0x14018ec0b
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
mov rax, r10
ror rax, cl
not rax
movabs rcx, 0xd0645c60b4b82616
mov rdx, rax
imul rdx, rcx
mov qword [rsp + 0x28], rdx
add r9, rdx
mov cl, r9b
xor cl, 0xfe
and cl, 0xf
mov r11, r10
imul r11, r8
sub r11, r9
xor r11, r15
rol r11, cl
movabs rcx, 0x853cb53b50086bda
imul rax, rcx
movabs rcx, 0x5ec42f0f6ffaf671
sub rax, rcx
xor r11, rax
mov rax, r9
sub rax, qword [0x140336078]
xor r11, rax
xor r11, rbx
mov rax, r11
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14018ef40
sub rax, 1
je 0x14018ee4b
sub rax, 1
je 0x14018ed7d
cmp rax, 1
jne 0x14018efc4
mov r15, r9
imul r15, r10
movabs rax, 0xe1dc55a0ea0ab009
add rax, r11
xor r15, rax
ror r15, 0x3e
shr r15, 0xc
not r15
movzx eax, r11b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
movabs rdx, 0x83572ea45c56
add rdx, qword [0x140336088]
movabs rax, 0x44f24083f9d1f6c9
xor rdx, rax
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97644b0a9
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, r14
mov eax, 0xa79f6243
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 [rsi + rcx*8]
and cl, 0xf
movabs r14, 0x899074fe59c3b9f0
sub r14, r15
shr r14, cl
movabs rcx, 0x4478ea83f1899ca9
add rcx, qword [rsp + 0x28]
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 [rsi + rcx*8]
imul rax, r11
sub rax, r8
xor r14, rax
jmp 0x14018efc4
movabs rcx, 0xaaaaaa1aa7869f7d
mov r10, r11
xor r10, rcx
movabs rcx, 0x1206ed658b4331
imul r10, rcx
movabs rcx, 0xffff7e8a8196ada1
imul rdx, rcx
movabs rcx, 0x6797a9833812c540
add r10, rcx
add r10, rdx
mov cl, r11b
sub cl, r13b
and cl, 0x3f
movabs rax, 0x277cd7be7556481d
mov r8, r10
xor r8, rax
mov rax, rdi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
mov r9, r10
not r9
imul r9, qword [rsi + r8*8]
xor r9, 0xfffffffff2d349ad
rol r9, cl
movabs rax, 0x480a604080000000
imul r9, rax
mov r8, qword [rsp + 0x230]
mov cl, r8b
and cl, 0x3f
mov rdx, r9
ror rdx, 0x1a
not rdx
movabs rax, 0x9b2de6b2eaeb28e8
imul rdx, rax
mov rax, r10
sub rax, r9
lea rdx, [rdx + rax*4]
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
jmp 0x14018efc4
movabs rax, 0x8c3737a7f38d2655
imul r11, rax
mov r8b, r9b
and r8b, 0x3f
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x784ef3a585f0245
shl rdx, cl
mov rax, rbx
mov rbx, rdx
xor rbx, rax
mov cl, r8b
rol rbx, cl
movabs rcx, 0x4470c5fb9c6e8a19
add rcx, r11
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffffa04639175e7
mov rax, qword [rsi + rcx*8]
imul rax, rdx
xor rbx, rax
movabs rax, 0xffffc7a7fb42e950
or rbx, rax
mov r14, qword [0x140336070]
imul r14, r15
sub r14, r9
mov r8, qword [rsp + 0x230]
mov rax, r8
sub rax, rbx
xor r14, rax
movabs rax, 0xc7a7c6a6aa4ae95d
xor r14, rax
movzx eax, r10b
imul ecx, eax, 0xf8
and cl, 0x3f
mov rax, r11
imul rax, r9
imul rax, r14
mov r12, r10
sub r12, rax
movabs rax, 0x78958946518a547
add r12, rax
xor r12, r8
rol r12, cl
not r12
jmp 0x14018efc4
mov rcx, r11
imul rcx, qword [0x140336080]
and rcx, qword [0x140336088]
mov rax, rbx
mov rbx, rcx
xor rbx, rax
ror rbx, 0x1b
imul rbx, r9
mov r12, r8
not r12
imul r12, r10
movabs rax, 0x7cd8a7de77bbb8bc
imul r12, rax
mov al, r12b
not al
movzx ecx, al
mov r8, qword [0x140336068]
movzx eax, r8b
xor ecx, eax
and ecx, 0x8000003f
jge 0x14018efa1
sub ecx, r13d
or ecx, 0xffffffc0
add ecx, r13d
imul rdx, qword [0x140336060], 0xffffffffc4df3ba2
sub rdx, r8
ror rdx, cl
movabs r8, 0x4470c5fb9c6e8a19
add r8, rdx
add r8, qword [rsp + 0x28]
movabs rax, 0xff055d7b87f0b271
xor r15, rax
mov rax, rdi
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor rbx, r12
imul rbx, qword [rsi + r15*8]
not r9
imul r9, r11
imul r9, r8
imul r9, r14
movabs rcx, 0xf5ed7e878043f8ad
xor rcx, r10
not rcx
xor rcx, r9
sub rcx, rbx
call fcn.14002e174
mov qword [0x14033ff80], rax
mov rax, qword [rsp + 0x88]
jmp 0x14018c7cd