Function at 0x1402a6990
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov qword [rsp + 0x80], r9
mov r14, r8
mov r12, rdx
mov qword [rsp + 0x68], rcx
mov rax, qword [0x14057e8d8]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov bl, 1
test bl, bl
je 0x1402a69f8
movsxd r15, dword [0x14045bd64]
mov eax, 0x561b
add eax, dword [0x1405523f0]
cdqe
add rax, qword [0x140552558]
mov ecx, 0x63ced4ce
call qword [case.0x140114b5b.0]
test bl, bl
jne 0x1402a6a28
mov esi, 0x561b
nop dword [rax]
mov eax, dword [0x14045bd64]
mov eax, dword [0x140552420]
add eax, esi
cdqe
add rax, qword [0x1405524c0]
mov ecx, 0xc878aa7a
call qword [case.0x140114b5b.0]
test al, 1
je 0x1402a6a00
jmp 0x1402a69ce
lea rax, [fcn.1402a6990]
lea esi, [rax + rax]
add esi, 0x4d20
mov edi, esi
not edi
mov bl, 1
nop
mov eax, dword [0x140590c18]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402a6a8e
mov eax, dword [0x1405526e0]
lea ecx, [rax - 0x6b7f0e5f]
mov edx, esi
xor edx, ecx
not ecx
and ecx, edi
or ecx, edx
not ecx
mov edx, dword [0x1405523b0]
add eax, edx
add eax, 0x948147bb
cdqe
add rax, qword [0x140552480]
mov edx, 0xf91d78f7
call qword [case.0x140114b5b.0]
test al, 1
jne 0x1402a6a94
test bl, bl
je 0x1402a6a40
jmp 0x1402a6a51
lea rax, [0x14045bd64]
add r15, rax
mov esi, 0x561b
mov eax, dword [0x140552424]
add eax, esi
cdqe
add rax, qword [0x140552470]
lea rcx, [rsp + 0xd0]
mov edx, 0x524a9d75
call qword [case.0x140114b5b.0]
mov eax, dword [rsp + 0xd0]
mov ecx, 0x9480f1a2
add ecx, dword [0x1405526e0]
xor edx, edx
div ecx
mov ecx, edx
add esi, dword [0x1405523e0]
movsxd rax, esi
add rax, qword [0x140552550]
mov edx, 0xf49f66f0
call qword [case.0x140114b5b.0]
test al, 1
jne 0x1402a799c
jmp 0x1402a79ad
mov eax, dword [0x140590c1c]
cmp eax, 0x1e
jg 0x1402a6b1d
mov eax, dword [0x140590c1c]
cmp eax, 0x28
jle 0x1402a6b49
mov eax, dword [0x1405523e8]
mov ecx, dword [0x1405526e0]
add eax, ecx
add eax, 0x948147bb
cdqe
add rax, qword [0x1405524a8]
mov rcx, r14
mov edx, 0xda89d7f6
call qword [case.0x140114b5b.0]
jmp 0x1402a6b12
movabs rcx, 0x78c00c9ca39192bf
cmp r14, 0xf
mov qword [rsp + 0x78], r12
ja 0x1402a6ccb
mov dword [rsp + 0x64], ebx
movabs r13, 0xe7d6240a9871eae3
mov ecx, 0x10
sub rcx, r14
mov rax, qword [rsp + 0x68]
lea rbx, [rax + r14]
add rbx, 0x50
lea rsi, [rsp + 0xf0]
mov qword [rsp + 0x70], rcx
lea rax, [rsp + rcx]
add rax, 0xf0
mov qword [rsp + 0x58], rax
lea rbp, [rsp + 0xd0]
nop dword [rax]
mov eax, dword [0x140590c18]
mov ecx, dword [0x1405526e0]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1402a6bff
mov rcx, rsi
mov rdx, rbx
mov r8, qword [rsp + 0x70]
call fcn.14042d4b0
mov rcx, qword [rsp + 0x58]
mov rdx, r12
mov r8, r14
call fcn.14042d4b0
mov eax, dword [0x140590c18]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1402a70f4
mov edx, dword [0x1405526e8]
movabs r10, 0x78c00c9ca39192bf
lea r8d, [r10 + rdx]
mov rax, r8
mov ecx, r14d
shl rax, cl
mov r9d, 0x10
mov ecx, eax
shl r9, cl
add r8d, r13d
sub r8d, r9d
sub r8d, r13d
imul r8d, r9d
mov eax, r10d
xor eax, edx
and edx, r10d
lea ecx, [rax + rdx*2]
sub ecx, r8d
imul ecx, r8d
mov edx, 0x10
shl rdx, cl
mov eax, dword [0x140552428]
mov ecx, dword [0x1405526e0]
add eax, ecx
add eax, 0x948147bb
cdqe
add rax, qword [0x1405524a0]
mov rcx, 0xfffffffffffffff0
mov r8, rbp
mov r9d, 0x6a5c995e
call qword [case.0x140114b5b.0]
mov edi, 0x10
sub rdi, qword [rsp + 0xd0]
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.14042d4b0
lea rcx, [rsp + rdi]
add rcx, 0xf0
mov rdx, r12
mov r8, r14
call fcn.14042d4b0
mov eax, dword [0x140590c18]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402a6bb0
jmp 0x1402a6bca
mov dword [rsp + 0x64], ebx
mov rax, qword [0x1405526e8]
add rax, rcx
movabs rcx, 0xd6df2eba305983d
mov rdx, r14
sub rdx, rcx
add rdx, rax
lea rax, [rcx + rdx]
add rax, 0xffffffffffffffe0
mov rcx, qword [0x14058f1e0]
mov rdx, rcx
xor rdx, rax
and rcx, rax
lea rax, [rdx + rcx*2]
mov rcx, qword [0x14058f4b8]
mov rdx, rax
xor rdx, rax
not rdx
and rdx, rcx
xor rdx, rax
and rcx, rax
lea rax, [rdx + rcx*2]
movups xmm0, xmmword [r12 + rax]
movaps xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x98], r14
shr r14, 4
mov qword [rsp + 0x58], r14
mov r14, qword [rsp + 0x68]
lea rbp, [r14 + 0x50]
mov dword [0x140590c1c], 0
xor r12d, r12d
lea rbx, [rsp + 0xe0]
mov qword [rsp + 0xa0], rbp
mov r13, qword [rsp + 0x78]
nop
lea rax, [rdi + r12]
mov qword [rsp + 0x88], rax
lea rsi, [r12 + r13]
test r14, r14
mov qword [rsp + 0x70], rsi
je 0x1402a6e23
nop
mov rax, qword [r14 + 0x20]
mov rcx, r14
mov rdx, rbp
mov r8, rbx
call qword [case.0x140114b5b.0]
movups xmm0, xmmword [rsi]
movups xmmword [rbp], xmm0
mov eax, dword [r13 + r12]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [rsp + 0xe0]
xor ecx, eax
mov dword [rdi + r12], ecx
mov eax, dword [rsp + 0xe4]
xor eax, dword [r13 + r12 + 4]
mov dword [rdi + r12 + 4], eax
mov eax, dword [rsp + 0xe8]
xor eax, dword [r13 + r12 + 8]
mov dword [rdi + r12 + 8], eax
mov eax, dword [rsp + 0xec]
xor eax, dword [r13 + r12 + 0xc]
mov dword [rdi + r12 + 0xc], eax
mov ecx, dword [0x140590c18]
mov r8d, dword [0x1405526e0]
mov eax, ecx
sub eax, r8d
add eax, 0x6b7f0e5f
imul eax, ecx
add r8d, 0x9480f1a2
xor edx, edx
div r8d
test edx, edx
je 0x1402a70b0
mov rax, qword [r14 + 0x20]
mov rcx, r14
mov rdx, rbp
mov r8, rbx
call qword [case.0x140114b5b.0]
movups xmm0, xmmword [rsi]
movups xmmword [rbp], xmm0
mov edx, dword [r13 + r12]
mov ecx, dword [rsp + 0xe0]
mov eax, dword [0x1405523e4]
mov ebp, 0x561b
add eax, ebp
cdqe
add rax, qword [0x140552520]
mov dword [rsp + 0x20], 0x2c1ca50a
lea r8, [rsp + 0xc0]
lea rbx, [rsp + 0xd0]
mov r9, rbx
call qword [case.0x140114b5b.0]
mov edx, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xd0]
mov eax, dword [0x140552440]
add eax, ebp
cdqe
add rax, qword [0x140552530]
mov r8, rbx
mov r9d, 0x257517c7
call qword [case.0x140114b5b.0]
mov eax, dword [rsp + 0xd0]
mov rsi, qword [rsp + 0x88]
mov dword [rsi], eax
mov eax, dword [r13 + r12 + 4]
mov ecx, dword [rsp + 0xe4]
mov edx, ecx
sub edx, eax
imul edx, eax
neg ecx
mov eax, dword [0x14055242c]
sub eax, dword [0x1405526e0]
add eax, 0x6b7f647b
cdqe
add rax, qword [0x140552570]
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0xbd07c7bd
mov r8, rsi
mov r9, qword [rsp + 0x70]
call qword [case.0x140114b5b.0]
mov rax, qword [rsp + 0xd0]
xor ecx, ecx
sub ecx, dword [rsp + 0xe8]
mov eax, dword [rax]
imul ecx, eax
mov edi, ecx
sub edi, eax
imul edi, eax
mov eax, dword [0x1405523ec]
add eax, ebp
cdqe
add rax, qword [0x140552548]
mov r8d, dword [0x1405526e0]
mov edx, 0x62a73560
add r8d, edx
mov rdx, rbx
call qword [case.0x140114b5b.0]
mov eax, dword [rsp + 0xd0]
imul eax, edi
mov r8d, eax
mov ecx, edi
shl r8d, cl
mov edx, r8d
xor edx, r8d
not edx
and edx, eax
xor edx, r8d
mov eax, dword [0x1405523d8]
mov ecx, dword [0x1405526e0]
add eax, ecx
add eax, 0x948147bb
cdqe
add rax, qword [0x140552488]
mov rcx, rsi
mov r8d, 0xc13bf1f4
call qword [case.0x140114b5b.0]
mov ecx, dword [r13 + r12 + 0xc]
mov edi, dword [rsp + 0xec]
sub edi, ecx
imul edi, ecx
mov eax, edi
shl eax, cl
mov r14d, edi
mov ecx, eax
shl r14d, cl
mov eax, dword [0x1405523b8]
add eax, ebp
cdqe
add rax, qword [0x1405524f8]
mov r8d, dword [0x1405526e0]
mov ecx, 0xc697f0fa
add r8d, ecx
mov ecx, edi
mov rdx, rbx
call qword [case.0x140114b5b.0]
add r14d, dword [rsp + 0xd0]
mov eax, edi
sub eax, r14d
imul eax, r14d
mov r14, qword [rsp + 0x68]
mov ecx, dword [0x1405526e0]
sub ecx, edi
mov rdi, qword [rsp + 0x80]
add ecx, eax
add ecx, 0x9480f1a0
mov edx, eax
xor edx, eax
not edx
and edx, ecx
xor edx, eax
mov eax, dword [0x1405523f8]
add eax, ebp
cdqe
add rax, qword [0x140552458]
mov rcx, rsi
mov rsi, qword [rsp + 0x70]
mov r8d, 0x30861b87
call qword [case.0x140114b5b.0]
mov eax, dword [0x140552430]
add eax, ebp
cdqe
add rax, qword [0x1405524b0]
mov rcx, rsi
mov rdx, qword [rsp + 0x58]
mov r8, rbx
mov r9d, 0x66487241
call qword [case.0x140114b5b.0]
mov rcx, qword [rsp + 0xd0]
mov eax, dword [0x1405523f4]
add eax, ebp
mov rbp, qword [rsp + 0xa0]
cdqe
add rax, qword [0x140552518]
mov rdx, rbx
lea rbx, [rsp + 0xe0]
mov r8d, 0xfa30c4a5
call qword [case.0x140114b5b.0]
jmp 0x1402a6d90
mov rax, qword [rsp + 0x58]
cmp rax, 1
je 0x1402a70cc
add r12, 0x10
dec rax
mov qword [rsp + 0x58], rax
jmp 0x1402a6d70
add rdi, r12
add rdi, 0x10
mov qword [rsp + 0x80], rdi
mov rax, qword [rsp + 0x78]
add rax, r12
add rax, 0x10
mov qword [rsp + 0x78], rax
mov r14, qword [rsp + 0x98]
movabs rcx, 0x78c00c9ca39192bf
mov edx, r14d
and edx, 0xf
mov rax, qword [0x1405526e8]
add rax, rcx
add rax, 0xfffffffffffffff0
cmp rdx, rax
je 0x1402a7961
mov qword [rsp + 0xa8], rdx
mov eax, 0x561b
add eax, dword [0x140552404]
cdqe
add rax, qword [0x1405524d0]
lea rdx, [rsp + 0xd0]
mov rsi, qword [rsp + 0x68]
mov rcx, rsi
mov r8d, 0x95658eea
call qword [case.0x140114b5b.0]
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax]
lea rdx, [rsi + 0x50]
lea r8, [rsp + 0xe0]
mov rcx, rsi
call qword [case.0x140114b5b.0]
mov rcx, r14
not rcx
mov rax, r14
xor rax, 3
and rcx, 0xfffffffffffffffc
or rcx, rax
not rcx
mov qword [rsp + 0x90], rcx
mov edi, dword [0x140552380]
mov esi, edi
xor esi, 1
mov ebx, 0x9480f1a1
mov eax, dword [0x1405526e0]
add eax, ebx
mov dword [rsp + 0x60], edi
xor edi, eax
not edi
and edi, eax
lea rax, [fcn.1402a6990]
lea ebp, [rax + rax]
add ebp, 0x1060
add edi, edi
xor r12d, r12d
mov r13d, 0x9480f1a0
nop
mov eax, dword [0x1405526e0]
add eax, ebx
test ebp, eax
jne 0x1402a71e1
test r12b, r12b
je 0x1402a723a
mov eax, dword [0x140552408]
mov ecx, dword [0x1405526e0]
add eax, ecx
add eax, 0x948147bb
cdqe
add rax, qword [0x1405524e8]
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0xd0]
mov r8d, 0x25078dd
call qword [case.0x140114b5b.0]
mov eax, dword [rsp + 0xc0]
imul eax, dword [rsp + 0xd0]
and eax, 1
mov ecx, dword [0x1405526e0]
add ecx, r13d
cmp eax, ecx
jne 0x1402a71d0
jmp 0x1402a71dc
mov eax, esi
xor eax, edi
and esi, edi
lea r8d, [rax + rsi*2]
mov dword [0x140552380], r8d
mov eax, dword [rsp + 0x60]
xor eax, r8d
not eax
xor edx, edx
mov ecx, 0
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x60], eax
mov dword [rsp + 0xa0], r8d
test eax, r8d
jne 0x1402a729c
mov r13d, 0x9480f1a0
mov eax, dword [0x1405526e0]
add eax, r13d
xor r12d, r12d
mov edx, 0
mov ecx, 0
mov qword [rsp + 0x58], rcx
cmp eax, dword [rsp + 0x64]
jl 0x1402a7431
mov rcx, qword [rsp + 0xa8]
cmp ecx, 4
mov qword [rsp + 0x88], rdx
jae 0x1402a72cf
xor r15d, r15d
mov r13, qword [rsp + 0x90]
mov al, 1
test al, al
mov ebp, dword [rsp + 0x60]
jne 0x1402a7637
jmp 0x1402a76a2
mov edx, 0x561b
mov eax, dword [0x140552414]
add eax, edx
cdqe
add rax, qword [0x140552508]
mov rdx, qword [rsp + 0x90]
lea r8, [rsp + 0xd0]
mov r9d, 0x515089bb
call qword [case.0x140114b5b.0]
mov rbx, qword [rsp + 0xd0]
mov r15d, 4
mov rdi, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
nop dword [rax]
lea rsi, [r15 - 4]
movzx eax, byte [rdi + r15 - 4]
mov ecx, eax
xor cl, al
not cl
and cl, byte [rsp + r15 + 0xdc]
xor cl, al
mov byte [r13 + r15 - 4], cl
movzx r8d, byte [rsp + r15 + 0xdd]
xor r8b, byte [rdi + r15 - 3]
lea rdx, [r15 - 3]
mov eax, dword [0x1405523d0]
sub eax, dword [0x1405526e0]
add eax, 0x6b7f647b
cdqe
add rax, qword [0x140552568]
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0xbf]
mov qword [rsp + 0x38], rcx
lea r12, [rsp + 0xd0]
mov qword [rsp + 0x30], r12
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x48], 0xfbf55f3e
mov rcx, r13
mov r9, rsi
call qword [case.0x140114b5b.0]
mov rdx, qword [rsp + 0xd0]
movzx ebp, byte [rsp + 0xc0]
xor bpl, byte [rsp + 0xbf]
mov eax, dword [0x1405523b4]
mov ecx, 0x561b
add eax, ecx
cdqe
add rax, qword [0x140552490]
mov rcx, r13
mov r8, r12
mov r9d, 0xa5b71e66
call qword [case.0x140114b5b.0]
mov rax, qword [rsp + 0xd0]
mov byte [rax], bpl
or rsi, 3
movzx eax, byte [rdi + rsi]
mov ecx, eax
xor cl, al
not cl
and cl, byte [rsp + rsi + 0xe0]
xor cl, al
mov byte [r13 + rsi], cl
cmp rbx, r15
je 0x1402a72b4
add r15, 4
jmp 0x1402a7320
lea rsi, [rsp + 0xd0]
lea rax, [fcn.1402a6990]
add eax, eax
add eax, 0x3a80
mov dword [rsp + 0x70], eax
mov bpl, 1
xor ecx, ecx
xor edx, edx
xor eax, eax
mov qword [rsp + 0x58], rax
jmp 0x1402a74aa
mov r8, qword [rsp + 0xb0]
mov rax, r8
xor rax, r8
mov rcx, rdi
xor rcx, rdi
not rcx
mov rdx, qword [rsp + 0x88]
and rdx, rcx
xor rdx, rdi
not rax
mov rcx, qword [rsp + 0x58]
and rcx, rax
xor rcx, r8
mov qword [rsp + 0x58], rcx
mov ecx, dword [rsp + 0x98]
add ecx, 0x10
cmp ecx, ebx
jge 0x1402a729c
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0x98], ecx
movsxd rbx, ecx
mov edi, dword [0x140590c18]
mov eax, dword [0x14055243c]
sub eax, dword [0x1405526e0]
add eax, 0x6b7f647b
cdqe
add rax, qword [0x140552460]
mov ecx, edi
mov rdx, rsi
mov r8d, 0x718a59ec
call qword [case.0x140114b5b.0]
imul edi, dword [rsp + 0xd0]
test dil, 1
jne 0x1402a7585
nop
mov eax, dword [0x1405523c8]
mov ecx, 0x561b
add eax, ecx
cdqe
add rax, qword [0x1405524b8]
mov rcx, r15
mov rdx, rbx
mov r8, rsi
mov r9d, 0x97d127ca
call qword [case.0x140114b5b.0]
mov rax, qword [rsp + 0xd0]
mov rdi, qword [rax]
mov rdx, qword [rax + 8]
mov eax, dword [0x1405526e0]
mov ecx, 0x9480f1a1
add eax, ecx
mov ecx, dword [rsp + 0x70]
xor eax, ecx
not eax
test eax, ecx
jne 0x1402a7585
mov qword [rsp + 0xb0], rdx
mov eax, dword [0x140590c1c]
cmp eax, 0x36
jg 0x1402a7630
jmp 0x1402a75c0
mov eax, dword [0x140590c18]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1402a7500
cmp dword [0x1405526e0], 0x6b7f0e60
je 0x1402a75a6
mov rax, qword [r15 + rbx]
mov rax, qword [r15 + rbx + 8]
cmp dword [0x1405526e0], 0x6b7f0e60
jne 0x1402a7585
mov rax, qword [r15 + rbx]
mov rax, qword [r15 + rbx + 8]
test r12b, r12b
je 0x1402a7570
jmp 0x1402a7591
mov eax, dword [0x140590c1c]
cmp eax, 0x1d
jge 0x1402a7630
mov ebx, dword [rsp + 0x64]
nop
mov eax, dword [0x140590c1c]
cmp eax, 0x5f
jg 0x1402a760d
mov eax, dword [0x1405523c0]
mov ecx, 0x561b
add eax, ecx
cdqe
add rax, qword [0x140552478]
mov rcx, rsi
mov edx, 0x98413c1
call qword [case.0x140114b5b.0]
cmp dword [rsp + 0xd0], 0xe
jle 0x1402a7460
mov eax, dword [0x140590c18]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x1405526e0]
add eax, r13d
cmp ecx, eax
jne 0x1402a75d0
jmp 0x1402a75db
test bpl, bpl
je 0x1402a7630
jmp 0x1402a75c0
test dword [rsp + 0xa0], ebp
setne cl
mov eax, dword [0x140552438]
sub eax, dword [0x1405526e0]
add eax, 0x6b7f647b
cdqe
add rax, qword [0x140552498]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0xd0]
mov r9d, 0x76979635
call qword [case.0x140114b5b.0]
mov rsi, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xd8]
mov eax, dword [0x140590c1c]
cmp eax, 0x46
jle 0x1402a76d6
mov eax, 0x9480f1a1
add eax, dword [0x1405526e0]
lea rcx, [fcn.1402a6990]
add ecx, ecx
add ecx, 0x1cc0
mov edx, ecx
not edx
xor ecx, eax
not eax
and eax, edx
or eax, ecx
cmp eax, 0xffffffff
jne 0x1402a7acf
jmp 0x1402a7a55
mov ebp, 0x561b
mov eax, dword [0x14055241c]
add eax, ebp
cdqe
add rax, qword [0x1405524f0]
lea rcx, [rsp + 0xd0]
mov edx, 0xe2524fcb
call qword [case.0x140114b5b.0]
mov ecx, dword [rsp + 0xd0]
mov eax, dword [0x1405523d4]
add eax, ebp
cdqe
add rax, qword [0x140552450]
mov edx, 0xece5f6df
call qword [case.0x140114b5b.0]
test al, 1
je 0x1402a7746
mov eax, dword [0x140552418]
add eax, ebp
cdqe
add rax, qword [0x1405524c8]
mov ecx, 0x69428b02
call qword [case.0x140114b5b.0]
test al, 1
jne 0x1402a7756
mov al, 1
nop dword [rax + rax]
test al, al
je 0x1402a7750
jmp 0x1402a7726
mov eax, dword [0x1405523dc]
mov ecx, dword [0x1405526e0]
add eax, ecx
add eax, 0x948147bb
cdqe
add rax, qword [0x140552528]
xor ecx, ecx
mov edx, 0xe7a8e456
call qword [case.0x140114b5b.0]
mov r11, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x58]
nop dword [rax]
mov rax, rbx
add rax, 0xffffffffffffffff
mov r8, r12
adc r8, 0xffffffffffffffff
mov rcx, rsi
sub rcx, r11
mov rdx, rdi
sbb rdx, rbp
mov r9d, dword [0x1405526e0]
mov r10d, r9d
xor r10d, 0x9480f1a0
and r9d, 0x1480f1a0
add r9d, r9d
add r9d, r10d
jne 0x1402a7790
and rdx, r8
and rcx, rax
mov edi, 0x561b
mov eax, dword [0x1405523cc]
add eax, edi
cdqe
add rax, qword [0x140552510]
mov dword [rsp + 0x20], 0x24c466c3
lea r8, [rsp + 0xc0]
lea rsi, [rsp + 0xd0]
mov r9, rsi
call qword [case.0x140114b5b.0]
mov rax, qword [rsp + 0xc0]
or rax, qword [rsp + 0xd0]
add rax, qword [0x14058f1e0]
add rax, qword [0x1405526e8]
movabs rcx, 0x78c00c9ca39192af
add rcx, rax
mov qword [0x14058f1e0], rcx
mov eax, dword [0x1405523bc]
add eax, edi
cdqe
add rax, qword [0x140552540]
mov rcx, r13
mov edx, 0x5b03bd2d
call qword [case.0x140114b5b.0]
test al, 1
mov r12, qword [rsp + 0x80]
mov rbp, r13
mov r13, qword [rsp + 0x78]
jne 0x1402a7961
xor ebx, ebx
nop word cs:[rax + rax]
mov eax, dword [0x140552434]
add eax, edi
cdqe
add rax, qword [0x1405524e0]
mov rcx, r13
mov rdx, r15
mov r8, rsi
mov r9d, 0x89dce40d
call qword [case.0x140114b5b.0]
mov rcx, qword [rsp + 0xd0]
mov eax, dword [0x140552400]
add eax, edi
cdqe
add rax, qword [0x140552538]
mov edx, dword [0x1405526e0]
mov r8d, 0xfe16601a
add edx, r8d
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rsi
lea rdx, [rsp + 0xe0]
mov r8, r15
lea r9, [rsp + 0xc0]
call qword [case.0x140114b5b.0]
movzx eax, byte [rsp + 0xc0]
mov ecx, eax
xor cl, al
not cl
and cl, byte [rsp + 0xd0]
xor cl, al
mov byte [r12 + r15], cl
mov rax, qword [0x1405526e8]
movabs rcx, 0x78c00c9ca39192bf
add rax, rcx
add r15, rax
add r15, 0xfffffffffffffff1
lea rbx, [rbx + rax - 0xf]
mov eax, dword [0x1405523fc]
mov ecx, dword [0x1405526e0]
add eax, ecx
add eax, 0x948147bb
cdqe
add rax, qword [0x140552560]
mov rcx, rbx
mov rdx, rbp
mov r8d, 0xe8daa324
call qword [case.0x140114b5b.0]
test al, 1
je 0x1402a7880
movaps xmm0, xmmword [rsp + 0xf0]
mov rax, qword [rsp + 0x68]
movups xmmword [rax + 0x50], xmm0
mov rsi, r14
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.140405570
mov rax, rsi
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, dword [0x14045bd60]
mov eax, dword [0x140590c1c]
cmp eax, 0x57
jle 0x1402a79b5
mov eax, dword [0x14045bd60]
jmp 0x1402a799c
cmp qword [rsp + 0x68], 0
sete al
test r12, r12
sete cl
or cl, al
mov rdi, qword [rsp + 0x80]
test rdi, rdi
sete dl
mov eax, 0x561b
add eax, dword [0x14055240c]
cdqe
add rax, qword [0x140552500]
mov r8d, dword [0x1405526e0]
mov r9d, r8d
xor r9d, 0x43d2e155
and r8d, 0x43d2e155
lea r8d, [r9 + r8*2]
mov dword [rsp + 0x28], r8d
lea r8, [rsp + 0xd0]
mov qword [rsp + 0x20], r8
lea r9, [rsp + 0xc0]
mov r8, r14
call qword [case.0x140114b5b.0]
movzx ecx, byte [rsp + 0xc0]
movzx eax, byte [rsp + 0xd0]
mov edx, eax
and dl, cl
xor esi, esi
test dl, 1
jne 0x1402a7975
xor al, cl
test al, 1
je 0x1402a6b07
jmp 0x1402a7975
mov rax, qword [0x14045bd50]
mov rax, qword [0x14045bd48]
mov ecx, dword [0x140590c18]
lea edx, [rcx - 1]
mov esi, 0x561b
mov eax, dword [0x1405523c4]
add eax, esi
cdqe
add rax, qword [0x1405524d8]
lea r8, [rsp + 0xd0]
mov r9d, 0x7e1dc023
call qword [case.0x140114b5b.0]
add esi, dword [0x140552410]
mov ecx, dword [rsp + 0xd0]
movsxd rax, esi
add rax, qword [0x140552468]
lea rdx, [rsp + 0xd0]
mov r8d, 0x88a4293a
call qword [case.0x140114b5b.0]
cmp dword [rsp + 0xd0], 0
je 0x1402a7637
mov rax, qword [0x14045bd50]
mov rax, qword [0x14045bd48]
jmp 0x1402a7a55