Function at 0x140053fb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xe0
mov rax, qword [0x14015a038]
xor rax, rsp
mov qword [rbp - 9], rax
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], r8
mov qword [rbp - 0x79], rdx
mov rcx, qword [rbp + 0x67]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rbp + 0x6f]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rbp + 0x77]
mov qword [rbp - 0x71], rcx
mov rcx, qword [rbp + 0x7f]
mov qword [rbp - 0x69], rcx
xor sil, sil
mov r13, qword [rdx + 8]
mov r12, qword [rdx]
mov rdi, r13
sub rdi, r12
lea rax, [rdi - 0x11]
test rax, 0xfffffffffffffffb
je 0x14005403d
mov r8d, 0x26
lea rdx, str.Length_of_the_Activation_Code_is_wrong
call fcn.1400123a0
jmp 0x1400543ea
xor r15d, r15d
xor ebx, ebx
mov qword [rbp - 0x61], rbx
xor esi, esi
mov qword [rbp - 0x59], rsi
xor r14d, r14d
mov qword [rbp - 0x51], r14
cmp r12, r13
je 0x1400540c1
cmp rdi, 0x1000
jb 0x14005408a
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x14005441b
call fcn.14009b4d4
test rax, rax
je 0x140054415
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14005409a
test rdi, rdi
je 0x14005409a
mov rcx, rdi
call fcn.14009b4d4
mov rbx, rax
mov qword [rbp - 0x61], rbx
lea r14, [rbx + rdi]
mov qword [rbp - 0x51], r14
mov r8, rdi
mov rdx, r12
mov rcx, rbx
call fcn.14009de10
mov rsi, rbx
sub rsi, r12
add rsi, r13
mov qword [rbp - 0x59], rsi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
xor r12d, r12d
mov qword [rsp + 0x38], r12
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp - 0x29]
call fcn.1400539c0
nop
cmp qword [rax + 0x18], 0x10
jb 0x1400540eb
mov rax, qword [rax]
mov qword [rbp - 0x49], r12
mov qword [rbp - 0x39], r12
mov qword [rbp - 0x31], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x49], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140054106
mov rdx, rax
lea rcx, [rbp - 0x49]
call fcn.140011ad0
nop
mov rdi, qword [rbp - 0x39]
test rdi, rdi
je 0x140054138
lea r8, [rsp + 0x20]
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.140019c40
mov rcx, r12
mov rdx, qword [rbp - 0x31]
mov r8, qword [rbp - 0x49]
test rdi, rdi
je 0x14005416c
mov r9, qword [rsp + 0x28]
nop dword [rax]
lea rax, [rbp - 0x49]
cmp rdx, 0x10
cmovae rax, r8
movzx eax, byte [rax + rcx]
mov byte [r9 + rcx], al
inc rcx
cmp rcx, rdi
jb 0x140054150
cmp rdx, 0x10
jb 0x1400541a3
inc rdx
mov rax, r8
cmp rdx, 0x1000
jb 0x14005419a
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054421
mov rcx, r8
call fcn.14009b510
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x1400541de
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400541d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054427
call fcn.14009b510
mov qword [rbp - 0x49], r12
mov qword [rbp - 0x41], r12
mov qword [rbp - 0x39], r12
lea rdx, [rbp - 0x49]
lea rcx, [rsp + 0x28]
call fcn.140054a20
sub rsi, rbx
mov rdi, qword [rbp - 0x49]
cmp rsi, 1
jbe 0x140054271
mov r8, qword [rbp - 0x41]
sub r8, rdi
lea rdx, [rbx + 1]
mov r9, rbx
neg r9
nop word [rax + rax]
mov rcx, r12
cmp r15, r8
cmovne rcx, r15
movzx eax, byte [rcx + rdi]
xor byte [rdx], al
lea rdx, [rdx + 1]
lea r15, [rcx + 1]
lea rax, [r9 + rdx]
cmp rax, rsi
jb 0x140054220
movzx edx, byte [rdi]
xor dl, byte [rbx]
mov byte [rbx], dl
lea rcx, [rbx + 1]
mov r8, rbx
neg r8
nop dword [rax]
nop word [rax + rax]
xor byte [rcx], dl
lea rcx, [rcx + 1]
lea rax, [rcx + r8]
cmp rax, rsi
jb 0x140054260
jmp 0x140054276
movzx eax, byte [rdi]
xor byte [rbx], al
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov rcx, rdx
mov r8, rbx
sub r8, rdx
nop word [rax + rax]
movzx eax, byte [rcx]
cmp byte [r8 + rcx + 1], al
jne 0x140054334
inc rcx
mov rax, rcx
sub rax, rdx
cmp rax, 8
jb 0x140054290
movzx ecx, byte [rbx + 0xc]
shl ecx, 8
movzx eax, byte [rbx + 0xb]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0xa]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 9]
add eax, ecx
mov rcx, qword [rsp + 0x50]
mov dword [rcx], eax
movzx ecx, byte [rbx + 0x10]
shl ecx, 8
movzx eax, byte [rbx + 0xf]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0xe]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0xd]
add eax, ecx
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rcx, qword [rbp - 0x79]
mov rax, qword [rcx + 8]
sub rax, qword [rcx]
cmp rax, 0x15
jne 0x14005432f
movzx ecx, byte [rbx + 0x14]
shl ecx, 8
movzx eax, byte [rbx + 0x13]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x12]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x11]
add eax, ecx
mov rcx, qword [rbp - 0x71]
mov dword [rcx], eax
mov sil, 1
jmp 0x14005434d
mov r8d, 0x35
lea rdx, str.This_Activation_Code_has_been_generated_for_other_PC.
mov rcx, qword [rbp - 0x69]
call fcn.1400123a0
xor sil, sil
mov rdx, qword [rbp - 0x39]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x140054379
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005442d
mov rcx, rdi
call fcn.14009b510
nop
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1400543bb
mov rdx, qword [rsp + 0x38]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400543b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054433
call fcn.14009b510
nop
sub r14, rbx
mov rax, rbx
cmp r14, 0x1000
jb 0x1400543df
add r14, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054415
mov rdx, r14
mov rcx, rbx
call fcn.14009b510
movzx eax, sil
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.14009b5b0
mov rbx, qword [rsp + 0x120]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400ac408
int3
call fcn.140012140
nop
call fcn.1400ac408
nop
call fcn.1400ac408
int3
call fcn.1400ac408
nop
call fcn.1400ac408
int3