Function at 0x14005c950
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x108
mov rax, qword [0x1400db800]
xor rax, rsp
mov qword [rsp + 0xe0], rax
movsxd rsi, dword [rsp + 0x168]
lea rbp, str.e:ladik_appdir_stormlib_srclibtomcrypt_srcpkpkcs1pkcs_1_pss_encode.c
mov rdi, qword [rsp + 0x178]
mov r14, qword [rsp + 0x180]
movsxd rbx, dword [rsp + 0x160]
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r9
mov r15d, r8d
mov dword [rsp + 0x34], edx
mov qword [rsp + 0x58], rcx
test rcx, rcx
jne 0x14005c9f2
mov ecx, 2
call fcn.1400a2a10
mov rcx, rax
mov qword [rsp + 0x20], rbp
mov r9d, 0x2c
lea r8, str.msghash___NULL
lea rdx, str.LTC_ARGCHK__s_failure_on_line__d_of_file__s_n
call fcn.140005b40
mov ecx, SafeArrayCopy
call fcn.1400a325c
test rdi, rdi
jne 0x14005ca26
lea ecx, [rdi + 2]
call fcn.1400a2a10
mov rcx, rax
mov qword [rsp + 0x20], rbp
lea r9d, [rdi + 0x2d]
lea r8, str.out___NULL
lea rdx, str.LTC_ARGCHK__s_failure_on_line__d_of_file__s_n
call fcn.140005b40
lea ecx, [rdi + 0x16]
call fcn.1400a325c
test r14, r14
jne 0x14005ca5c
lea ecx, [r14 + 2]
call fcn.1400a2a10
mov rcx, rax
mov qword [rsp + 0x20], rbp
lea r9d, [r14 + 0x2e]
lea r8, str.outlen___NULL
lea rdx, str.LTC_ARGCHK__s_failure_on_line__d_of_file__s_n
call fcn.140005b40
lea ecx, [r14 + 0x16]
call fcn.1400a325c
cmp esi, 0x1f
ja 0x14005ce4d
mov r14, rsi
lea rcx, [0x140000000]
shl r14, 7
cmp qword [r14 + rcx + 0xdf6a0], 0
je 0x14005ce4d
cmp ebx, 0x1f
ja 0x14005ce46
lea rax, [rbx + rbx*4]
shl rax, 4
mov qword [rsp + 0x50], rax
cmp qword [rax + rcx + 0xe06a0], 0
je 0x14005ce46
mov edx, dword [r14 + rcx + 0xdf6ac]
mov ecx, 0
mov eax, dword [rsp + 0x170]
test al, 7
mov dword [rsp + 0x30], edx
setne cl
shr eax, 3
lea ebp, [rcx + rax]
cmp r15d, ebp
ja 0x14005ce3f
lea eax, [r15 + 2]
add eax, edx
cmp ebp, eax
jb 0x14005ce3f
mov qword [rsp + 0x100], r12
mov ecx, ebp
mov qword [rsp + 0xf8], r13
call fcn.1400a2ae4
mov ecx, ebp
mov rdi, rax
call fcn.1400a2ae4
mov ecx, ebp
mov rsi, rax
call fcn.1400a2ae4
mov ecx, ebp
mov r12, rax
call fcn.1400a2ae4
mov r13, rax
test rdi, rdi
je 0x14005ce11
test rsi, rsi
je 0x14005ce09
test r12, r12
je 0x14005ce09
test rax, rax
je 0x14005ce09
lea rbx, [0x140000000]
test r15d, r15d
je 0x14005cb6f
mov rax, qword [rsp + 0x50]
mov edx, r15d
mov r8, qword [rsp + 0x48]
mov rcx, r12
call qword [rax + rbx + 0xe06c8]
cmp eax, r15d
je 0x14005cb6f
mov ebx, 9
jmp 0x14005cdb7
lea rcx, [rsp + 0x70]
call qword [r14 + rbx + 0xdf6f8]
mov ebx, eax
test eax, eax
jne 0x14005cdb7
lea r8d, [rax + 8]
mov qword [rdi], 0
lea rax, [0x140000000]
mov rdx, rdi
lea rcx, [rsp + 0x70]
call qword [r14 + rax + 0xdf700]
mov ebx, eax
test eax, eax
jne 0x14005cdb7
mov r8d, dword [rsp + 0x34]
lea rcx, [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
lea rax, [0x140000000]
call qword [r14 + rax + 0xdf700]
mov ebx, eax
test eax, eax
jne 0x14005cdb7
mov r8d, r15d
lea rcx, [rsp + 0x70]
mov rdx, r12
lea rax, [0x140000000]
call qword [r14 + rax + 0xdf700]
mov ebx, eax
test eax, eax
jne 0x14005cdb7
mov rdx, r13
lea rcx, [rsp + 0x70]
lea rax, [0x140000000]
call qword [r14 + rax + 0xdf708]
mov ebx, eax
test eax, eax
jne 0x14005cdb7
mov r8d, ebp
xor edx, edx
sub r8d, r15d
mov rcx, rdi
sub r8d, dword [rsp + 0x30]
sub r8d, 2
call fcn.1400b1140
mov edx, ebp
mov r8, r15
sub edx, r15d
sub edx, dword [rsp + 0x30]
sub edx, 2
lea ecx, [rdx + 1]
mov byte [rdx + rdi], 1
add rcx, rdi
mov rdx, r12
call fcn.1400b1500
mov r15d, dword [rsp + 0x30]
mov r14d, ebp
mov ecx, dword [rsp + 0x38]
sub r14d, r15d
dec r14d
mov r9, rsi
mov r8d, r15d
mov dword [rsp + 0x20], r14d
mov rdx, r13
call fcn.14005c2a0
mov ebx, eax
test eax, eax
jne 0x14005cdb7
xor edx, edx
test r14d, r14d
je 0x14005cd51
cmp r14d, 0x40
jb 0x14005cd23
lea eax, [r14 - 1]
lea r8, [rax + rdi]
add rax, rsi
cmp rdi, rax
ja 0x14005ccb2
cmp r8, rsi
jae 0x14005cd23
mov r8d, r14d
and r8d, 0xffffffc0
mov r9d, 0x20
nop
movdqu xmm0, xmmword [rdx + rdi]
lea eax, [r9 - 0x10]
movdqu xmm1, xmmword [rdx + rsi]
pxor xmm1, xmm0
movdqu xmmword [rdx + rdi], xmm1
add edx, 0x40
movdqu xmm0, xmmword [rax + rdi]
movdqu xmm1, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rdi], xmm1
mov eax, r9d
movdqu xmm0, xmmword [rax + rdi]
movdqu xmm1, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rdi], xmm1
lea eax, [r9 + 0x10]
add r9d, 0x40
movdqu xmm0, xmmword [rax + rdi]
movdqu xmm1, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rdi], xmm1
cmp edx, r8d
jb 0x14005ccc0
cmp edx, r14d
jae 0x14005cd51
mov ecx, edx
mov r8, rsi
add rcx, rdi
sub r8, rdi
mov eax, r14d
sub eax, edx
mov edx, eax
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14005cd40
mov rax, qword [rsp + 0x40]
cmp dword [rax], ebp
jae 0x14005cd61
mov ebx, 6
jmp 0x14005cdb5
mov r8d, r14d
mov rdx, rdi
mov r14, qword [rsp + 0x60]
mov rcx, r14
call fcn.1400b1500
mov ebx, ebp
mov r8, r15
sub ebx, r15d
mov rdx, r13
dec ebx
mov ecx, ebx
add rcx, r14
call fcn.1400b1500
lea eax, [rbx + r15]
lea ecx, [rbp*8]
sub ecx, dword [rsp + 0x170]
mov byte [rax + r14], 0xbc
inc ecx
mov eax, 0xff
sar eax, cl
and byte [r14], al
mov rax, qword [rsp + 0x40]
xor ebx, ebx
mov dword [rax], ebp
mov rcx, r13
call fcn.1400a2ad0
mov rcx, r12
call fcn.1400a2ad0
mov rcx, rsi
call fcn.1400a2ad0
mov rcx, rdi
call fcn.1400a2ad0
mov eax, ebx
mov r12, qword [rsp + 0x100]
mov r13, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.140094850
add rsp, 0x108
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, rdi
call fcn.1400a2ad0
test rsi, rsi
je 0x14005ce1e
mov rcx, rsi
call fcn.1400a2ad0
test r12, r12
je 0x14005ce2b
mov rcx, r12
call fcn.1400a2ad0
test r13, r13
je 0x14005ce38
mov rcx, r13
call fcn.1400a2ad0
mov eax, SafeArrayGetDim
jmp 0x14005cdd9
mov eax, SafeArrayCopy
jmp 0x14005cde9
mov eax, SafeArrayGetDim
jmp 0x14005cde9
mov eax, 0xb
jmp 0x14005cde9