Function at 0x1400052a0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x290
mov rax, qword [0x14016d4c0]
xor rax, rsp
mov qword [rsp + 0x288], rax
mov rsi, r8
mov r12, rdx
mov r13, rcx
xor ebx, ebx
mov byte [rsp + 0x50], 0x63
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], rax
lea rdx, [rsp + 0x68]
call fcn.140004ee0
mov r14, rax
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], rax
mov r15, qword [r14]
movdqu xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], rbx
mov rdx, qword [r15 + 0x20]
sub rdx, qword [r15 + 0x18]
je 0x14000536a
lea rcx, [rsp + 0xf0]
call fcn.140009160
mov rbx, qword [rsp + 0xf0]
mov rdi, qword [r15 + 0x20]
mov rdx, qword [r15 + 0x18]
sub rdi, rdx
mov r8, rdi
mov rcx, rbx
call fcn.1400ff0a0
lea rax, [rbx + rdi]
mov qword [rsp + 0xf8], rax
xor ebx, ebx
jmp 0x140005372
mov rax, qword [rsp + 0xf8]
mov r8d, ebx
mov rdi, qword [rsp + 0xf0]
cmp rax, rdi
je 0x1400053c2
mov rdx, rbx
nop word [rax + rax]
mov rax, qword [r14]
movzx ecx, byte [rdx + rdi]
mov rax, qword [rax]
xor cl, byte [rdx + rax]
mov byte [rdx + rdi], cl
inc r8d
lea rdx, [rdx + 1]
mov rcx, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xf0]
sub rcx, rdi
movsxd rax, r8d
cmp rax, rcx
jb 0x140005390
mov rcx, r14
call fcn.140006bc0
nop
mov r8, qword [rsp + 0xf8]
mov rcx, rsi
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x1400053e3
mov rcx, qword [rsi]
mov rdi, qword [rsi + 0x10]
movsx ecx, byte [rdi + rcx - 1]
movzx eax, byte [r8 - 1]
cmp eax, ecx
je 0x140005407
cmp rdx, 0xf
jbe 0x1400053fe
mov rsi, qword [rsi]
movzx eax, byte [rsi + rdi - 1]
mov byte [rsp + 0x50], al
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x1d0], xmm0
movups xmmword [rsp + 0x1e0], xmm0
movups xmmword [rsp + 0x1f0], xmm0
movups xmmword [rsp + 0x200], xmm0
movups xmmword [rsp + 0x210], xmm0
movups xmmword [rsp + 0x220], xmm0
movups xmmword [rsp + 0x230], xmm0
movups xmmword [rsp + 0x240], xmm0
movups xmmword [rsp + 0x250], xmm0
mov qword [rsp + 0x260], rax
lea rcx, [rsp + 0x1d0]
call fcn.1400ba070
nop
lea rsi, vtable.CryptoPP::AutoSeededRandomPool.0
mov qword [rsp + 0x1d0], rsi
xor edx, edx
mov r8d, reloc.WLDAP32.dll_Ordinal_32
lea rcx, [rsp + 0x1d0]
call fcn.1400adea0
nop
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x1d0]
call fcn.1400a9990
xor edx, edx
mov r8d, 0xb8
lea rcx, [rsp + 0x110]
call fcn.1400ff740
lea rax, [rsp + 0x168]
mov qword [rsp + 0x58], rax
mov dl, 1
lea rcx, [rsp + 0x170]
call fcn.1400a8c20
movabs rax, 0x3fffffffffffffff
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x198], rbx
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1b0], 0xffffffffffffffff
mov qword [rsp + 0x1b8], rbx
mov qword [rsp + 0x1c0], rbx
lea rax, vtable.CryptoPP::BlockCipherFinal_0__class_CryptoPP::Rijndael::Enc_.0
mov qword [rsp + 0x168], rax
lea rax, vtable.CryptoPP::BlockCipherFinal_0__class_CryptoPP::Rijndael::Enc_.1.0
mov qword [rsp + 0x170], rax
mov dl, 1
lea rcx, [rsp + 0x118]
call fcn.1400a8c20
mov qword [rsp + 0x130], 0xffffffffffffffff
mov qword [rsp + 0x138], rbx
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x150], 0xffffffffffffffff
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x160], rbx
lea rax, vtable.CryptoPP::CipherModeFinalTemplate_CipherHolder_class_CryptoPP::BlockCipherFinal_0__class_CryptoPP::Rijndael::Enc___class_CryptoPP::CBC_Encryption_.0
mov qword [rsp + 0x110], rax
lea rax, vtable.CryptoPP::CipherModeFinalTemplate_CipherHolder_class_CryptoPP::BlockCipherFinal_0__class_CryptoPP::Rijndael::Enc___class_CryptoPP::CBC_Encryption_.1.0
mov qword [rsp + 0x118], rax
lea rax, [rsp + 0x168]
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0x110]
call fcn.1400ab130
nop
mov rdi, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x110]
mov rdx, qword [rax + 0x40]
lea rax, [method.CryptoPP::CipherModeFinalTemplate_CipherHolder_class_CryptoPP::BlockCipherFinal_0__class_CryptoPP::Rijndael::Enc___class_CryptoPP::CBC_Encryption_.virtual_64]
cmp rdx, rax
jne 0x1400055e3
mov eax, dword [rsp + 0x138]
jmp 0x1400055ed
lea rcx, [rsp + 0x110]
call rdx
mov eax, eax
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x270]
mov r8d, reloc.WS2_32.dll_recv
mov rdx, rdi
lea rcx, [rsp + 0x110]
call fcn.1400aa530
mov rax, qword [r12]
mov rdx, qword [r12 + 8]
cmp rax, rdx
je 0x140005628
mov qword [r12 + 8], rax
mov rdx, rax
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rsp + 0x270]
mov rcx, r12
call fcn.140009f90
mov ecx, 0xe0
call fcn.1400c4e20
mov rbx, rax
mov qword [rsp + 0x58], rax
xor edx, edx
mov r8d, 0xe0
mov rcx, rax
call fcn.1400ff740
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call fcn.1400c4e20
mov rdi, rax
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
xor edx, edx
mov rcx, rax
call fcn.1400a8c20
lea rax, vtable.CryptoPP::StringSinkTemplate_class_std::vector_unsigned_char__class_std::allocator_unsigned_char___.0
mov qword [rdi], rax
lea rax, vtable.CryptoPP::StringSinkTemplate_class_std::vector_unsigned_char__class_std::allocator_unsigned_char___.1.0
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], r12
mov r9d, 5
mov r8, rdi
lea rdx, [rsp + 0x118]
mov rcx, rbx
call fcn.1400ab530
nop
mov rdx, qword [r13]
mov r8, qword [r13 + 8]
sub r8, rdx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
call fcn.140004b50
lea rax, vtable.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.0
mov qword [rsp + 0x80], rax
lea rax, vtable.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.1.0
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14000570c
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rcx, qword [rsp + 0x158]
cmp qword [rsp + 0x150], rcx
cmovb rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x140005742
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call fcn.1400af970
nop
mov rcx, qword [rsp + 0x138]
cmp qword [rsp + 0x130], rcx
cmovb rcx, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x140]
test rdx, rdx
je 0x140005778
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call fcn.1400af970
nop
mov rcx, qword [rsp + 0x1b8]
cmp qword [rsp + 0x1b0], rcx
cmovb rcx, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x1c0]
test rdx, rdx
je 0x1400057ae
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call fcn.1400af970
nop
mov rcx, qword [rsp + 0x198]
cmp qword [rsp + 0x190], rcx
cmovb rcx, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x1a0]
test rdx, rdx
je 0x1400057e4
mov rdi, rdx
xor eax, eax
rep stosd dword [rdi], eax
mov rcx, rdx
call fcn.1400af8f0
nop
mov qword [rsp + 0x1d0], rsi
lea rcx, [rsp + 0x1d0]
call fcn.140004dd0
nop
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x140005839
mov rdx, qword [rsp + 0x100]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005833
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005862
call fcn.1400c4e5c
nop
mov al, 1
jmp 0x14000583f
mov rcx, qword [rsp + 0x288]
xor rcx, rsp
call fcn.1400c4df0
add rsp, 0x290
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.1400d3b88
nop
int3