Function at 0x140051620
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r14
mov rbp, rsp
sub rsp, 0x80
mov r14, r9
mov rdi, r8
mov r12, rdx
mov rbx, rcx
test rdx, rdx
jne 0x14005171d
mov dword [rbp - 0x60], 0x41b741c2
xor eax, eax
mov dword [rbp - 0x5c], 0x41bc41c6
mov r8d, 0x4199
mov dword [rbp - 0x58], 0x41f141d3
mov dword [rbp - 0x54], 0x41cd41bf
mov dword [rbp - 0x50], 0x41c641ce
mov dword [rbp - 0x4c], 0x41c841d6
mov dword [rbp - 0x48], 0x418641c0
mov dword [rbp - 0x44], 0x41cc41c6
mov dword [rbp - 0x40], 0x41d841cd
mov dword [rbp - 0x3c], 0x41df41ce
mov dword [rbp - 0x38], 0x418e41de
mov dword [rbp - 0x34], 0x41df41db
mov dword [rbp - 0x30], 0x41d44191
mov dword [rbp - 0x2c], 0x41da41da
mov dword [rbp - 0x28], 0x419641d1
mov dword [rbp - 0x24], 0x41d941c7
mov dword [rbp - 0x20], 0x41ce41cd
mov dword [rbp - 0x1c], 0x41ce41de
mov dword [rbp - 0x18], 0x41d3
mov byte [rbp - 0x14], 1
nop
lea edx, [r8 + rax]
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x25
jb 0x1400516e0
mov byte [rbp - 0x14], 0
lea rdx, [rbp - 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140055b70
lea rdx, [0x140055d50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
xor eax, eax
jmp 0x140051a20
cmp rdi, 0x40000000
jbe 0x1400517ef
mov dword [rbp - 0x60], 0x41b741c2
xor eax, eax
mov dword [rbp - 0x5c], 0x41bc41c6
mov r8d, 0x4199
mov dword [rbp - 0x58], 0x41ff41de
mov dword [rbp - 0x54], 0x418741f1
mov dword [rbp - 0x50], 0x418241d5
mov dword [rbp - 0x4c], 0x41cd41c5
mov dword [rbp - 0x48], 0x41c241cb
mov dword [rbp - 0x44], 0x41d84187
mov dword [rbp - 0x40], 0x41de41c8
mov dword [rbp - 0x3c], 0x41c941df
mov dword [rbp - 0x38], 0x41c041df
mov dword [rbp - 0x34], 0x41904183
mov dword [rbp - 0x30], 0x41dd41e5
mov dword [rbp - 0x2c], 0x419441dc
mov dword [rbp - 0x28], 0x41df41d7
mov dword [rbp - 0x24], 0x419841d0
mov dword [rbp - 0x20], 0x41df41ca
mov dword [rbp - 0x1c], 0x41c841d8
mov dword [rbp - 0x18], 0x41d141d4
mov dword [rbp - 0x14], 0x41d1
mov byte [rbp - 0x10], 1
nop dword [rax]
nop word [rax + rax]
lea edx, [r8 + rax]
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x27
jb 0x1400517d0
mov byte [rbp - 0x10], 0
lea rdx, [rbp - 0x60]
jmp 0x1400516fa
mov rcx, rdi
mov qword [rsp + 0xa8], r15
call fcn.140072c08
mov r9, rdi
mov r8, r12
mov rdx, rax
mov rcx, rbx
mov r15, rax
call fcn.14004e2c0
test al, al
jne 0x1400518ed
xor eax, eax
mov dword [rbp - 0x60], 0x41b741c2
mov word [rbp - 0x14], ax
mov r8d, 0x4199
mov dword [rbp - 0x5c], 0x41bc41c6
mov dword [rbp - 0x58], 0x41fb41cf
mov dword [rbp - 0x54], 0x41c441fe
mov dword [rbp - 0x50], 0x41c44181
mov dword [rbp - 0x4c], 0x41cd41c2
mov dword [rbp - 0x48], 0x41c341c9
mov dword [rbp - 0x44], 0x418841c3
mov dword [rbp - 0x40], 0x41c441c0
mov dword [rbp - 0x3c], 0x41ea418b
mov dword [rbp - 0x38], 0x41c041c4
mov dword [rbp - 0x34], 0x41e041cb
mov dword [rbp - 0x30], 0x41c641d0
mov dword [rbp - 0x2c], 0x41d141c7
mov dword [rbp - 0x28], 0x41d841c7
mov dword [rbp - 0x24], 0x41cc41f6
mov dword [rbp - 0x20], 0x41df41f2
mov dword [rbp - 0x1c], 0x41d241c9
mov dword [rbp - 0x18], 0x41d241d8
mov byte [rbp - 0x12], 1
lea edx, [r8 + rax]
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x26
jb 0x1400518b0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rbp - 0x60]
mov byte [rbp - 0x12], 0
call fcn.140055b70
lea rdx, [0x140055d50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
xor eax, eax
jmp 0x140051a18
mov r10, qword [rbp + 0x40]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [r10 + rax], 0
jne 0x140051900
sub rdi, rax
mov qword [rsp + 0xa0], rsi
mov eax, 0
mov ebx, eax
je 0x140051971
movzx r11d, byte [r10]
mov rsi, r15
sub rsi, r14
nop dword [rax + rax]
mov r8, r10
mov rdx, r14
test r11b, r11b
je 0x140051960
movzx ecx, r11b
lea r9, [rsi + rbx]
cmp cl, 0x78
jne 0x140051951
movzx ecx, byte [rdx]
cmp byte [r9 + rdx], cl
jne 0x140051969
movzx ecx, byte [r8 + 1]
inc r8
inc rdx
test cl, cl
jne 0x140051943
cmp byte [r8], al
je 0x140051a39
inc rbx
cmp rbx, rdi
jb 0x140051930
mov dword [rbp - 0x60], 0x41b741c2
mov r8d, 0x4199
mov dword [rbp - 0x5c], 0x41bc41c6
mov dword [rbp - 0x58], 0x41ff41de
mov dword [rbp - 0x54], 0x418741f1
mov dword [rbp - 0x50], 0x418241d5
mov dword [rbp - 0x4c], 0x41cd41c5
mov dword [rbp - 0x48], 0x41c241cb
mov dword [rbp - 0x44], 0x41d84187
mov dword [rbp - 0x40], 0x41de41c8
mov dword [rbp - 0x3c], 0x41c941df
mov dword [rbp - 0x38], 0x41c041df
mov word [rbp - 0x34], ax
mov byte [rbp - 0x32], 1
nop dword [rax]
lea edx, [r8 + rax]
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x16
jb 0x1400519d0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rbp - 0x60]
mov byte [rbp - 0x32], 0
call fcn.140055b70
lea rdx, [0x140055d50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, r15
call fcn.1400727b0
xor eax, eax
mov rsi, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r12
pop rbp
ret
lea rcx, [rbx + r15]
test rcx, rcx
je 0x140051971
mov rcx, r15
call fcn.1400727b0
lea rax, [rbx + r12]
jmp 0x140051a10