Function at 0x14001a724
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x168]
sub rsp, 0x268
mov rax, qword [0x14006f7c0]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov rsi, r9
mov rbx, r8
mov rdi, rdx
mov r14, rcx
mov qword [rsp + 0x40], rcx
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rbx
mov qword [rbp], r9
xor r15d, r15d
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x50]
call sub.VCRUNTIME140.dll_memset
lea r13d, [r15 + 1]
mov edx, r13d
lea rcx, [rbp + 0x50]
call fcn.140002048
nop
mov rcx, rbx
lea r12d, [r15 + 0xf]
cmp qword [rbx + 0x18], r12
jbe 0x14001a7a3
mov rcx, qword [rbx]
lea rdx, [0x140070618]
call fcn.140028b68
test eax, eax
jne 0x14001a825
movdqa xmm0, xmmword [str..818___W___20_]
movdqu xmmword [rbp + 8], xmm0
mov dword [rbp + 0x18], 0x1b120908
mov dword [rbp + 0x1c], 0x111114
mov rcx, r15
mov al, byte [rbp + 8]
xor byte [rbp + rcx + 9], al
add rcx, r13
cmp rcx, 0x16
jb 0x14001a7d1
mov byte [rbp + 0x1f], r15b
mov qword [rsp + 0x20], r15
lea r9, [0x140070620]
or r8d, 0xffffffff
lea rdx, [rbp + 9]
mov rcx, qword [0x140070618]
call fcn.140028be8
test eax, eax
je 0x14001ac9d
mov rcx, qword [0x140070620]
call fcn.140028b0c
mov rcx, qword [0x140070618]
call fcn.140028a2c
mov rdx, r14
lea rcx, [rbp + 0x68]
call fcn.140004d1c
nop
lea rcx, [rbp + 0xe8]
call fcn.14000237c
lea rcx, [rbp + 0xe8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rdi + 0x18]
mov r13d, 0x1000
cmp rdx, r12
jbe 0x14001a887
mov rcx, qword [rdi]
inc rdx
cmp rdx, r13
jb 0x14001a882
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001acd3
mov rcx, r8
call fcn.140052234
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r12
mov byte [rdi], r15b
mov rdx, qword [rbx + 0x18]
cmp rdx, r12
jbe 0x14001a8c7
mov rcx, qword [rbx]
inc rdx
cmp rdx, r13
jb 0x14001a8c2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001acda
mov rcx, r8
call fcn.140052234
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r12
mov byte [rbx], r15b
mov rdx, qword [rsi + 0x18]
cmp rdx, r12
jbe 0x14001a907
inc rdx
mov rcx, qword [rsi]
cmp rdx, r13
jb 0x14001a902
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001ace1
mov rcx, r8
call fcn.140052234
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], r12
mov byte [rsi], r15b
mov rax, r14
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.140052350
add rsp, 0x268
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor edx, edx
mov rcx, qword [0x140070620]
call fcn.140028a9c
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], r15
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r15b
jne 0x14001a959
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.1400013b0
nop
mov edx, r13d
mov rcx, qword [0x140070620]
call fcn.140028a9c
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], r15
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r15b
jne 0x14001a991
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.1400013b0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
mov r8d, 2
mov dl, 0x20
lea rcx, [rsp + 0x48]
call fcn.14000539c
nop
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmova rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
lea rcx, [rbp + 0x60]
call fcn.140001470
mov rdx, rdi
cmp qword [rdi + 0x18], r12
jbe 0x14001a9f6
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rax
call fcn.140001470
mov dl, 0x1a
mov dword [rsp + 0x30], 0x3a361a
mov rcx, r15
xor byte [rsp + rcx + 0x31], dl
add rcx, r13
cmp rcx, 2
jae 0x14001aa22
mov dl, byte [rsp + 0x30]
jmp 0x14001aa0f
mov byte [rsp + 0x33], r15b
lea rdx, [rsp + 0x31]
mov rcx, rax
call fcn.1400010d0
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], r12
cmova rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x38]
mov rcx, rax
call fcn.140001470
mov dl, 0x45
mov dword [rsp + 0x34], 0x656945
mov rcx, r15
xor byte [rsp + rcx + 0x35], dl
add rcx, r13
cmp rcx, 2
jae 0x14001aa6d
mov dl, byte [rsp + 0x34]
jmp 0x14001aa5a
mov byte [rsp + 0x37], r15b
lea rdx, [rsp + 0x35]
mov rcx, rax
call fcn.1400010d0
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], r12
cmova rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
mov rcx, rax
call fcn.140001470
mov dl, 0x1e
mov dword [rsp + 0x38], 0x14131e
mov rcx, r15
xor byte [rsp + rcx + 0x39], dl
add rcx, r13
cmp rcx, 2
jae 0x14001aab8
mov dl, byte [rsp + 0x38]
jmp 0x14001aaa5
mov byte [rsp + 0x3b], r15b
lea rdx, [rsp + 0x39]
mov rcx, rax
call fcn.1400010d0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, r12
jbe 0x14001ab07
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ab02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001acb7
call fcn.140052234
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
mov r8d, 2
mov dl, 0x20
lea rcx, [rsp + 0x48]
call fcn.14000539c
nop
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmova rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
lea rcx, [rbp + 0x60]
call fcn.140001470
mov r8, rax
movdqa xmm0, xmmword [0x14005db90]
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x14005dba0]
movdqa xmmword [rbp - 0x80], xmm1
movdqa xmm0, xmm1
movdqa xmmword [rbp - 0x70], xmm1
movdqa xmmword [rbp - 0x60], xmm1
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmmword [rbp - 0x40], xmm1
movdqa xmmword [rbp - 0x30], xmm1
xor eax, eax
mov byte [rbp - 0x20], al
mov rcx, r15
mov al, byte [rsp + 0x70]
xor byte [rsp + rcx + 0x71], al
add rcx, r13
cmp rcx, 0x6f
jb 0x14001ab8d
mov byte [rbp - 0x20], r15b
lea rdx, [rsp + 0x71]
mov rcx, r8
call fcn.1400010d0
mov dl, 0x3c
mov dword [rsp + 0x40], 0x36313c
mov rcx, r15
xor byte [rsp + rcx + 0x41], dl
add rcx, r13
cmp rcx, 2
jae 0x14001abcf
mov dl, byte [rsp + 0x40]
jmp 0x14001abbc
mov byte [rsp + 0x43], r15b
lea rdx, [rsp + 0x41]
mov rcx, rax
call fcn.1400010d0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, r12
jbe 0x14001ac1e
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ac19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001acbe
call fcn.140052234
add dword [0x14006f728], r13d
mov rdx, qword [rbp + 0x20]
cmp rdx, r12
jbe 0x14001ac5b
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ac56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001acc5
call fcn.140052234
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], r12
mov byte [rbp + 8], r15b
mov rdx, qword [rbp + 0x40]
cmp rdx, r12
jbe 0x14001ac9d
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ac98
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001accc
call fcn.140052234
mov rcx, qword [0x140070620]
call fcn.140028c80
cmp eax, 0x64
je 0x14001a938
jmp 0x14001a80d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3