Function at 0x1402712e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov rax, qword [0x14055d0a0]
movzx ecx, byte [0x14051fb98]
dec cl
mov r13, rax
shr r13, cl
test rdx, rdx
je 0x140271338
mov rdi, rdx
or r13d, eax
mov eax, dword [0x14055d09c]
mov ecx, 0xc070f397
add ecx, dword [0x14051fb90]
cmp eax, ecx
jge 0x14027137b
jmp 0x140271369
movabs rax, 0xc987cc5fdc30fdee
add rax, qword [0x14051fb98]
cmp qword [rsi + 0x20], rax
jbe 0x140271355
mov rax, qword [rsi + 8]
jmp 0x140271359
lea rax, [rsi + 8]
mov qword [rsi + 0x18], 0
mov byte [rax], 0
jmp 0x140271a57
mov rax, qword [0x14051f518]
mov ecx, dword [0x14055d09c]
cmp ecx, 0x2e
jle 0x140271384
mov rax, qword [0x14051f518]
jmp 0x140271369
mov ecx, dword [rax]
add ecx, dword [0x14055d0b4]
movsxd r15, ecx
add r15, rax
nop word cs:[rax + rax]
mov eax, dword [0x14055d09c]
cmp eax, 0x60
jg 0x1402713a0
mov r12d, dword [0x140434c80]
lea rbx, [0x140273b60]
nop dword [rax]
mov eax, dword [0x14055d09c]
cmp eax, 0x49
jle 0x140271436
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], 0
mov ecx, 0x2a
call fcn.1403c4b54
mov qword [0x14055d090], rax
mov rcx, rbx
call fcn.1403e5350
mov eax, dword [0x14051f828]
sub eax, r13d
add eax, 0xb702
cdqe
add rax, qword [0x14051f830]
mov rcx, rdi
mov edx, 0xc461edce
mov r8d, 0x50b95489
call qword [case.0x140303ece.0]
mov eax, dword [0x14055d098]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402713c0
lea rbx, [rbp - 0x30]
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], 7
mov eax, 0x349a
add eax, dword [0x14051fba4]
mov word [rbp - 0x30], ax
mov eax, dword [0x14051f828]
add eax, r13d
add eax, 0xb702
cdqe
add rax, qword [0x14051f830]
mov rcx, rdi
mov edx, 0xc461edce
mov r8d, 0x50b95489
call qword [case.0x140303ece.0]
mov r14, rax
add r14, qword [0x14055d0a0]
cmp r14, 7
mov qword [rbp - 8], r13
jbe 0x1402714c0
mov eax, dword [0x14051f820]
or eax, r13d
add eax, 0xb702
cdqe
add rax, qword [0x14051f840]
mov rcx, rbx
mov rdx, r14
mov r9, rdi
call qword [case.0x140303ece.0]
jmp 0x1402714db
mov qword [rbp - 0x20], r14
lea r8, [r14 + r14]
mov rcx, rbx
mov rdx, rdi
call fcn.14040cc90
mov word [rbp + r14*2 - 0x30], 0
lea rax, [0x140427da0]
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x38]
mov rcx, rsi
call fcn.140270100
mov rsi, rax
mov r9, qword [rbp - 0x18]
cmp r9, 8
jb 0x140271a57
movzx ecx, byte [0x14051fb98]
add cl, 0xe0
shl r9, cl
mov r10, qword [rbp - 0x30]
mov eax, dword [0x14055d09c]
cmp eax, 0x5d
jl 0x14027155f
mov eax, dword [0x14051f510]
mov r8d, dword [0x14051fb90]
sub eax, r8d
add eax, 0x3f8f0c8b
add r8d, 0xc070f375
imul r8d, eax
lea ecx, [r8 - 1]
mov eax, r8d
shl eax, cl
mov edx, r8d
mov ecx, eax
shl edx, cl
mov eax, r8d
mov ecx, edx
shl eax, cl
sub eax, r8d
mov dword [0x14051f510], eax
mov qword [rbp - 0x40], r9
add r9, 2
mov ecx, dword [0x14051f510]
mov edx, dword [0x14051fb90]
lea r11d, [rdx + rcx - 0x3f8f0c8b]
mov dword [0x14051f510], r11d
mov r8d, ecx
not r8d
add edx, 0xc070f373
mov eax, r11d
not eax
mov edi, ecx
and edi, eax
xor eax, r11d
and eax, edx
xor eax, r11d
and r11d, r8d
or r11d, edi
xor r8d, eax
not eax
and eax, ecx
or eax, r8d
not eax
mov ecx, dword [0x14055d098]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140271605
jmp 0x1402715c4
mov ecx, dword [0x14051fb90]
mov edx, ecx
xor edx, 0xc070f375
mov r8d, ecx
and r8d, 0x4070f375
lea edx, [rdx + r8*2]
lea r8, [fcn.1402712e0]
add r8d, r8d
add r8d, 0x1500
xor r8d, edx
not r8d
and r8d, edx
add ecx, 0xc070f374
cmp r8d, ecx
je 0x140271637
mov ecx, 0xc070f375
lea rdx, [fcn.1402712e0]
add edx, edx
add edx, 0x4940
nop dword [rax]
mov r8d, dword [0x14051fb90]
add r8d, ecx
xor r8d, edx
not r8d
test r8d, edx
jne 0x140271620
jmp 0x1402715c4
or r11d, eax
not r11d
test r11d, r11d
mov qword [rbp - 0x10], r10
jne 0x140271651
xor ecx, ecx
test r12d, r12d
jg 0x1402716fd
xor ebx, ebx
cmp r9, 0xfff
jbe 0x140271694
mov r14, qword [rbp - 0x10]
mov rdi, qword [r14 - 8]
add r14, 0xfffffffffffffff8
mov r10, qword [rbp - 8]
nop dword [rax]
mov rcx, qword [0x140434c88]
mov eax, dword [0x14055d09c]
cmp eax, 0x5a
jle 0x1402716a1
mov rax, qword [0x140434c88]
mov eax, dword [0x14055d09c]
cmp eax, 0x55
jmp 0x140271670
mov r10, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
jmp 0x140271a1e
xor eax, eax
cmp r11d, 1
sbb rax, rax
mov edx, dword [0x14055d09c]
cmp edx, 0x1c
nop word cs:[rax + rax]
mov edx, dword [0x14055d098]
mov r8d, dword [0x14051fb90]
neg r8d
add r8d, edx
inc r8d
imul r8d, edx
test r8b, 1
jne 0x1402716c0
mov edx, dword [0x14055d098]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140271880
jmp 0x140271856
lea rax, [fcn.1402712e0]
lea edi, [rax + rax]
add edi, 0x3160
mov r14d, 0xc070f376
mov r13b, 1
xor ebx, ebx
jmp 0x140271744
xor rbx, rax
mov eax, dword [0x14051fb90]
mov edx, eax
xor edx, 0xc070f37c
and eax, 0x4070f37c
lea eax, [rdx + rax*2]
add ecx, eax
cmp ecx, r12d
jge 0x140271653
mov eax, dword [0x14055d09c]
cmp eax, 0x1b
jg 0x140271770
nop
mov eax, dword [0x14055d098]
mov edx, dword [0x14051fb90]
not edx
add edx, eax
imul edx, eax
test dl, 1
je 0x140271780
nop dword [rax + rax]
test r13b, r13b
je 0x140271770
jmp 0x140271750
movsxd r8, ecx
nop word cs:[rax + rax]
mov eax, dword [0x14055d098]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1402717ac
mov eax, dword [0x14055d09c]
cmp eax, 0x34
jle 0x1402717c0
mov eax, dword [0x14055d09c]
cmp eax, 0x2b
jge 0x140271790
jmp 0x1402717a1
add r8, r15
nop word cs:[rax + rax]
mov eax, dword [0x14051fb90]
lea edx, [rax - 0x3f8f0c8b]
and edx, edi
add eax, 0xc070f374
cmp edx, eax
jne 0x1402717f2
mov eax, dword [0x14055d09c]
cmp eax, 0x41
jle 0x140271800
mov eax, dword [0x14055d09c]
cmp eax, 0x14
jge 0x1402717d0
jmp 0x1402717e7
mov edx, dword [0x14055d098]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x14051fb90]
add r10d, r14d
xor edx, edx
div r10d
test edx, edx
jne 0x140271840
nop
mov rax, qword [r8]
mov edx, dword [0x14055d09c]
cmp edx, 0x48
jl 0x140271720
nop word cs:[rax + rax]
mov rax, qword [r8]
mov eax, dword [0x14055d098]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140271840
jmp 0x140271820
mov edx, 0xc070f375
add edx, dword [0x14051fb90]
lea r8, [fcn.1402712e0]
add r8d, r8d
add r8d, 0x4da0
xor r8d, edx
not r8d
test r8d, edx
je 0x14027188d
nop dword [rax]
mov edx, dword [0x14055d09c]
cmp edx, 0x45
jge 0x140271880
jmp 0x140271856
sub rcx, rbx
mov rdx, rax
not rdx
mov r8d, dword [0x14055d098]
lea r9d, [r8 - 1]
jmp 0x1402718c4
mov r8d, dword [0x14055d098]
mov r9d, dword [0x14051fb90]
add r9d, r8d
inc r9d
imul r9d, r8d
test r9b, 1
jne 0x1402718b0
lea r8, [fcn.1402712e0]
add r8d, r8d
add r8d, 0x1040
mov r9d, r8d
not r9d
test r9d, r8d
jne 0x1402718b0
mov r8, rcx
not r8
and r8, rdx
and rax, rcx
or r8, rax
neg r8
mov rdx, r8
xor rdx, rcx
and r8, rcx
lea rdx, [rdx + r8*2]
nop dword [rax]
mov r8d, dword [0x14055d098]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x140271953
test rax, rax
setne r8b
or r8b, byte [0x14055c1f8]
and r8b, 1
mov byte [0x14055c1f8], r8b
mov r8d, dword [0x14055d098]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x14027198e
mov r8, rdx
shl r8, cl
and r8, rdx
movzx r9d, byte [0x14055c1f8]
cmp r8, 1
sbb r9b, 0xff
and r9b, 1
mov byte [0x14055c1f8], r9b
mov r8d, dword [0x14055d098]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x140271910
jmp 0x140271925
sub r14, rdi
movabs rcx, 0xc987cc5fdc30fdff
mov r8d, 0xc070f376
mov r9b, 1
nop word cs:[rax + rax]
mov eax, dword [0x14055d09c]
cmp eax, 0x20
jle 0x1402719c0
test r9b, r9b
je 0x1402719b0
mov r11, qword [0x14051fb98]
add r11, rcx
mov edx, dword [0x14055d098]
lea eax, [rdx - 1]
imul eax, edx
mov ebx, dword [0x14051fb90]
add ebx, r8d
xor edx, edx
div ebx
test edx, edx
jne 0x1402719bb
cmp r14, r11
jae 0x140271a6b
mov rcx, qword [rbp - 0x40]
add rcx, qword [0x14051fb98]
movabs rax, 0x6ee54e668867d306
add rax, rcx
movabs rcx, 0x5aa27df953c92b02
mov rdx, rax
xor rdx, rcx
and rax, rcx
lea r9, [rdx + rax*2]
mov rdx, rdi
xor r10d, dword [0x14051f82c]
add r10d, 0xb702
movsxd rax, r10d
add rax, qword [0x14051f838]
mov dword [rsp + 0x28], 0xcd760f93
mov dword [rsp + 0x20], 0x919f62ff
mov ecx, 1
mov r8d, 1
call qword [case.0x140303ece.0]
mov rax, rsi
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1403c4adc
int3