Function at 0x140176bc0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
movabs rax, 0x1ff12967c4600000
movabs r15, 0x6751af8d9d57d0a2
movabs r14, 0x36723b7f55851633
mov rdi, qword [0x140301070]
imul rdi, rax
movabs rax, 0x9dcd9dbb5eb00000
xor rdi, rax
mov rcx, rdi
imul rcx, r14
mov qword [rsp + 0x1c8], rcx
movabs r13, 0xaaaaaaaaaaaaaaab
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rsi, [0x140301060]
mov r8, rdi
and r8, r14
imul r8, qword [rsi + rcx*8]
movabs rax, 0x8d2fc4656a93b520
imul r8, rax
shr r8, 3
movabs rax, 0xd656005d8c2cb1b3
xor r8, rax
movabs rax, 0xffffff57cdb7c4c7
mov r10, rdi
imul r10, rax
sub r10, 0x499e270
xor r10, r8
xor r10, qword [0x140301060]
mov rax, r8
imul rax, qword [0x140301070]
movabs rcx, 0xb9de928bc4047be6
imul rax, rcx
not rax
and r10, rax
ror r10, 0x24
shr r10, 8
movabs r9, 0xc98dc480aa7ae9cd
lea rcx, [rdi + r9]
xor rcx, 0xfffffffffa8a70eb
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x6476d31715c1eca0
mov rbx, qword [rsi + rcx*8]
imul rbx, rax
add rbx, r14
movabs rcx, 0xcfdb87fc4a59f118
mov rax, r8
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov r12, rbx
xor r12, rdi
lea rcx, [rbx + r9]
mov rax, r13
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, 0xf7
and ecx, 0x8000003f
jge 0x140176d49
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r12, cl
not r12
imul r12, r8
imul rdx, r12, 0xfffffffffb661d90
mov qword [rsp + 0x1c0], rdx
lea r11, [rdx + r9]
mov r9, rbx
imul r9, r10
sub r9, r11
xor r9, r15
mov cl, r11b
xor cl, 0xf8
and cl, 0xf
rol r9, cl
movabs rax, 0xc90f5de807b243b0
imul r12, rax
movabs rax, 0x67bad1780f1531d7
add r12, rax
xor r9, r12
mov rax, r11
sub rax, qword [0x140301078]
xor r9, rax
xor r9, r8
xor r9, rdi
mov rax, r9
and eax, 3
je 0x1401770cf
sub rax, 1
je 0x140176fb0
sub rax, 1
je 0x140176ec1
cmp rax, 1
jne 0x140177177
mov r15, r11
imul r15, rbx
movabs rax, 0xda2d57489d3505b
add rax, r9
xor r15, rax
ror r15, 0x1c
shr r15, 0xc
xor r15, rdi
not r15
movabs rcx, 0x835726f575e4
mov rdx, qword [0x140301088]
add rdx, rcx
movabs rax, 0xc90f41f8c794bcab
xor rdx, rax
movzx eax, r9b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97e15991f
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, r14
mov eax, 0xafce4bf5
add rcx, rax
mov rax, r13
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, 0x23b60b198097b3b4
sub r14, r15
shr r14, cl
movabs rax, 0xc995e90907c52507
mov rcx, qword [rsp + 0x1c0]
add rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [rsi + rcx*8]
imul rax, r9
sub rax, r10
xor r14, rax
jmp 0x140177177
movabs rax, 0xaaaaaa1aafd7b6cb
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed6dda6a87
imul rcx, rax
movabs r11, 0xfff17ca878b580b7
mov rax, r8
xor rax, r11
sub rcx, rax
movabs rax, 0xffff7e8a89c78417
imul rdx, rax
movabs rbx, 0x4bd6b92daebb3982
add rbx, rcx
add rbx, rdx
movabs rax, 0x277cd7be7d0761ab
mov rcx, rbx
xor rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, rbx
not r11
imul r11, qword [rsi + rcx*8]
xor r11, 0xfffffffffa82601b
lea ecx, [r9 + 9]
and cl, 0x3f
rol r11, cl
movabs rcx, 0xcfd587fbec7a9555
mov rax, qword [rsp + 0x1c8]
xor rax, rcx
movabs rcx, 0x7c7a7dc693856aaa
and rax, rcx
imul r11, rax
mov rcx, r11
ror rcx, 0x34
not rcx
movabs rax, 0x9b2de6b2cbaf8e30
imul rcx, rax
mov rax, rbx
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, r10b
and cl, 0x3f
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
jmp 0x140177177
movabs rax, 0xebc05ffc46a9494f
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, 0xc98dc480aa7ae9cc
mov rax, rdi
imul rax, rdx
xor rax, r15
not rax
shl rax, cl
xor r8, rax
mov cl, r11b
and cl, 0x3f
rol r8, cl
movabs rcx, 0xc98dc480aa7ae9cd
add rcx, r9
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffffb7f55851633
mov rax, qword [rsi + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7f313c0e6
or r8, rax
mov r14, qword [0x140301070]
imul r14, r15
sub r14, r11
mov rax, r10
sub rax, r8
xor r14, rax
movabs rax, 0xc7a7c6a6a21bc0eb
xor r14, rax
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r11
imul rdx, r14
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, rdi
movabs rdi, 0x78958946d498cf1
add rdi, rax
xor rdi, r10
movzx eax, bl
imul ecx, eax, 0xe
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x140177177
mov rax, r13
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 [0x140301080]
mov rdx, qword [rsi + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r11
not r10
imul r10, rbx
movabs rax, 0x7cd8a7de7fea910a
imul r10, rax
mov rax, r8
imul rax, rdi
mov rdi, r10
xor rdi, rax
imul r10, qword [0x140301060], 0xfffffffffb661d90
mov rdx, qword [0x140301068]
sub r10, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14017715f
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r10, cl
movabs rax, 0xc98dc480aa7ae9cd
add r10, rax
add r10, qword [rsp + 0x1c0]
movabs rax, 0xff055d7b8fa19bc7
xor r15, rax
mov rax, r13
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r8, rdi
imul r8, qword [rsi + r15*8]
not r11
imul r11, r9
imul r11, r10
imul r11, r14
movabs rcx, 0xf5ed7e878812d11b
xor rcx, rbx
not rcx
xor rcx, r11
sub rcx, r8
call fcn.140154c7c
mov qword [0x14030af80], rax
xor r12d, r12d
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x38], 0xca7372f7
mov eax, 0xb1b3567f
sub eax, dword [0x140301058]
sub eax, dword [0x140301050]
xor eax, 0xcc26d886
sub eax, dword [0x140301048]
mov rcx, qword [0x140301040]
add eax, 0x9d49ffb
add eax, ecx
xor eax, 0xc4b59d28
sub eax, 0x26f48b16
xor eax, 0x89e41091
lea edx, [rcx + 0x15d284be]
add edx, eax
not edx
mov eax, dword [0x140301038]
xor eax, 0xd6bae1ca
sub edx, eax
mov ecx, dword [0x140301030]
xor ecx, 0x29451e35
add ecx, 0x59351f62
add ecx, edx
xor ecx, 0x90986ad2
mov dword [rsp + 0x38], ecx
movsxd rax, ecx
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x1d8], r12d
mov dword [rsp + 0x1d8], 0xd52d4b7d
mov eax, 0xfb893de2
sub eax, dword [0x140301058]
sub eax, dword [0x140301050]
xor eax, 0x92436012
sub eax, dword [0x140301048]
mov r13, qword [0x140301040]
add eax, 0x50271038
add eax, r13d
xor eax, 0x44ae4524
add eax, 0x6d95bfbd
xor eax, 0x8d430958
mov ecx, dword [0x140301030]
xor ecx, 0x2080a243
sub ecx, eax
mov eax, dword [0x140301038]
xor eax, 0xdf7f5dbc
sub ecx, eax
sub ecx, r13d
sub ecx, 0x6d95db47
xor ecx, 0x75a68034
mov dword [rsp + 0x1d8], ecx
movsxd rax, ecx
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x40], 0x29b786c4
mov dword [rsp + 0x44], 0x3b74ccb0
mov dword [rsp + 0x48], 0x9511f489
mov dword [rsp + 0x4c], 0x6b031241
mov dword [rsp + 0x50], 0x5899f234
mov dword [rsp + 0x54], 0x8e23793
mov dword [rsp + 0x58], 0x1e334f52
mov dword [rsp + 0x5c], 0xba44e100
mov dword [rsp + 0x60], 0xefb8a156
mov qword [rsp + 0x30], r12
movabs rcx, 0x13cce94adbcd969a
xor edx, edx
mov rax, r12
div rcx
lea r14d, [rdx + 0x35]
movzx r15d, r14w
ror r15w, 8
movzx esi, r15w
shr si, 0xa
movzx eax, r15w
shl ax, 6
or si, ax
movzx edi, si
ror di, 8
movzx r9d, r15w
shr r9w, 0xd
movzx eax, r15w
shl ax, 3
or r9w, ax
movzx edx, r15w
shl dx, 0xd
movzx eax, r15w
shr ax, 3
or dx, ax
movzx r11d, dx
ror r11w, 8
movzx r8d, r15w
shr r8w, 0xc
movzx eax, r15w
shl ax, 4
or r8w, ax
movzx ebx, r15w
not bx
movzx ecx, r15w
ror cx, 1
movzx r10d, word [rsp + r12*2 + 0x40]
sub r10w, si
mov eax, 0x6afe
add r10w, ax
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x140301058]
sub r10w, word [0x140301050]
add r10w, di
add r10w, r15w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, word [0x140301048]
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
sub r10w, 0x50
add r10w, r13w
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r15w
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov ecx, 0x4050
sub r11w, cx
add ax, r11w
xor r10w, ax
mov edx, 0x9d7
add edx, r15d
add dx, dx
sub dx, r10w
movzx eax, word [0x140301038]
xor ax, bx
sub dx, ax
mov eax, 0x7100
add eax, r15d
mov ecx, 0x2440
xor ax, cx
sub dx, ax
movzx eax, word [0x140301030]
xor ax, r15w
add dx, ax
sub dx, r13w
sub dx, r14w
sub dx, di
sub dx, si
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rsp + r12*2 + 0x40], dx
inc r12
cmp r12, 0x12
movabs rcx, 0x13cce94adbcd969a
jb 0x14017733a
lea rax, [rsp + 0x40]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 0x24
xorps xmm0, xmm0
movups xmmword [rsp + 0x100], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x110], xmm1
lea rax, [rsp + 0x40]
or r8, 0xffffffffffffffff
xor r12d, r12d
inc r8
cmp word [rax + r8*2], r12w
jne 0x140177534
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x100]
call fcn.14002cdd4
nop
mov dword [rsp + 0x64], 0x29cb86f1
mov dword [rsp + 0x68], 0x3b84ccac
mov dword [rsp + 0x6c], 0x9530f431
mov dword [rsp + 0x70], 0x42fa1210
mov dword [rsp + 0x74], 0x5aa4edd3
mov dword [rsp + 0x78], 0x873377c
mov dword [rsp + 0x7c], 0x1e394fc7
mov dword [rsp + 0x80], 0xbc01df87
mov dword [rsp + 0x84], 0xf04ca154
mov dword [rsp + 0x88], 0xce102e8a
mov dword [rsp + 0x8c], 0x1dcf2a73
mov eax, 0x43ae
mov word [rsp + 0x90], ax
mov r13, r12
mov r12d, 0x6afe
xor edx, edx
mov rax, r13
movabs rcx, 0x13cce94adbcd969a
div rcx
lea r14d, [rdx + 0x35]
movzx r15d, r14w
ror r15w, 8
movzx esi, r15w
shr si, 0xa
movzx eax, r15w
shl ax, 6
or si, ax
movzx edi, si
ror di, 8
movzx r9d, r15w
shr r9w, 0xd
movzx eax, r15w
shl ax, 3
or r9w, ax
movzx edx, r15w
shl dx, 0xd
movzx eax, r15w
shr ax, 3
or dx, ax
movzx r11d, dx
ror r11w, 8
movzx r8d, r15w
shr r8w, 0xc
movzx eax, r15w
shl ax, 4
or r8w, ax
movzx ebx, r15w
not bx
movzx ecx, r15w
ror cx, 1
movzx r10d, word [rsp + r13*2 + 0x64]
sub r10w, si
add r10w, r12w
mov eax, 0x9204
sub ax, si
xor r10w, ax
sub r10w, word [0x140301058]
sub r10w, word [0x140301050]
add r10w, di
add r10w, r15w
sub r10w, cx
mov eax, 0x6fc1
add r10w, ax
lea eax, [r15 + rsi]
mov ecx, 0x2d07
add ax, cx
xor r10w, ax
sub r10w, word [0x140301048]
sub r10w, dx
sub r10w, r9w
sub r10w, r15w
mov rcx, qword [0x140301040]
sub r10w, 0x50
add r10w, cx
add r10w, r11w
add r10w, si
movzx eax, r8w
sub ax, r9w
add ax, si
add ax, r15w
xor r10w, ax
movzx eax, r15w
sub ax, r8w
xor ax, r15w
sub r10w, ax
sub r10w, r11w
add r10w, r15w
mov eax, 0x4230
add r10w, ax
movzx eax, r15w
ror ax, 7
mov edx, 0x4050
sub r11w, dx
add ax, r11w
xor r10w, ax
movzx edx, word [0x140301030]
xor dx, r15w
sub dx, r10w
movzx eax, word [0x140301038]
xor ax, bx
sub dx, ax
mov eax, 0x7100
add eax, r15d
mov r8d, 0x2440
xor ax, r8w
sub dx, ax
mov eax, 0x9d7
add eax, r15d
add ax, ax
add dx, ax
sub dx, r14w
sub dx, cx
sub dx, di
sub dx, si
movzx eax, r15w
movzx ecx, bx
imul ecx, eax
xor dx, cx
mov word [rsp + r13*2 + 0x64], dx
inc r13
cmp r13, 0x17
jb 0x1401775cb
lea rax, [rsp + 0x64]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 0x2e
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x130], xmm1
lea rcx, [rsp + 0x64]
xor r12d, r12d
movabs r13, 0xaaaaaaaaaaaaaaab
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r12w
jne 0x1401777d2
mov r8, rax
lea rdx, [rsp + 0x64]
lea rcx, [rsp + 0x120]
call fcn.14002cdd4
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], r12
lea rax, [rsp + 0x140]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0xe8], rax
lea r9, [rsp + 0xe0]
lea r8, [rsp + 0xe8]
mov edx, 2
lea rcx, [rsp + 0xc0]
call fcn.1400adfe4
nop
mov r9, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x98]
call fcn.14018ab04
nop
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x1401778f2
mov rdi, qword [rsp + 0xc8]
cmp rbx, rdi
je 0x1401778a2
mov rcx, rbx
call fcn.14006ed5c
add rbx, 0x20
cmp rbx, rdi
jne 0x140177889
mov rbx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xd0]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x1401778d6
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140178bfa
mov rcx, rbx
call fcn.14025dcf8
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], r12
lea r9, [fcn.14002f954]
mov edx, 0x20
lea r8d, [rdx - 0x1e]
lea rcx, [rsp + 0x100]
call fcn.14025def0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x64], xmm0
movups xmmword [rsp + 0x74], xmm0
mov qword [rsp + 0x84], rax
mov dword [rsp + 0x8c], eax
mov word [rsp + 0x90], ax
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x1d8], r12d
mov dword [rsp + 0x38], r12d
cmp byte [rsp + 0x98], r12b
jne 0x1401779e2
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x20], 0x81262163
mov eax, 0xb4c7df48
sub eax, dword [0x140301058]
sub eax, dword [0x140301050]
xor eax, 0x76700934
sub eax, dword [0x140301048]
mov rcx, qword [0x140301040]
add eax, 0x60a2382
add eax, ecx
xor eax, 0x1fbff27
sub eax, 0x5dd03f8b
xor eax, 0x29fd951f
lea edx, [rcx + 0xd94ac78]
add edx, eax
not edx
mov eax, dword [0x140301038]
xor eax, 0xc45b3ba0
sub edx, eax
mov ecx, dword [0x140301030]
xor ecx, 0x3ba4c45f
add ecx, 0x76f8fa6
add ecx, edx
xor ecx, 0xca01a060
mov dword [rsp + 0x20], ecx
movsxd rbx, ecx
jmp 0x140178bcb
movabs rsi, 0x97e8709ea05d2de1
movabs rax, 0x5cee800000000000
movabs r14, 0x941854ca269d9be8
mov r11, qword [0x140301080]
imul r11, rax
movabs rax, 0x7f59700000000000
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov qword [rsp + 0xb8], rcx
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
and r8, rsi
lea r15, [0x140301060]
imul r8, qword [r15 + rcx*8]
movabs rax, 0x4f22571409987240
imul r8, rax
shr r8, 3
movabs rax, 0x46d72199f16a06e4
xor r8, rax
movabs rax, 0xffffff57f54b84bb
mov rdi, r11
imul rdi, rax
sub rdi, 0x382f618
xor rdi, r8
xor rdi, qword [0x140301060]
mov rax, r8
imul rax, qword [0x140301070]
movabs rcx, 0xb9de928bfcf83b9a
imul rax, rcx
not rax
and rdi, rax
ror rdi, 0xa
shr rdi, 8
movabs r9, 0x68178f615fa2d21f
lea rcx, [r11 + r9]
xor rcx, 0xffffffffc2763097
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xe1ac8a28f1d782b0
mov rbx, qword [r15 + rcx*8]
imul rbx, rax
sub rbx, r9
movabs rcx, 0x661416120d73ba0
mov rax, r8
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov rax, rbx
xor rax, r11
mov qword [rsp + 0xb0], rax
lea rcx, [rbx + r9]
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [r15 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x8b
mov edx, 0x8000003f
and ecx, edx
jge 0x140177b58
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, qword [rsp + 0xb0]
ror rax, cl
not rax
imul rax, r8
imul rcx, rax, 0xfffffffffc7d09e8
mov qword [rsp + 0x30], rcx
lea r10, [rcx + r9]
mov r9, rbx
imul r9, rdi
sub r9, r10
xor r9, r14
movzx ecx, r10b
mov dword [rsp + 0xa8], ecx
xor ecx, 4
and ecx, 0xf
and ecx, edx
jge 0x140177ba3
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r9, cl
movabs rcx, 0x598e7c2c7deb7ce8
imul rax, rcx
movabs rcx, 0x756e1cff9db2dfc1
sub rax, rcx
xor r9, rax
mov rax, r10
sub rax, qword [0x140301078]
xor r9, rax
xor r9, r8
xor r9, r11
mov rax, r9
and eax, 1
je 0x140177f0d
sub rax, 1
je 0x140177dda
sub rax, 1
je 0x140177ce6
cmp rax, 1
jne 0x140177fb2
mov r14, r10
imul r14, rbx
movabs rax, 0x180c0829551f22a5
add rax, r9
xor r14, rax
ror r14, 0x30
shr r14, 0xc
xor r14, r11
not r14
movabs rcx, 0x83571e0935a0
mov rdx, qword [0x140301088]
add rdx, rcx
movabs rax, 0x68950a190ab0c705
xor rdx, rax
movzx eax, r14b
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db946e9d963
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, rsi
mov eax, 0x97320b89
add rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r15 + rcx*8]
and cl, 0xf
movabs rsi, 0x211385b3d411b66e
sub rsi, r14
shr rsi, cl
movabs rax, 0x681fb3e9c5594d65
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r15 + rcx*8]
imul rax, r9
sub rax, rdi
xor rsi, rax
jmp 0x140177fb2
movabs rax, 0xaaaaaa1a972bf6b7
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed55262afb
imul rcx, rax
movabs rdx, 0xfff17ca84049c0cb
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ab13bc46b
mov rdx, qword [rsp + 0x30]
imul rdx, rax
movabs rbx, 0xc9411dfa2f4e5360
add rbx, rcx
add rbx, rdx
movabs rax, 0x277cd7be45fb21d7
mov rcx, rbx
xor rcx, rax
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rbx
not r10
imul r10, qword [r15 + rcx*8]
xor r10, 0xffffffffc27e2067
lea ecx, [r9 - 0xb]
and cl, 0x3f
rol r10, cl
movabs rcx, 0x38284c82a0000000
mov rax, qword [rsp + 0xb8]
xor rax, rcx
movabs rcx, 0x7c7a7dc6ab792ad6
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 2
not rcx
movabs rax, 0x9b2de6b2285e8fc0
imul rcx, rax
mov rax, rbx
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x140177fb2
movabs rax, 0xc9f1e8f40a8ff82f
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, 0x68178f615fa2d21e
mov rax, r11
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r8, rax
mov eax, dword [rsp + 0xa8]
and eax, 0x8000003f
jge 0x140177e36
dec eax
or eax, 0xffffffc0
inc eax
mov cl, al
rol r8, cl
movabs rcx, 0x68178f615fa2d21f
add rcx, r9
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff09ea05d2de1
mov rax, qword [r15 + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7cbef809a
or r8, rax
mov rsi, qword [0x140301070]
imul rsi, r14
sub rsi, r10
mov rax, rdi
sub rax, r8
xor rsi, rax
movabs rax, 0xc7a7c6a69ae78097
xor rsi, rax
movabs rax, 0xcccccccccccccccd
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r10
imul rdx, rsi
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, r11
movabs r11, 0x789589455b5cc8d
add r11, rax
xor r11, rdi
movzx eax, bl
imul ecx, eax, 0xf2
and cl, 0x3f
rol r11, cl
not r11
jmp 0x140177fb2
mov rax, r13
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 [0x140301080]
mov rdx, qword [r15 + 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, rbx
movabs rax, 0x7cd8a7de4716d176
imul rdi, rax
mov rax, r8
imul rax, r11
mov r11, rdi
xor r11, rax
imul rdi, qword [0x140301060], 0xfffffffffc7d09e8
mov rdx, qword [0x140301068]
sub rdi, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140177f9d
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdi, cl
movabs rax, 0x68178f615fa2d21f
add rdi, rax
add rdi, qword [rsp + 0x30]
movabs rax, 0xff055d7bb75ddbbb
xor r14, rax
mov rax, r13
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, r11
imul r8, qword [r15 + r14*8]
not r10
imul r10, r9
imul r10, rdi
imul r10, rsi
movabs rcx, 0xf5ed7e87b0ee9167
xor rcx, rbx
not rcx
xor rcx, r10
sub rcx, r8
call fcn.1401550d8
mov qword [0x14030af70], rax
movabs rax, 0xcf076aefa35e10f8
mov r11, qword [0x140301070]
imul r11, rax
not r11
movabs rcx, 0xb5e96a2e8d77ddfc
mov r14, qword [0x140301060]
mov rax, r14
xor rax, rcx
and r11, rax
ror r11, 0x1b
shr r11, 8
mov rsi, qword [0x140301068]
movabs rax, 0xeeb87b5252c8eaf0
mov r9, rsi
imul r9, rax
movabs rax, 0x318105f29eff53f4
add r9, rax
movabs rax, 0x634de30100000000
xor r9, rax
shr r9, 0x1f
not r9
movabs r8, 0xce7efa0d6100ac0c
lea rcx, [r9 + r8]
mov rax, r13
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
movzx ecx, byte [r15 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xcf
mov ebx, 0x8000003f
and ecx, ebx
jge 0x1401780c6
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0xdc8a3f583e42b8e0
mov rdi, rax
imul rdi, rcx
lea rdx, [rdi + r8]
mov r8, r9
imul r8, r11
sub r8, rdx
movabs rcx, 0xe4ec0e1a92180d67
xor r8, rcx
movzx ecx, dl
and ecx, 0xf
and ecx, ebx
jge 0x14017810c
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0xc730529b60a8d580
imul rax, rcx
movabs r15, 0x5559466745fdf70
add rax, r15
xor r8, rax
mov rax, rdx
sub rax, qword [0x140301078]
xor r8, rax
movabs rcx, 0x4a1695d176387944
xor r8, rcx
mov r10, r8
imul r10, qword [0x140301080]
and r10, qword [0x140301080]
xor r10, rcx
ror r10, 4
imul r10, rdx
not r11
imul r11, r9
movabs rax, 0x7cd8a7de7e1bf032
imul r11, rax
imul rdx, r14, 0xfffffffffb4fa4b8
sub rdx, rsi
mov al, r11b
not al
movzx ecx, al
movzx eax, sil
xor ecx, eax
and ecx, ebx
jge 0x14017819c
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdx, cl
lea rcx, [rdi + rdx]
movabs rax, 0x318105f29eff53f4
imul rcx, rax
add rcx, r15
movabs rax, 0x318105f29eff53f3
sub rax, rdi
imul rcx, rax
imul rcx, r8
movabs rax, 0xf5ed7e8789e3b023
xor r9, rax
not r9
xor rcx, r9
xor r10, r11
imul r10, r14
sub rcx, r10
call fcn.14015491c
mov qword [0x14030af38], rax
mov dword [rsp + 0x3c], r12d
mov dword [rsp + 0x3c], 0x13f6347b
mov eax, 0x7ae1fee9
sub eax, dword [0x140301058]
sub eax, dword [0x140301050]
xor eax, 0x5f357dda
sub eax, dword [0x140301048]
mov rdx, qword [0x140301040]
lea ecx, [rdx + 0x62120bb7]
add ecx, eax
xor ecx, 0x2ad9c12c
add ecx, 0x7a412b85
xor ecx, 0x822ed0b0
mov r8d, dword [0x140301030]
xor r8d, 0x23a7ce0b
sub r8d, ecx
mov eax, dword [0x140301038]
xor eax, 0xdc5831f4
sub r8d, eax
sub r8d, edx
sub r8d, 0x5bf0ecf4
xor r8d, 0x62287d7c
mov dword [rsp + 0x3c], r8d
cmp dword [0x140301090], r8d
setne al
mov dword [rsp + 0x3c], r12d
test al, al
je 0x14017830f
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x20], 0xd104c78f
mov eax, 0xbd385076
sub eax, dword [0x140301058]
sub eax, dword [0x140301050]
xor eax, 0xea48374c
sub eax, dword [0x140301048]
mov rdx, qword [0x140301040]
lea ecx, [rdx - 0x7a34eda9]
add ecx, eax
xor ecx, 0xa788622e
add ecx, 0x56945bb3
xor ecx, 0x2c9ad5e9
mov r8d, dword [0x140301030]
xor r8d, 0x21db4afd
sub r8d, ecx
mov eax, dword [0x140301038]
xor eax, 0xde24b502
sub r8d, eax
sub r8d, edx
add r8d, 0x625b7ac3
xor r8d, 0x414f76fa
mov dword [rsp + 0x20], r8d
movsxd rbx, r8d
jmp 0x140178bcb
mov byte [rsp + 0x24], 0xc9
mov byte [rsp + 0x25], 0xc6
mov byte [rsp + 0x26], 0xf9
mov byte [rsp + 0x27], 0x35
mov byte [rsp + 0x28], 0x49
mov byte [rsp + 0x29], 0x63
mov r15, r12
mov qword [rsp + 0xf0], r12
mov r13, qword [0x140301040]
cmp r15, 6
jae 0x1401784bf
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adbcd969a
div rcx
add dl, 0x35
mov byte [rsp + 0x1c0], dl
mov r14b, dl
sar r14b, 7
or r14b, dl
mov byte [rsp + 0x1c8], 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 dl, byte [rsp + r15 + 0x24]
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 [0x140301050]
sub dl, byte [0x140301058]
sub dl, 0x3f
add dl, r11b
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, byte [0x140301048]
sub dl, r9b
sub dl, r14b
sub dl, 0x50
add dl, r13b
add dl, r11b
mov al, r8b
sub al, r9b
add al, sil
add al, r14b
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 dil, 0x51
add dil, r13b
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 [0x140301038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x140301030]
add dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor dil, cl
mov byte [rsp + 0x1d0], dil
mov byte [rsp + r15 + 0x24], dil
inc r15
mov qword [rsp + 0xf0], r15
jmp 0x14017833f
lea rdi, [rsp + 0x24]
mov qword [rsp + 0x170], rdi
mov qword [rsp + 0x178], 6
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0x98]
call fcn.140151090
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xd8], r12
lea rdx, [rsp + 0xd8]
mov rcx, rax
call fcn.140156efc
mov rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x148], rbx
mov rax, r12
mov qword [rsp + 0xf8], rax
cmp rax, 6
jae 0x140178534
mov byte [rdi + rax], r12b
inc rax
jmp 0x14017851d
mov dl, byte [rsp + 0x98]
lea rcx, [rsp + 0xa0]
call fcn.140160d7c
mov rax, rbx
jmp 0x140178be7
mov dword [rsp + 0x20], r12d
mov dl, byte [rsp + 0x98]
lea rcx, [rsp + 0xa0]
call fcn.140160d7c
mov rax, rbx
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.140265038
nop