Function at 0x1403ab470
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov eax, 0xffff96f2
add eax, dword [0x140591c50]
mov qword [rsp + 0x48], rcx
cdqe
add rax, qword [0x140591c60]
mov dword [rsp + 0x30], 0x9665a329
mov dword [rsp + 0x28], 0xaddbf827
mov dword [rsp + 0x20], 0
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov ecx, 1
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [case.0x14013008b.0]
test rax, rax
je 0x1403ab547
mov rax, qword [rax + 0x20]
test rax, rax
je 0x1403ab540
xor ecx, ecx
mov qword [rsp + 0x40], rcx
cmp qword [rsp + 0x48], 0
je 0x1403ab547
mov rax, qword [rax + 0x80]
test rax, rax
je 0x1403ab547
xor ecx, ecx
mov r8, qword [rsp + 0x48]
cmp word [r8], 0
je 0x1403ab540
nop word cs:[rax + rax]
mov edx, ecx
cmp word [r8 + rdx*2], 1
sbb ecx, 0xffffffff
cmp word [r8 + rcx*2], 0
jne 0x1403ab510
movsxd r8, dword [0x140489310]
mov edx, dword [0x1405acbf4]
lea r9d, [rdx + 1]
imul r9d, edx
test r9b, 1
jne 0x1403ab580
jmp 0x1403ab55d
xor eax, eax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [0x140489308]
mov r9d, dword [0x1405acbf4]
lea r10d, [r9 + 1]
imul r10d, r9d
test r10b, 1
je 0x1403ab593
nop dword [rax + rax]
mov edx, dword [0x140489308]
mov edx, dword [0x1405acbf8]
cmp edx, 0x51
jge 0x1403ab580
jmp 0x1403ab55d
xor esi, esi
test ecx, ecx
je 0x1403ab540
lea r9, [0x140489310]
add r9, r8
mov r8d, ecx
mov qword [rsp + 0x58], r8
mov r11d, 1
xor r8d, r8d
mov qword [rsp + 0x40], r8
xor r14d, r14d
xor r15d, r15d
xor ebx, ebx
jmp 0x1403ab5f0
xor esi, esi
mov r8d, ebx
not r8b
mov r10d, ebx
xor r10b, 1
and r8b, 0xfe
or r8b, r10b
cmp r8b, 0xff
jne 0x1403ab547
mov ebp, dword [0x1405acbf0]
mov r8d, ebp
xor r8d, 1
mov r10d, ebp
and r10d, 1
lea r13d, [r8 + r10*2]
mov dword [0x1405acbf0], r13d
xor r13d, ebp
not r13d
test ebp, r13d
je 0x1403ab630
xor r10d, r10d
jmp 0x1403ab6d0
mov r8d, dword [0x1405acbf4]
mov r10d, r8d
not r10d
add r10d, 2
imul r10d, r8d
test r10b, 1
je 0x1403ab660
mov r8d, dword [0x1405acbf4]
lea r10d, [r8 + 1]
imul r10d, r8d
test r10b, 1
jne 0x1403ab630
test sil, sil
jne 0x1403ab64b
xor r8d, r8d
mov r10d, 0
test edx, edx
jle 0x1403ab6d0
xor r10d, r10d
nop word cs:[rax + rax]
movsxd r8, r8d
movzx esi, word [r9 + r8]
mov edi, esi
xor edi, esi
not edi
and edi, r10d
xor edi, esi
mov r10d, edi
mov esi, r8d
not esi
mov edi, esi
and edi, 2
and r8d, 0xfffffffd
or r8d, edi
and esi, 0x7ffffffd
or esi, r8d
not esi
lea r8d, [r8 + rsi*2]
mov esi, dword [0x1405acbf8]
nop dword [rax]
mov esi, dword [0x1405acbf8]
cmp esi, 0x4e
jg 0x1403ab6c0
cmp r8d, edx
jl 0x1403ab680
lea r8d, [r15 + 0x22f21171]
mov edi, r8d
not edi
mov r12d, r14d
not r12d
mov esi, r8d
and esi, r12d
and r12d, edi
and edi, r14d
or esi, edi
xor r8d, r14d
or r12d, r8d
not r12d
lea r8d, [rsi + r12*2]
add r8d, 0xdd0dee8f
movzx r8d, word [rax + r8*2]
test r8d, r8d
je 0x1403ab730
cmp r8d, 0x3d
je 0x1403ab730
add r15d, 0xbe29cf40
lea r8d, [r15 + r15]
sub r8d, r15d
add r8d, 0x41d630c1
mov r15d, r8d
jmp 0x1403ab6d0
lea r12d, [r15 + r14]
movzx r8d, word [rax + r12*2]
test r8d, r8d
je 0x1403ab8c0
cmp r8d, 0x3d
jne 0x1403ab8b0
cmp r15d, ecx
jne 0x1403ab8b0
mov r8d, r14d
movzx esi, word [rax + r8*2]
mov r8, qword [rsp + 0x48]
movzx r8d, word [r8]
lea edi, [rsi - 0x20]
cmp r8w, 0x7b
cmovae edi, esi
cmp si, 0x61
cmovb edi, esi
mov qword [rsp + 0x60], r8
add r8d, 0xffffff9f
mov dword [rsp + 0x54], r8d
and ebp, r13d
movzx r13d, word [0x14048930c]
cmp ebp, 1
mov ebp, 0
sbb ebp, ebp
add r13d, 0xffffa724
nop word cs:[rax + rax]
mov esi, dword [0x1405acbf4]
lea r8d, [rsi + 1]
imul r8d, esi
test r8b, 1
jne 0x1403ab7b0
sub r13d, r10d
add r13d, 0x58dc
mov r8d, r13d
not r8d
movsx r10d, bp
xor r13d, r10d
not r10d
and r10d, r8d
or r10d, r13d
cmp r10w, 0xffff
setne r8b
or r8b, byte [0x1405a96b0]
and r8b, 1
mov byte [0x1405a96b0], r8b
mov r8, qword [rsp + 0x60]
lea r10d, [r8 - 0x20]
cmp word [rsp + 0x54], 0x1a
cmovae r10d, r8d
mov r8b, 1
cmp di, r10w
jne 0x1403ab894
mov r8d, 1
mov r10d, 0xfffffffe
cmp qword [rsp + 0x58], r8
je 0x1403ab889
nop
mov esi, r14d
xor esi, r8d
mov edi, r8d
xor edi, r10d
and edi, r14d
xor edi, r10d
and edi, r8d
lea esi, [rsi + rdi*2]
movzx esi, word [rax + rsi*2]
mov rdi, qword [rsp + 0x48]
movzx edi, word [rdi + r8*2]
lea ebp, [rsi - 0x20]
cmp di, 0x7b
cmovae ebp, esi
cmp si, 0x61
cmovb ebp, esi
lea esi, [rdi - 0x61]
lea r13d, [rdi - 0x20]
cmp si, 0x1a
cmovae r13d, edi
cmp bp, r13w
jne 0x1403ab88b
inc r8
dec r10d
cmp qword [rsp + 0x58], r8
jne 0x1403ab830
mov bl, 1
cmp r8, qword [rsp + 0x58]
setb r8b
lea r10d, [r12 + 1]
lea r10, [rax + r10*2]
test r8b, r8b
mov r8, qword [rsp + 0x40]
cmove r8, r10
mov qword [rsp + 0x40], r8
nop
cmp qword [rsp + 0x40], 0
jne 0x1403ab5d0
jmp 0x1403ab8e3
lea r8d, [r12 + r12]
sub r8d, r12d
inc r8d
cmp word [rax + r8*2], 0
movzx ebx, bl
cmove ebx, r11d
cmp qword [rsp + 0x40], 0
jne 0x1403ab5d0
mov r8d, r12d
not r8d
mov r10d, r12d
xor r10d, 1
mov esi, r12d
xor r12d, 0x7ffffffe
and r12d, r8d
and r8d, 1
and esi, 0x7ffffffe
or esi, r8d
or r12d, esi
not r12d
lea r8d, [r10 + r12*2]
xor r10d, r10d
nop word [rax + rax]
mov esi, r8d
cmp word [rax + rsi*2], 0
setne sil
or sil, byte [0x1405a96b0]
movzx esi, sil
mov edi, esi
and edi, 1
neg r8d
neg edi
mov r14d, r8d
xor r14d, edi
and edi, r8d
lea r8d, [r14 + rdi*2]
neg r8d
movzx r10d, r10b
test sil, 1
cmove r10d, r11d
mov esi, r10d
not sil
mov edi, r10d
xor dil, 1
and sil, 0xfe
or sil, dil
cmp sil, 0xff
je 0x1403ab920
lea r14d, [r8 + 1]
cmp word [rax + r14*2], 0
cmove r14d, r8d
movzx ebx, bl
cmove ebx, r11d
cmp word [rax + r14*2], 0
cmove ebx, r11d
xor r15d, r15d
jmp 0x1403ab5d0