Function at 0x14018476c
Capabilities:
Access peb ldr_data
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 rax, 0x54ff32d930000000
movabs r15, 0x67510c0d3e3a900b
movabs r13, 0xb80fabcba5d4a599
mov rbx, qword [0x140333078]
imul rbx, rax
movabs rax, 0xcc14fc0830000000
xor rbx, rax
mov rcx, rbx
imul rcx, r13
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, [0x140333060]
mov r8, rbx
and r8, r13
imul r8, qword [r14 + rcx*8]
movabs rax, 0x4daf6b900de02fb8
imul r8, rax
shr r8, 3
movabs rax, 0x8a90c8545a73e546
xor r8, rax
movabs rax, 0xffffff57d523b1af
mov rdi, rbx
imul rdi, rax
sub rdi, 0xd2c35d8
xor rdi, qword [0x140333060]
xor rdi, r8
mov rax, r8
imul rax, qword [0x140333070]
movabs rcx, 0xb9de928bdc900e8e
imul rax, rcx
not rax
and rdi, rax
ror rdi, 0x26
shr rdi, 8
movabs r9, 0x47f054345a2b5a67
lea rcx, [rbx + r9]
xor rcx, 0xffffffffe21e0583
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x5075ed0c8953c50
mov r11, qword [r14 + rcx*8]
imul r11, rax
sub r11, r9
movabs rcx, 0x3e5258553fccb64c
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, rbx
mov qword [rsp + 0x220], rax
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, 0x9f
mov edx, 0x8000003f
and ecx, edx
mov r12d, 1
jge 0x140184908
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0x220]
ror rax, cl
not rax
imul rax, r8
imul rcx, rax, 0xfffffffff2d3ca28
mov qword [rsp + 0x228], rcx
lea r10, [rcx + r9]
mov r9, r11
imul r9, rdi
sub r9, r10
xor r9, r15
movzx ecx, r10b
mov dword [rsp + 0x220], ecx
and ecx, 0xf
and ecx, edx
jge 0x140184955
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r9, cl
movabs rcx, 0x95c995e1d2ff99e8
imul rax, rcx
movabs rcx, 0x282d2b4015796a8f
add rax, rcx
xor r9, rax
mov rax, r10
sub rax, qword [0x140333078]
xor r9, rax
xor r9, r8
xor r9, rbx
mov rax, r9
and rax, r12
je 0x140184cc7
sub rax, 1
je 0x140184b92
sub rax, 1
je 0x140184a9b
cmp rax, 1
jne 0x140184d70
mov r15, r10
imul r15, r11
movabs rax, 0x1ca8780ef5883569
add rax, r9
xor r15, rax
ror r15, 0x1c
shr r15, 0xc
xor r15, rbx
not r15
movabs rcx, 0x83573e61008c
mov rdx, qword [0x140333088]
add rdx, rcx
movabs rax, 0x4772d14c2f517a69
xor rdx, rax
movzx eax, r9b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db96681ec77
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, r13
mov eax, 0xb75a3e9d
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 r13, 0x33533575ac90985e
sub r13, r15
shr r13, cl
movabs rax, 0x47f878bca009a8b9
mov rcx, qword [rsp + 0x228]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r14 + rcx*8]
imul rax, r9
sub rax, rdi
xor r13, rax
jmp 0x140184d70
movabs rax, 0xaaaaaa1ab743c3a3
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed754e1fef
imul rcx, rax
movabs rdx, 0xfff17ca86021f5df
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a9153f17f
mov rdx, qword [rsp + 0x228]
imul rdx, rax
movabs r11, 0x7b00c52ec355c198
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be659314c3
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 r10, r11
not r10
imul r10, qword [r14 + rcx*8]
xor r10, 0xffffffffe2161573
lea ecx, [r9 - 0x1f]
and cl, 0x3f
rol r10, cl
movabs rcx, 0xdbbdaffff4eee03d
mov rax, qword [rsp + 0x230]
xor rax, rcx
movabs rcx, 0x7c7a7dc68b111fc2
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x35
not rcx
movabs rax, 0x9b2de6b2a9fe5b90
imul rcx, rax
mov rax, r11
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, r13
mov r13, rdx
imul r13, rax
jmp 0x140184d70
movabs rax, 0xcf9bcc9823cb3a6b
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, 0x47f054345a2b5a66
mov rax, rbx
imul rax, rdx
xor rax, r15
not rax
shl rax, cl
xor r8, rax
mov eax, dword [rsp + 0x220]
and eax, 0x8000003f
jge 0x140184bf0
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r8, cl
movabs rcx, 0x47f054345a2b5a67
add rcx, r9
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffebcba5d4a599
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7eb87b58e
or r8, rax
mov r13, qword [0x140333070]
imul r13, r15
sub r13, r10
mov rax, rdi
sub rax, r8
xor r13, rax
movabs rax, 0xc7a7c6a6ba8fb583
xor r13, rax
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, r13
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, r13
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rbx
movabs rbx, 0x789589475ddf999
add rbx, rax
xor rbx, rdi
movzx eax, r11b
imul ecx, eax, 0xe6
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x140184d70
mov rax, rsi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r9
imul rax, qword [0x140333080]
mov rdx, qword [r14 + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r10
not rdi
imul rdi, r11
movabs rax, 0x7cd8a7de677ee462
imul rdi, rax
mov rax, r8
imul rax, rbx
mov rbx, rdi
xor rbx, rax
imul rdi, qword [0x140333060], 0xfffffffff2d3ca28
mov rdx, qword [0x140333068]
sub rdi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140184d58
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror rdi, cl
movabs rax, 0x47f054345a2b5a67
add rdi, rax
add rdi, qword [rsp + 0x228]
movabs rax, 0xff055d7b9735eeaf
xor r15, rax
mov rax, rsi
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r8, rbx
imul r8, qword [r14 + r15*8]
not r10
imul r10, r9
imul r10, rdi
imul r10, r13
movabs rcx, 0xf5ed7e879086a473
xor rcx, r11
not rcx
xor rcx, r10
sub rcx, r8
call fcn.14009226c
mov qword [0x140337f50], rax
xor r13d, r13d
mov r15d, r13d
mov dword [rsp + 0x28], 0x8351bcce
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 r15d, r15d
je 0x140184e4c
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rbx, [r9 + rcx*2]
mov r11d, 0x4f7923f6
jmp 0x140184e3e
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, r10d
mov ecx, r11d
xor ecx, edx
mov r11d, r8d
imul r11d, ecx
add r9, 2
cmp r9, rbx
jne 0x140184e1c
cmp r11d, r15d
jne 0x140184efe
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 0x140184efe
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140184efe
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x20], r8d
mov edx, r8d
mov qword [rsp + 0x30], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0x4f7923f6
mov r9b, byte [rbx]
add rbx, r12
test r9b, r9b
je 0x140184eef
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, r12
test r9b, r9b
jne 0x140184ead
mov dword [rsp + 0x230], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x230]
cmp edx, dword [rsp + 0x28]
je 0x140184f06
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x140184e7f
mov rax, qword [rax]
jmp 0x140184def
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x30]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, rdi
jbe 0x140184fb2
lea rax, [rdi + rcx]
cmp r8, rax
jae 0x140184fb2
mov r15d, 0x4f7923f6
mov r11d, r15d
mov dword [rsp + 0x28], r15d
jmp 0x140184f62
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r15d
xor eax, ecx
mov r15d, edx
imul r15d, eax
add r8, r12
mov al, byte [r8]
cmp al, 0x2e
jne 0x140184f45
add r8, r12
mov al, byte [r8]
test al, al
je 0x140184f9c
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 0x140184f73
mov dword [rsp + 0x28], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140184efe
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x40], 0x289a13e5
mov eax, dword [rsp + 0x40]
add eax, 0x1ed60db6
xor eax, 0xa30ab0da
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5cc21127
xor eax, 0x564933c4
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x16250150
add eax, ecx
xor eax, 0x20d45266
sub eax, 0x7faefe55
xor eax, 0x51c9f7a6
mov edx, dword [0x140333030]
xor edx, 0x2384a975
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xdc7b568a
sub edx, eax
sub edx, ecx
add edx, 0x4fa42b9b
xor edx, 0xada7a712
mov dword [rsp + 0x40], edx
movsxd rcx, edx
call r8
mov r15, rax
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0xb8], r13
movabs rax, 0xea2749f0f874f1b1
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], r13
movabs rax, 0xa1576d4af01d6310
mov qword [rsp + 0xb0], rax
movabs rcx, 0xcc5ad49dad1203a
add rcx, qword [rsp + 0xb0]
movabs rax, 0x458b4fedad9d6cd5
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x4ed45970eb09fda1
add rcx, rax
movabs rax, 0x707459a4f5e34f6
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x5829ab45e7f9b1ae
add rcx, rax
mov rdi, qword [0x140333040]
add rcx, rdi
movabs rax, 0xa56e8657c269f148
xor rcx, rax
movabs rax, 0x2b02fde73bbefd58
sub rcx, rax
movabs rax, 0xcfc4c32d9f368e8c
xor rcx, rax
movabs rdx, 0x95ab432af6eeec09
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0xec3316b5276b42d4
mov r10, qword [0x140333038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94ad894bd2b
mov r11, qword [0x140333030]
mov rcx, r11
xor rcx, rax
movabs rax, 0x1f4a914b3a46ca82
add rdx, rax
add rdx, rcx
movabs rax, 0x601a1e3551eabd9c
xor rdx, rax
mov qword [rsp + 0xb0], rdx
movabs rcx, 0xf33a52b529deda83
add rcx, qword [rsp + 0xb8]
movabs rax, 0xffd536625308bbe3
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80a91cd472
add rcx, rax
movabs rax, 0xf8f8cd99531443c3
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x7d654babe2a8f50
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a95c3e48cb
xor rcx, rax
movabs rax, 0x5f627dc70820a42e
sub rcx, rax
movabs rax, 0xa3b3cd2cc5538f9
xor rcx, rax
movabs rax, 0xb483ce45970a91da
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad4a779be
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b52b588641
xor r11, rax
movabs rax, 0xe0b56d8a43f7eb13
add rcx, rax
add rcx, r11
movabs rax, 0x344f09aa6b8f5d3e
xor rcx, rax
mov qword [rsp + 0xb8], rcx
and rcx, rdx
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r13
cmp r15, rcx
jne 0x140185304
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x44], 0xeb529d57
mov eax, dword [rsp + 0x44]
add eax, 0xab17f3b6
xor eax, 0x890b3d1c
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5e66d6d9
xor eax, 0xc7d6462c
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x57c18d9b
add eax, ecx
xor eax, 0x80d9280e
add eax, 0x5fb58293
xor eax, 0xdba4a297
mov edx, dword [0x140333030]
xor edx, 0x2153a1dd
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xdeac5e22
sub edx, eax
sub edx, ecx
add edx, 0xb46e3eb
xor edx, 0x8906a55a
mov dword [rsp + 0x44], edx
movsxd rax, edx
mov dword [rsp + 0x44], r13d
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
movabs rax, 0xfa5dc97a1cb80bda
mov qword [rsp + 0x28], rax
movabs rdi, 0xc298adc85b184ef3
mov rbx, r13
movabs rax, 0xe490dde25c41c6f0
movabs r10, 0xe5ba71deef19b414
mov r15, qword [0x140333070]
imul r15, rax
not r15
movabs rcx, 0x1a458e21151dc06a
mov rax, qword [0x140333060]
xor rax, rcx
and r15, rax
ror r15, 0xe
shr r15, 8
movabs rax, 0x4d65b5015ed5c488
mov r9, qword [0x140333080]
imul r9, rax
movabs r11, 0x3d675237a4e7b10d
sub r9, r11
movabs rax, 0x2cafc2e200000000
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r11]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x9d
mov eax, 0x8000003f
and ecx, eax
jge 0x1401853d6
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, r9
ror rdx, cl
not rdx
mov qword [rsp + 0x30], rdx
movabs r8, 0x1b3e323fac8fb1d8
mov rcx, rdx
imul rcx, r8
mov qword [rsp + 0x20], rcx
add r11, rcx
mov r8, r9
imul r8, r15
sub r8, r11
movabs rdx, 0xfa5dc97a1cb80bda
xor r8, rdx
movzx ecx, r11b
mov dword [rsp + 0x230], ecx
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x140185432
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r8, cl
mov rax, r11
sub rax, qword [0x140333078]
xor r8, rax
movabs rcx, 0x5b5a437508d5a008
mov rax, qword [rsp + 0x30]
imul rax, rcx
movabs rcx, 0x5daa141fa7e8faa9
sub rax, rcx
xor r8, rax
xor r8, r10
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14018574a
sub rax, 1
je 0x140185644
sub rax, 1
je 0x14018557b
cmp rax, 1
jne 0x1401857cc
mov rcx, r11
imul rcx, r9
movabs rax, 0xeb19a97ed5ab03c9
add rax, r8
xor rcx, rax
ror rcx, 0x36
shr rcx, 0xc
not rcx
mov qword [rsp + 0x28], rcx
movabs rdx, 0x83571e88f98a
add rdx, qword [0x140333088]
movabs rax, 0x3de5d74ff1746801
xor rdx, rax
movzx eax, r8b
movzx ecx, cl
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db946681575
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0x97b3c79f
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, 0x9df405db2ba79a1c
sub rdi, qword [rsp + 0x28]
shr rdi, cl
movabs rax, 0x3d6f76c00a1f6861
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, r8
imul rax, qword [r14 + rcx*8]
imul rax, r8
sub rax, r15
xor rdi, rax
jmp 0x1401857cc
movabs rcx, 0xaaaaaa1a97aa3aa1
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed55a7e6ed
imul r9, rcx
movabs rdx, 0xffff7e8ab1ba087d
mov rcx, qword [rsp + 0x20]
imul rcx, rdx
movabs rdx, 0x8e282c2965042b0d
add r9, rdx
add r9, rcx
movabs rax, 0x277cd7be457aedc1
mov rcx, r9
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r9
not r11
imul r11, qword [r14 + rcx*8]
xor r11, 0xffffffffc2ffec71
lea ecx, [r8 - 0x1d]
and cl, 0x3f
rol r11, cl
movabs rax, 0x3c687c84a0000000
imul r11, rax
mov rcx, r11
ror rcx, 0x26
not rcx
movabs rax, 0x9b2de6b22a59bf98
imul rcx, rax
mov rax, r9
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, r15b
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x1401857cc
movabs rax, 0x550ee7ddff5669af
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, 0x5a23685e347f425
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
mov eax, dword [rsp + 0x230]
and eax, 0x8000003f
jge 0x14018569b
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r10, cl
movabs rcx, 0x3d675237a4e7b10d
add rcx, r8
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffedc85b184ef3
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7cb6e4c8c
or r10, rax
mov rdi, qword [0x140333070]
movabs rax, 0xfa5dc97a1cb80bda
imul rdi, rax
sub rdi, r11
mov rax, r15
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a69a664c81
xor rdi, rax
mov rax, r8
imul rax, r11
imul rax, rdi
mov rbx, r9
sub rbx, rax
movabs rax, 0x78958945534009b
add rbx, rax
xor rbx, r15
movzx eax, r9b
imul ecx, eax, 0xe4
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x1401857cc
mov rcx, qword [0x140333080]
imul rcx, r8
and rcx, qword [0x140333070]
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 0x14
imul r10, r11
mov rbx, r15
not rbx
imul rbx, r9
movabs rax, 0x7cd8a7de47971d60
imul rbx, rax
imul r15, qword [0x140333060], 0xfffffffffa04747e
mov rdx, qword [0x140333068]
sub r15, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x1401857b7
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r15, cl
movabs rax, 0x3d675237a4e7b10d
add r15, rax
add r15, qword [rsp + 0x20]
movabs rax, 0xff055d7bb7dc17ad
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, rbx
imul r10, qword [r14 + rcx*8]
not r11
imul r11, r8
imul r11, r15
imul r11, rdi
movabs rcx, 0xf5ed7e87b06f5d71
xor rcx, r9
not rcx
xor rcx, r11
sub rcx, r10
call fcn.140149a90
mov qword [0x140337f40], rax
movabs rdi, 0xb25e718d01fe5dcd
movabs rax, 0xd147226d40000000
movabs r11, 0xd54293558fface24
mov r15, qword [0x140333060]
imul r15, rax
movabs rax, 0xca196358f0000000
xor r15, rax
mov rcx, r15
imul rcx, rdi
mov qword [rsp + 0x38], rcx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r15
and r10, rdi
imul r10, qword [r14 + rcx*8]
movabs rax, 0x3eb2eea30e1637c0
imul r10, rax
shr r10, 3
movabs rax, 0x8f53d7ef4ad511bf
xor r10, rax
movabs rax, 0xffffff57b5fa44a3
mov rcx, r15
imul rcx, rax
sub rcx, 0x5fb8d90
xor rcx, qword [0x140333060]
xor rcx, r10
mov rax, r10
imul rax, qword [0x140333070]
movabs rdx, 0xb9de928bbc49fb82
imul rax, rdx
not rax
and rcx, rax
ror rcx, 0x3e
shr rcx, 8
mov qword [rsp + 0x230], rcx
movabs r8, 0x4da18e72fe01a233
lea rcx, [r15 + r8]
xor rcx, 0xffffffff82c7f08f
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xc5e640cdf20cd7a0
mov rbx, qword [r14 + rcx*8]
imul rbx, rax
sub rbx, r8
movabs rcx, 0xd691513451c89b50
mov rax, r10
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov rax, rbx
xor rax, r15
mov qword [rsp + 0x30], rax
lea rcx, [rbx + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x93
and ecx, 0x8000003f
jge 0x14018599d
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0x30]
ror rax, cl
not rax
imul rax, r10
imul rdx, rax, 0xfffffffffa047270
mov qword [rsp + 0x30], rdx
add r8, rdx
mov r9, rbx
imul r9, qword [rsp + 0x230]
sub r9, r8
xor r9, r11
mov cl, r8b
xor cl, 0xfc
and cl, 0xf
rol r9, cl
movabs rcx, 0x900a8a5ace4253b0
imul rax, rcx
movabs rcx, 0x486db8b420d569d7
add rax, rcx
xor r9, rax
mov rax, r8
sub rax, qword [0x140333078]
xor r9, rax
xor r9, r10
xor r9, r15
mov rax, r9
and rax, r12
je 0x140185d39
sub rax, 1
je 0x140185c0e
sub rax, 1
je 0x140185b1e
cmp rax, 1
jne 0x140185e00
mov r11, r8
imul r11, rbx
movabs rax, 0xd2215037e9223479
add rax, r9
xor r11, rax
ror r11, 4
shr r11, 0xc
xor r11, r15
not r11
movabs rcx, 0x83575eb8f588
mov rdx, qword [0x140333088]
add rdx, rcx
movabs rax, 0x4d230b0aeba27731
xor rdx, rax
movzx eax, r11b
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db90658197b
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, rdi
mov eax, 0xd783cb91
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, 0xfc6c9d23f8f93492
sub rdi, r11
shr rdi, cl
movabs rax, 0x4da9b2fb23095d91
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, r9
imul rax, qword [r14 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x230]
xor rdi, rax
jmp 0x140185e00
movabs rax, 0xaaaaaa1ad79a36af
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed1597eae3
imul rcx, rax
movabs r8, 0xfff17ca800f800d3
mov rax, r10
xor rax, r8
sub rcx, rax
movabs rax, 0xffff7e8af18a0473
imul rdx, rax
movabs rbx, 0x896c483c854cad5c
add rbx, rcx
add rbx, rdx
movabs rax, 0x277cd7be054ae1cf
mov rcx, rbx
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rbx
not r8
imul r8, qword [r14 + rcx*8]
xor r8, 0xffffffff82cfe07f
lea ecx, [r9 - 0x13]
and cl, 0x3f
rol r8, cl
movabs rcx, 0xcf85a63b74371531
mov rax, qword [rsp + 0x38]
xor rax, rcx
movabs rcx, 0x7c7a7dc6ebc8eace
and rax, rcx
imul r8, rax
mov rcx, r8
ror rcx, 0x16
not rcx
movabs rax, 0x9b2de6b32a998fa0
imul rcx, rax
mov rax, rbx
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x230]
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140185e00
movabs rax, 0x57fa67c629abf0b1
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, 0x4da18e72fe01a232
mov rax, r15
imul rax, rdx
xor rax, r11
not rax
shl rax, cl
xor r10, rax
mov cl, r8b
and cl, 0x3f
rol r10, cl
movabs rcx, 0x4da18e72fe01a233
add rcx, r9
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff18d01fe5dcd
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a78b5e4082
or r10, rax
mov rdi, qword [0x140333070]
imul rdi, r11
sub rdi, r8
mov rax, qword [rsp + 0x230]
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a6da56408f
xor rdi, rax
movabs rax, 0xcccccccccccccccd
mul r15
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r15
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r8
imul rdx, rdi
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, r15
movabs r15, 0x789589415040c95
add r15, rax
xor r15, qword [rsp + 0x230]
movzx eax, bl
imul ecx, eax, 0xea
and cl, 0x3f
rol r15, cl
not r15
jmp 0x140185e00
mov rax, rsi
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 [0x140333080]
mov rdx, qword [r14 + rcx*8]
and rdx, rax
xor rdx, r10
and r10b, 0x3f
mov cl, r10b
mov r10, rdx
ror r10, cl
imul r10, r8
mov rcx, qword [rsp + 0x230]
not rcx
imul rcx, rbx
movabs rax, 0x7cd8a7de07a7116e
imul rcx, rax
mov rax, r10
imul rax, r15
mov r15, rcx
xor r15, rax
imul rax, qword [0x140333060], 0xfffffffffa047270
mov rdx, qword [0x140333068]
sub rax, rdx
mov qword [rsp + 0x230], rax
mov al, r15b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140185ddb
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0x230]
ror rax, cl
movabs rcx, 0x4da18e72fe01a233
add rax, rcx
add rax, qword [rsp + 0x30]
mov qword [rsp + 0x230], rax
movabs rax, 0xff055d7bf7ec1ba3
xor r11, rax
mov rax, rsi
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r11, rax
xor r10, r15
imul r10, qword [r14 + r11*8]
not r8
imul r8, r9
imul r8, qword [rsp + 0x230]
imul r8, rdi
movabs rcx, 0xf5ed7e87f05f517f
xor rcx, rbx
not rcx
xor rcx, r8
sub rcx, r10
call fcn.14016d39c
mov qword [0x140337f70], rax
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x48], 0xf260d422
mov eax, dword [rsp + 0x48]
add eax, 0xa06f9cb6
xor eax, 0x320b3274
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x5e46ddd4
xor eax, 0xd2a93e88
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0xe6390fb3
add eax, ecx
xor eax, 0x8d012b4a
add eax, 0x5ef1d1a7
xor eax, 0x98f9235a
mov edx, dword [0x140333030]
xor edx, 0x217e4339
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xde81bcc6
sub edx, eax
sub edx, ecx
sub edx, 0x29e28e90
xor edx, 0xeebeda16
mov dword [rsp + 0x48], edx
movsxd rax, edx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x48], r13d
mov edi, r13d
mov esi, 0x7a4ce39a
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 0x140185f60
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x10156e0e
jmp 0x140185f52
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 0x140185f32
cmp r9d, edi
jne 0x140185fe6
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 0x140185fe6
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x140185fe6
mov edx, dword [rbx + 0x20]
dec r14d
mov r8d, r14d
lea rdx, [rdx + r14*4]
mov r11d, dword [rdx + r10]
add r11, r10
mov r15d, 0x10156e0e
mov dl, byte [r11]
add r11, r12
mov r9d, 0x4764996c
test dl, dl
je 0x140185fd9
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, r12
test dl, dl
jne 0x140185fb1
mov r8d, r14d
cmp r15d, esi
je 0x140185fee
test r14d, r14d
mov edx, dword [rbx + 0x20]
jne 0x140185f8a
mov rax, qword [rax]
jmp 0x140185f06
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 0x140186078
lea rax, [rcx + rbx]
cmp rdx, rax
jae 0x140186078
mov edi, 0x10156e0e
mov esi, edi
jmp 0x14018603c
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, r12
mov al, byte [rdx]
cmp al, 0x2e
jne 0x140186024
jmp 0x140186059
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, esi
mov esi, eax
imul esi, ecx
add rdx, r12
mov al, byte [rdx]
test al, al
jne 0x140186044
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140185fe6
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x50], 0x5ada9804
mov eax, dword [rsp + 0x50]
add eax, 0xaf490536
xor eax, 0x9a8b414d
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
add eax, 0x218c95f2
xor eax, 0xc3947066
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x1210f25a
add eax, ecx
xor eax, 0x7c113018
add eax, 0x62af9331
xor eax, 0x4d8bf84f
mov r15d, dword [0x140333030]
xor r15d, 0x2142dd97
sub r15d, eax
mov eax, dword [0x140333038]
xor eax, 0xdebd2268
sub r15d, eax
sub r15d, ecx
sub r15d, 0x5fce5049
xor r15d, 0xef131358
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x4c], 0x5230f3ea
mov eax, dword [rsp + 0x4c]
add eax, 0xae52e4b8
xor eax, 0x7a0d4057
sub eax, dword [0x140333058]
sub eax, dword [0x140333050]
sub eax, 0x647087ac
xor eax, 0xbc8e6966
sub eax, dword [0x140333048]
mov rcx, qword [0x140333040]
add eax, 0x1c5f0b75
add eax, ecx
xor eax, 0x3529ed28
sub eax, 0x170dad6b
xor eax, 0x51f7103f
mov edx, dword [0x140333030]
xor edx, 0x1946b619
sub edx, eax
mov eax, dword [0x140333038]
xor eax, 0xe6b949e6
sub edx, eax
sub edx, ecx
add edx, 0x15662fa2
xor edx, 0xed85bb76
mov dword [rsp + 0x4c], edx
movsxd r14, edx
mov qword [rsp + 0xc8], r13
movabs rax, 0x8c0607f154c2de47
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xc0], r13
movabs rax, 0x4ab05d19cb99c984
mov qword [rsp + 0xc0], rax
movabs rcx, 0xf33a52b4537cda83
add rcx, qword [rsp + 0xc8]
movabs rax, 0xffd536625307e581
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x7120fb80ab9ffa72
add rcx, rax
movabs rax, 0xf8f8cd9a2ccfcbc3
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x7d654bbe12c9650
add rcx, rax
mov rdi, qword [0x140333040]
add rcx, rdi
movabs rax, 0x5a9179aa50c610cb
xor rcx, rax
movabs rax, 0x5f627dc77e929c2e
sub rcx, rax
movabs rax, 0xa3b3cd3378cec09
xor rcx, rax
movabs rdx, 0xb483ce46678fe3da
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad14df1be
mov r10, qword [0x140333038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52eb20e41
mov r11, qword [0x140333030]
mov rcx, r11
xor rcx, rax
movabs rsi, 0xe0b56d86e7166313
add rsi, rdx
add rsi, rcx
movabs rax, 0xe3271c69a21ec53e
xor rsi, rax
mov qword [rsp + 0xc8], rsi
movabs rcx, 0xcc5ad4912a7203a
add rcx, qword [rsp + 0xc0]
movabs rax, 0x458b4fedad9ca4ab
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0x4ed45970ed627ba1
add rcx, rax
movabs rax, 0x707459b1aa8dcf6
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0x5829ab46f7aeb4ae
add rcx, rax
add rcx, rdi
movabs rax, 0xa56e8658a6b9d948
xor rcx, rax
movabs rax, 0x2b02fde800c17558
sub rcx, rax
movabs rax, 0xcfc4c32e0351cfdc
xor rcx, rax
movabs rax, 0x95ab432bb99fc609
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0xec3316b5244a9ad4
xor r10, rax
sub rcx, r10
movabs rax, 0x13cce94adbb5652b
xor r11, rax
movabs rbx, 0x1f4a914816bde282
add rbx, rcx
add rbx, r11
movabs rax, 0x5a1478395b81a59c
xor rbx, rax
mov qword [rsp + 0xc0], rbx
mov r9, qword [rsp + 0xa8]
mov r8d, r15d
mov rdx, r14
mov rcx, r9
call qword [rsp + 0x230]
movsxd rcx, eax
and rsi, rbx
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xc8], r13
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x50], r13d
cmp rcx, rsi
je 0x140187cd7
movabs rbx, 0x1c590620f6392c79
movabs r14, 0x978d1283d11accf8
mov r15, r13
movabs rax, 0x21d227b2c83e68f8
movabs r11, 0x6ed4e6c943ccd6ec
mov rcx, qword [0x140333070]
imul rcx, rax
not rcx
movabs r8, 0x912b1936ba8e74c4
mov rax, qword [0x140333060]
xor rax, r8
and rcx, rax
ror rcx, 0x12
shr rcx, 8
mov qword [rsp + 0x20], rcx
movabs rax, 0x81d1a1d8d9fc7430
mov r9, qword [0x140333070]
imul r9, rax
add r9, rbx
movabs rax, 0xead5f7a67fffffff
xor r9, rax
shr r9, 0x1f
not r9
movabs r10, 0xe3a6f9df09c6d387
lea rcx, [r9 + r10]
movabs rdi, 0xaaaaaaaaaaaaaaab
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
lea rsi, [0x140333060]
movzx ecx, byte [rsi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xcb
mov eax, 0x8000003f
and ecx, eax
jge 0x1401864ab
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, r9
ror rdx, cl
not rdx
mov qword [rsp + 0x38], rdx
movabs r8, 0xa584d492cdaece0
mov rcx, rdx
imul rcx, r8
mov qword [rsp + 0x28], rcx
lea r8, [rcx + r10]
mov r10, r9
mov rdx, qword [rsp + 0x20]
imul r10, rdx
sub r10, r8
xor r10, r14
movzx ecx, r8b
mov dword [rsp + 0x230], ecx
xor ecx, 4
and ecx, 0xf
and ecx, eax
jge 0x140186503
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r10, cl
mov rax, r8
sub rax, qword [0x140333078]
xor r10, rax
movabs rcx, 0x2e3553a9d21075e0
mov rax, qword [rsp + 0x38]
imul rax, rcx
movabs rcx, 0x72ab47829e642ecf
add rax, rcx
xor r10, rax
xor r10, r11
mov rax, r10
and rax, r12
je 0x14018681d
sub rax, 1
je 0x14018671d
sub rax, 1
je 0x140186646
cmp rax, 1
jne 0x1401868b5
mov r14, r8
imul r14, r9
movabs rax, 0x2025ef5d2b6c5b5d
add rax, r10
xor r14, rax
ror r14, 0x28
shr r14, 0xc
not r14
movabs rcx, 0x83571e4875e0
mov rdx, qword [0x140333088]
add rdx, rcx
movabs rax, 0xe3247ca75c9586dd
xor rdx, rax
movzx eax, r14b
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db946a89923
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rbx
mov eax, 0x97734bc9
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 rbx, 0xb89a61439c011176
sub rbx, r14
shr rbx, cl
movabs rax, 0xe3af1e676fbe0e8d
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, r10
imul rax, qword [rsi + rcx*8]
imul rax, r10
sub rax, qword [rsp + 0x20]
xor rbx, rax
jmp 0x1401868b5
movabs rcx, 0xaaaaaa1a976ab6f7
mov r9, r10
xor r9, rcx
movabs rcx, 0x1206ed55676abb
imul r9, rcx
movabs rdx, 0xffff7e8ab17a842b
mov rcx, qword [rsp + 0x28]
imul rcx, rdx
movabs rdx, 0x5c8d7771fc835171
add r9, rdx
add r9, rcx
movabs rax, 0x277cd7be45ba6197
mov rcx, r9
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r9
not r8
imul r8, qword [rsi + rcx*8]
xor r8, 0xffffffffc23f6027
lea ecx, [r10 - 0xb]
mov r14b, 0x3f
and cl, r14b
rol r8, cl
movabs rax, 0x4582440a0000000
imul r8, rax
mov rcx, r8
ror rcx, 0x12
not rcx
movabs rax, 0x9b2de6b2295b8ec0
imul rcx, rax
mov rax, r9
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x20]
and cl, r14b
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
movabs r14, 0x978d1283d11accf8
jmp 0x1401868b5
movabs rax, 0x7384daaf22344b9b
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, 0x6872ed7c2ee53307
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x230]
and eax, 0x8000003f
jge 0x140186774
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r11, cl
movabs rcx, 0xe3a6f9df09c6d387
add rcx, r10
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x620f6392c79
mov rax, qword [rsi + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7cbaec0da
or r11, rax
mov rbx, qword [0x140333070]
imul rbx, r14
sub rbx, r8
mov rax, qword [rsp + 0x20]
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a69aa6c0d7
xor rbx, rax
mov rax, r10
imul rax, r8
imul rax, rbx
mov r15, r9
sub r15, rax
movabs rax, 0x789589455f48ccd
add r15, rax
xor r15, qword [rsp + 0x20]
movzx eax, r9b
imul ecx, eax, 0xf2
and cl, 0x3f
rol r15, cl
not r15
jmp 0x1401868b5
mov rcx, r10
imul rcx, qword [0x140333080]
and rcx, qword [0x140333080]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x2c
imul r11, r8
mov r15, rdx
not r15
imul r15, r9
movabs rax, 0x7cd8a7de47579136
imul r15, rax
imul rax, qword [0x140333060], 0xfffffffff942a228
mov rdx, qword [0x140333068]
sub rax, rdx
mov qword [rsp + 0x230], rax
mov al, r15b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140186893
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0x230]
ror rax, cl
movabs rcx, 0xe3a6f9df09c6d387
add rax, rcx
add rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
movabs rax, 0xff055d7bb71c9bfb
xor r14, rax
mov rax, rdi
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r11, r15
imul r11, qword [rsi + r14*8]
not r8
imul r8, r10
imul r8, qword [rsp + 0x20]
imul r8, rbx
movabs rcx, 0xf5ed7e87b0afd127
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.14016d378
mov qword [0x140337f90], rax
mov dword [rsp + 0x88], r13d
mov dword [rsp + 0x8c], 0xd45d74e2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x138], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xf0], rax
mov esi, dword [rsp + 0x88]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x128], xmm0
movd ecx, xmm0
sub cx, 8
mov word [rsp + 0x128], cx
test esi, esi
je 0x1401869eb
mov r8, qword [rsp + 0x130]
mov qword [rsp + 0x110], r8
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov qword [rsp + 0x148], r10
mov r9d, 0x330bcfd6
mov dword [rsp + 0xe0], r9d
cmp r8, r10
je 0x1401869e2
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 + 0xe0], r9d
add r8, 2
mov qword [rsp + 0x110], r8
jmp 0x1401869a4
cmp r9d, esi
jne 0x140186bc1
mov r9, qword [rax + 0x30]
mov qword [rsp + 0x150], r9
mov qword [rsp + 0x190], r9
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov qword [rsp + 0x158], rcx
mov r11d, ecx
add r11, r9
mov qword [rsp + 0x198], r11
shr rcx, 0x20
mov dword [rsp + 0x1a0], ecx
cmp r11, r9
je 0x140186bc1
mov edi, dword [r11 + 0x18]
mov dword [rsp + 0xe4], edi
mov edx, edi
dec edi
mov dword [rsp + 0xe4], edi
test edx, edx
je 0x140186bc1
mov r8d, dword [r11 + 0x20]
add r8, r9
mov r10d, dword [r8 + rdi*4]
add r10, r9
mov qword [rsp + 0x118], r10
mov ebx, 0x330bcfd6
mov dword [rsp + 0xe8], ebx
movsx edx, byte [r10]
mov byte [rsp + 0x80], dl
add r10, r12
mov qword [rsp + 0x118], r10
test dl, dl
jne 0x140186f3b
cmp ebx, dword [rsp + 0x8c]
jne 0x140186f36
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov qword [rsp + 0x160], rdx
mov eax, dword [r11 + 0x24]
add rax, r9
mov qword [rsp + 0x168], rax
movzx eax, word [rax + rdi*2]
mov r15d, dword [rdx + rax*4]
add r15, r9
mov qword [rsp + 0x170], r15
cmp r15, r11
jbe 0x140186bd1
lea rax, [r11 + rcx]
cmp r15, rax
jae 0x140186bd1
mov qword [rsp + 0xd0], r15
mov dword [rsp + 0x98], 0x330bcfd6
mov r9d, 0x330bcfd6
mov dword [rsp + 0x9c], r9d
mov r10d, r9d
mov r8d, 0x4764996c
movsx eax, byte [r15]
cmp al, 0x2e
je 0x140186b4b
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 + 0x98], r10d
add r15, r12
mov qword [rsp + 0xd0], r15
jmp 0x140186b11
add r15, r12
mov qword [rsp + 0xd0], r15
movsx eax, byte [r15]
test al, al
je 0x140186b81
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 + 0x9c], r9d
jmp 0x140186b4b
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x88], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x178], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0xf0], rax
mov esi, dword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0xf0], rax
jmp 0x140186954
mov qword [rsp + 0xa0], r13
movabs rax, 0x1cc3c1964e8e3d84
mov qword [rsp + 0xa0], rax
movabs rcx, 0xf33a52b5139fc803
add rcx, qword [rsp + 0xa0]
movabs rax, 0xed5536625308a5a4
xor rcx, rax
sub rcx, qword [0x140333050]
sub rcx, qword [0x140333058]
movabs rax, 0xedf047f56a06e57
sub rcx, rax
movabs rax, 0xf8f8cd9969ac528d
xor rcx, rax
sub rcx, qword [0x140333048]
movabs rax, 0xc7d654badc5d2ced
add rcx, rax
mov rdx, qword [0x140333040]
add rcx, rdx
movabs rax, 0x5a9179a9759e39e5
xor rcx, rax
movabs rax, 0x5f627dc70f876808
sub rcx, rax
movabs rax, 0x9e3b3cd2d7757432
xor rcx, rax
movabs rax, 0x3483ce45acadead8
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94ad44e7d74
mov rax, qword [0x140333038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52bb1828b
mov rcx, qword [0x140333030]
xor rcx, rax
movabs rbx, 0xe0b56d89eaa49c49
add rbx, rdx
add rbx, rcx
movabs rax, 0x75834fcc5b8705fc
xor rbx, rax
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0x188], rbx
mov qword [rsp + 0xa0], rbx
mov byte [rsp + 0x220], r13b
lea rdx, [rsp + 0x1a8]
lea rcx, [rsp + 0x220]
call fcn.140174908
mov rcx, rax
mov qword [rsp + 0xf8], rax
mov rax, r13
mov qword [rsp + 0xd8], rax
cmp rax, 0x31
jae 0x140186eab
xor edx, edx
movabs rcx, 0x13cce94adb9acf48
div rcx
add dl, 0x38
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 + 0xf8]
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 [0x140333050]
sub dl, byte [0x140333058]
sub dl, 0x3f
add dl, r11b
add dl, r14b
lea eax, [r14 + 7]
add al, r11b
xor dl, al
sub dl, byte [0x140333048]
sub dl, r9b
sub dl, r14b
mov rcx, qword [0x140333040]
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 [0x140333038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x140333030]
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 + 0xf8]
mov byte [rax + rcx], dil
add rax, r12
jmp 0x140186d15
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], 0x31
mov r8, qword [rsp + 0x230]
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xa8]
call r15
nop
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x140186f16
mov rax, r13
mov qword [rsp + 0x120], rax
cmp rax, qword [rsp + 0x108]
jae 0x140186f16
mov byte [rcx + rax], r13b
add rax, r12
mov qword [rsp + 0x120], rax
mov rcx, qword [rsp + 0x100]
jmp 0x140186ef3
mov qword [rsp + 0xa0], r13
mov byte [rsp + 0x228], r13b
lea rcx, [rsp + 0x228]
call fcn.140174964
nop
jmp 0x140186f68
jmp 0x140186a40
mov r8d, edx
imul edx, edx
add edx, 0x31
xor edx, 0x4764996c
xor r8d, ebx
mov ebx, edx
imul ebx, r8d
mov dword [rsp + 0xe8], ebx
jmp 0x140186a75
mov r14b, 0x3f
lea rsi, [0x140333060]
movabs rdi, 0xaaaaaaaaaaaaaaab
movabs rax, 0xe5edaea4c33fab8c
mov qword [rsp + 0x38], rax
movabs rax, 0xb46cfa3fc0000000
movabs r9, 0xd43c0f3f27411835
mov r8, qword [0x140333070]
imul r8, rax
movabs rax, 0xcc62c63870000000
xor r8, rax
mov qword [rsp + 0x20], r8
mov rcx, r8
imul rcx, r9
mov qword [rsp + 0x90], rcx
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r8
and r10, r9
imul r10, qword [rsi + rcx*8]
movabs rax, 0x97f559a92752a130
imul r10, rax
shr r10, 3
movabs rax, 0x481e0426167242da
xor r10, rax
movabs rax, 0xffffff57d24012ab
mov r15, r8
imul r15, rax
sub r15, 0x68413bc
xor r15, r10
xor r15, qword [0x140333060]
mov rax, r10
imul rax, qword [0x140333070]
movabs rcx, 0xb9de928bdbf3ad8a
imul rax, rcx
not rax
and r15, rax
ror r15, 0xe
shr r15, 8
movabs r9, 0x2bc3f0c0d8bee7cb
lea rcx, [r8 + r9]
xor rcx, 0xffffffffe57da687
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x49c71e2aaf731d78
mov rbx, qword [rsi + rcx*8]
imul rbx, rax
sub rbx, r9
movabs rcx, 0x2c530ad1b3e8ff0
mov rax, r10
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
lea rcx, [rbx + r9]
mov rax, rdi
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]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x9b
and ecx, 0x8000003f
jge 0x1401870e7
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, rbx
xor rdx, r8
ror rdx, cl
not rdx
imul rdx, r10
imul rax, rdx, 0xfffffffff97bec44
mov qword [rsp + 0x28], rax
add r9, rax
movzx ecx, r9b
mov dword [rsp + 0x230], ecx
xor cl, 4
and cl, 0xf
mov r11, rbx
imul r11, r15
sub r11, r9
movabs rax, 0xe5edaea4c33fab8c
xor r11, rax
rol r11, cl
mov rax, r9
sub rax, qword [0x140333078]
xor r11, rax
movabs rax, 0x574759939e124a14
imul rdx, rax
movabs rax, 0x19bd06037333faf9
sub rdx, rax
xor r11, rdx
xor r11, r10
xor r11, r8
mov rax, r11
and rax, r12
je 0x1401874f6
sub rax, 1
je 0x14018737a
sub rax, 1
je 0x14018727d
cmp rax, 1
jne 0x140187598
mov rcx, r9
imul rcx, rbx
movabs rax, 0x9db637a8f3965899
add rax, r11
xor rcx, rax
ror rcx, 0x34
shr rcx, 0xc
xor rcx, r8
not rcx
mov qword [rsp + 0x38], rcx
movzx eax, r11b
movzx ecx, cl
imul ecx, eax
and cl, r14b
movabs rdx, 0x83573902a390
add rdx, qword [0x140333088]
movabs rax, 0x2b4175b8aaa764c1
xor rdx, rax
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db961e24f73
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
movabs rax, 0xd43c0f3f27411835
imul rcx, rax
mov eax, 0xb0399d99
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, 0x81be15a89701c6ea
sub r14, qword [rsp + 0x38]
shr r14, cl
movabs rax, 0x2bcc15491b7cd521
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, r15
xor r14, rax
jmp 0x1401875a2
movabs rax, 0xaaaaaa1ab02060a7
mov rcx, r11
xor rcx, rax
movabs rax, 0x1206ed722dbceb
imul rcx, rax
movabs rdx, 0xfff17ca8674256db
mov rax, r10
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a9630527b
mov rdx, qword [rsp + 0x28]
imul rdx, rax
movabs rbx, 0xd29e4daa4838b704
add rbx, rcx
add rbx, rdx
lea ecx, [r11 - 0x1b]
and cl, r14b
movabs rax, 0x277cd7be62f0b7c7
mov r8, rbx
xor r8, rax
mov rax, rdi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
mov r9, rbx
not r9
imul r9, qword [rsi + r8*8]
xor r9, 0xffffffffe575b677
rol r9, cl
movabs rcx, 0xe79d8abf738d4339
mov rax, qword [rsp + 0x90]
xor rax, rcx
movabs rcx, 0x7c7a7dc68c72bcc6
and rax, rcx
imul r9, rax
mov cl, r15b
and cl, r14b
mov rdx, r9
ror rdx, 0x36
not rdx
movabs rax, 0x9b2de6b2b470d780
imul rdx, rax
mov rax, rbx
sub rax, r9
lea r14, [rdx + rax*4]
ror r14, cl
movabs rax, 0xd43c0f3f27411835
imul r14, rax
mov r8, qword [rsp + 0x20]
jmp 0x1401875a2
movabs rax, 0xbf542ec24a2e5a75
imul r11, rax
mov eax, dword [rsp + 0x230]
and eax, 0x8000003f
mov dword [rsp + 0x230], eax
jge 0x1401873ad
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov dword [rsp + 0x230], eax
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x2bc3f0c0d8bee7ca
mov rax, r8
imul rax, rdx
movabs r8, 0xe5edaea4c33fab8c
xor rax, r8
not rax
shl rax, cl
xor r10, rax
mov ecx, dword [rsp + 0x230]
rol r10, cl
movabs rcx, 0x2bc3f0c0d8bee7cb
add rcx, r11
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xf3f27411835
mov rax, qword [rsi + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7ece4168a
or r10, rax
mov rcx, qword [0x140333070]
imul rcx, r8
sub rcx, r9
mov rax, r15
sub rax, r10
xor rcx, rax
movabs rax, 0xc7a7c6a6bdec1687
xor rcx, rax
mov qword [rsp + 0x230], rcx
movzx eax, bl
imul r8d, eax, 0xe2
and r8b, r14b
movabs rax, 0xcccccccccccccccd
mov r14, qword [rsp + 0x20]
mul r14
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r14
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x230]
div rcx
mov rcx, rdx
mov rdx, r11
imul rdx, r9
imul rdx, qword [rsp + 0x230]
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, r14
movabs r14, 0x789589472be5a9d
add r14, rax
xor r14, r15
mov qword [rsp + 0x20], r14
mov cl, r8b
mov r8, r14
rol r8, cl
not r8
mov r14, qword [rsp + 0x230]
jmp 0x1401875a2
mov cl, r10b
and cl, r14b
mov rax, rdi
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, r10
sub rdx, rax
mov rax, r11
imul rax, qword [0x140333080]
mov r8, qword [rsi + rdx*8]
and r8, rax
xor r10, r8
ror r10, cl
imul r10, r9
not r15
imul r15, rbx
movabs r8, 0x7cd8a7de601d4766
imul r8, r15
mov rax, r10
imul rax, qword [rsp + 0x20]
xor r8, rax
mov al, r8b
not al
movzx ecx, al
mov rdx, qword [0x140333068]
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140187575
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
imul r15, qword [0x140333060], 0xfffffffff97bec44
sub r15, rdx
ror r15, cl
movabs rcx, 0x2bc3f0c0d8bee7cb
add r15, rcx
add r15, qword [rsp + 0x28]
movabs r14, 0xd43c0f3f27411835
movabs rax, 0xff055d7b90564dab
mov rcx, qword [rsp + 0x38]
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r10, r8
imul r10, qword [rsi + rcx*8]
not r9
imul r9, r11
imul r9, r15
imul r9, r14
movabs rcx, 0xf5ed7e8797e50777
xor rcx, rbx
not rcx
xor rcx, r9
sub rcx, r10
call fcn.14016d258
mov qword [0x140337f80], rax
mov r14d, r13d
mov r15d, 0xde481ffa
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 0x140187676
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x375f78b6
jmp 0x140187668
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 0x140187648
cmp r9d, r14d
jne 0x1401877d1
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 0x1401877d1
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1401877d1
mov r9d, dword [rbx + 0x20]
dec r8d
mov dword [rsp + 0x20], r8d
mov edx, r8d
mov qword [rsp + 0x90], rdx
lea rdx, [r9 + r8*4]
mov r9d, dword [rdx + r11]
add r9, r11
mov edx, 0x375f78b6
mov r10b, byte [r9]
mov byte [rsp + 0x230], r10b
add r9, r12
test r10b, r10b
mov r10d, 0x4764996c
je 0x140187726
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, r12
test dl, dl
jne 0x1401876ef
mov dword [rsp + 0x28], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x28]
cmp edx, r15d
je 0x14018773d
test r8d, r8d
mov r9d, dword [rbx + 0x20]
jne 0x1401876a9
jmp 0x1401877d1
mov edx, dword [rbx + 0x24]
add rdx, r11
mov rax, qword [rsp + 0x90]
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 0x1401877d9
lea rax, [rbx + rcx]
cmp r9, rax
jae 0x1401877d9
mov r14d, 0x375f78b6
mov r15d, r14d
jmp 0x140187793
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r14d
xor eax, ecx
mov r14d, edx
imul r14d, eax
add r9, r12
mov al, byte [r9]
cmp al, 0x2e
jne 0x140187776
jmp 0x1401877b6
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r15d
xor eax, ecx
mov r15d, edx
imul r15d, eax
add r9, r12
mov al, byte [r9]
test al, al
jne 0x14018779c
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14018761b
mov rcx, qword [rsp + 0xa8]
call r9
movabs rbx, 0x9e149abf9ea7084c
movabs rax, 0xaeaefb321edb1fe8
movabs r15, 0xe49e4deed22d204b
movabs r14, 0x86a62f2f27e1b08d
mov r8, qword [0x140333070]
imul r8, rax
not r8
movabs rdx, 0x61eb65401bd65b74
mov rax, qword [0x140333060]
xor rax, rdx
and r8, rax
ror r8, 0x22
shr r8, 8
mov qword [rsp + 0x90], r8
movabs rax, 0xb2839a4ddd09dbf0
mov r10, qword [0x140333070]
imul r10, rax
movabs r9, 0x7959d0d0d81e4f73
sub r10, r9
movabs rax, 0x408a3af780000000
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, 0x4f
and ecx, 0x8000003f
jge 0x1401878b1
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, r10
ror rdx, cl
not rdx
movabs rcx, 0x8008c11901c674a0
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x38], rax
add r9, rax
movzx ecx, r9b
mov dword [rsp + 0x230], ecx
and cl, 0xf
mov r11, r10
imul r11, r8
sub r11, r9
xor r11, r15
rol r11, cl
mov rax, r9
sub rax, qword [0x140333078]
xor r11, rax
movabs rax, 0x326c208f4b1c3c20
imul rdx, rax
movabs rax, 0x1cc52488c79c2da9
sub rdx, rax
xor r11, rdx
xor r11, rbx
mov rax, r11
and rax, r12
je 0x140187bf9
sub rax, 1
je 0x140187af8
sub rax, 1
je 0x140187a27
cmp rax, 1
jne 0x140187c7d
mov r15, r9
imul r15, r10
movabs rax, 0x6da936e27277fc0d
add rax, r11
xor r15, rax
ror r15, 0x18
shr r15, 0xc
not r15
movzx eax, r15b
movzx ecx, r11b
imul ecx, eax
and cl, 0x3f
movabs rdx, 0x835729f0095c
add rdx, qword [0x140333088]
movabs rax, 0x79db55a8baf566ad
xor rdx, rax
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97110e5a7
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, r14
mov eax, 0xa0cb374d
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, 0x4fb72df4c144220a
sub r14, r15
shr r14, cl
movabs rax, 0x7961f5592a6d96f5
mov rcx, qword [rsp + 0x38]
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, r8
xor r14, rax
jmp 0x140187c7d
movabs rcx, 0xaaaaaa1aa0d2ca73
mov r10, r11
xor r10, rcx
movabs rcx, 0x1206ed62df163f
imul r10, rcx
movabs rcx, 0xffff7e8a86c2f8af
mov rdx, qword [rsp + 0x38]
imul rdx, rcx
movabs rcx, 0x402bbb201e80bc09
add r10, rcx
add r10, rdx
lea ecx, [r11 - 0xf]
and cl, 0x3f
movabs rax, 0x277cd7be72021d13
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, 0xfffffffff5871ca3
rol r9, cl
movabs rax, 0x243a59c680000000
imul r9, rax
mov r8, qword [rsp + 0x90]
mov cl, r8b
and cl, 0x3f
mov rdx, r9
ror rdx, 0x25
not rdx
movabs rax, 0x9b2de6b2f7ba7cd0
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 0x140187c7d
movabs rax, 0xad05696855da2611
imul r11, rax
mov r14d, dword [rsp + 0x230]
and r14d, 0x8000003f
jge 0x140187b21
sub r14d, r12d
or r14d, 0xffffffc0
add r14d, r12d
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x1b61b2112dd2dfb4
shl rdx, cl
mov rax, rbx
mov rbx, rdx
xor rbx, rax
mov cl, r14b
rol rbx, cl
movabs rcx, 0x7959d0d0d81e4f73
add rcx, r11
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffef2f27e1b08d
mov rax, qword [rsi + rcx*8]
imul rax, rdx
xor rbx, rax
movabs rax, 0xffffc7a7fc16bc5e
or rbx, rax
mov r14, qword [0x140333070]
imul r14, r15
sub r14, r9
mov rax, r8
sub rax, rbx
xor r14, rax
movabs rax, 0xc7a7c6a6ad1ebc53
xor r14, rax
movzx eax, r10b
imul ecx, eax, 0xf6
and cl, 0x3f
mov rax, r11
imul rax, r9
imul rax, r14
mov r13, r10
sub r13, rax
movabs rax, 0x7895894624cf049
add r13, rax
xor r13, r8
rol r13, cl
not r13
jmp 0x140187c7d
mov rcx, r11
imul rcx, qword [0x140333080]
and rcx, qword [0x140333070]
mov rax, rbx
mov rbx, rcx
xor rbx, rax
ror rbx, 0xc
imul rbx, r9
mov r13, r8
not r13
imul r13, r10
movabs rax, 0x7cd8a7de70efedb2
imul r13, rax
mov al, r13b
not al
movzx ecx, al
mov r8, qword [0x140333068]
movzx eax, r8b
xor ecx, eax
and ecx, 0x8000003f
jge 0x140187c5a
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
imul rdx, qword [0x140333060], 0xffffffff85715338
sub rdx, r8
ror rdx, cl
movabs r8, 0x7959d0d0d81e4f73
add r8, rdx
add r8, qword [rsp + 0x38]
movabs rax, 0xff055d7b80a4e77f
xor r15, rax
mov rax, rdi
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor rbx, r13
imul rbx, qword [rsi + r15*8]
not r9
imul r9, r11
imul r9, r8
imul r9, r14
movabs rcx, 0xf5ed7e878717ada3
xor rcx, r10
not rcx
xor rcx, r9
sub rcx, rbx
call fcn.14016cfd0
mov qword [0x140337f50], rax
mov rax, qword [rsp + 0x30]
jmp 0x1401852f1