Function at 0x8c4df0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1a8
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x140], xmm8
movaps xmmword [rsp + 0x150], xmm9
movaps xmmword [rsp + 0x160], xmm10
movaps xmmword [rsp + 0x170], xmm11
movaps xmmword [rsp + 0x180], xmm12
movaps xmmword [rsp + 0x190], xmm13
mov r15d, dword [rsp + 0x210]
mov r12, qword [rsp + 0x230]
cmp qword [rsp + 0x228], 0
mov qword [rsp + 0x1f0], rcx
mov r13, r8
mov r14d, r9d
mov dword [rsp + 0x1f8], edx
je 0x8c60f0
mov rcx, qword [rsp + 0x228]
test r12, r12
cmove r12, qword [rsp + 0x228]
call fcn.00795270
mov edx, dword [rsp + 0x1f8]
mov edi, eax
test edx, edx
jle 0x8c6239
test r14d, r14d
jle 0x8c6239
cmp r14d, r15d
jg 0x8c61f0
lea eax, [rax + 1]
mov dword [rsp + 0x68], eax
add eax, eax
cmp eax, r15d
jg 0x8c61f0
mov eax, r15d
mov r8d, 0x9d
lea rdx, str.crypto_rsa_rsa_oaep.c
sub eax, edi
lea ebp, [rax - 1]
mov dword [rsp + 0x58], eax
movsxd rax, ebp
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.007a1c30
mov rbx, rax
movsxd rax, r15d
mov qword [rsp + 0x48], rax
test rbx, rbx
je 0x8c60b5
mov r8d, 0xa3
lea rdx, str.crypto_rsa_rsa_oaep.c
movsxd rcx, r15d
call fcn.007a1c30
mov rsi, rax
test rax, rax
je 0x8c612d
movsxd rax, r15d
movsxd rdx, r14d
lea rcx, [rsi + rax]
add rdx, r13
mov r13, rcx
jmp 0x8c4f43
mov r13, rsi
mov r8d, r14d
lea eax, [r14 - 1]
lea rsi, [r13 - 1]
not r8d
and eax, r8d
sar eax, 0x1f
not eax
mov r8d, eax
and r8d, 1
sub rdx, r8
sub r14d, r8d
mov r8d, ecx
and al, byte [rdx]
sub r8d, esi
mov byte [r13 - 1], al
cmp r15d, r8d
jg 0x8c4f40
movzx eax, al
mov qword [rsp + 0x20], r12
mov r9d, ebp
lea r15d, [rax - 1]
not eax
and eax, r15d
lea r15, [rsp + 0xa0]
cdq
movsxd rax, edi
mov rcx, r15
lea r14, [r13 + rax]
mov dword [rsp + 0x5c], edx
mov edx, edi
mov r8, r14
mov qword [rsp + 0x50], rax
call fcn.008c4640
mov dword [rsp + 0x3c], 0xffffffff
test eax, eax
jne 0x8c5400
test edi, edi
jle 0x8c51f0
lea rax, [r13 + 0x10]
lea r8d, [rdi - 1]
cmp r15, rax
lea rax, [r15 + 0x10]
setae dl
cmp r13, rax
setae al
or dl, al
je 0x8c6102
cmp r8d, 0xe
jbe 0x8c6102
movdqu xmm0, xmmword [r13]
mov eax, edi
pxor xmm0, xmmword [rsp + 0xa0]
shr eax, 4
movaps xmmword [rsp + 0xa0], xmm0
cmp eax, 1
je 0x8c5064
movdqu xmm0, xmmword [r13 + 0x10]
pxor xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0xb0], xmm0
cmp eax, 2
je 0x8c5064
movdqu xmm0, xmmword [r13 + 0x20]
pxor xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xc0], xmm0
cmp eax, 3
je 0x8c5064
movdqu xmm0, xmmword [r13 + 0x30]
pxor xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0xd0], xmm0
mov eax, edi
and eax, 0xfffffff0
cmp eax, edi
je 0x8c51f0
movsxd rdx, eax
mov ecx, eax
movzx ecx, byte [r13 + rcx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 1]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 2]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 3]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 4]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 5]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 6]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 7]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 8]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 9]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 0xa]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 0xb]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 0xc]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
lea edx, [rax + 0xd]
cmp edi, edx
jle 0x8c51f0
movsxd rdx, edx
add eax, 0xe
movzx ecx, byte [r13 + rdx]
xor byte [rsp + rdx + 0xa0], cl
cmp edi, eax
jle 0x8c51f0
cdqe
movzx edx, byte [r13 + rax]
xor byte [rsp + rax + 0xa0], dl
nop dword [rax + rax]
mov qword [rsp + 0x20], r12
mov r9d, edi
mov r8, r15
mov edx, ebp
mov rcx, rbx
call fcn.008c4640
mov dword [rsp + 0x3c], 0xffffffff
mov r12d, eax
test eax, eax
jne 0x8c5400
test ebp, ebp
jle 0x8c53b0
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x58]
lea rdx, [r13 + rcx + 0x10]
sub eax, 2
cmp rbx, rdx
lea rdx, [rbx + 0x10]
setae cl
cmp r14, rdx
setae dl
or cl, dl
je 0x8c6166
cmp eax, 0xe
jbe 0x8c6166
mov edx, ebp
xor eax, eax
shr edx, 4
shl rdx, 4
nop dword [rax]
movdqu xmm0, xmmword [r14 + rax]
movdqu xmm5, xmmword [rbx + rax]
pxor xmm0, xmm5
movups xmmword [rbx + rax], xmm0
add rax, 0x10
cmp rax, rdx
jne 0x8c5260
mov eax, ebp
and eax, 0xfffffff0
cmp eax, ebp
je 0x8c53b0
movsxd rdx, eax
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 1]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 2]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 3]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 4]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 5]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 6]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 7]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 8]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 9]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 0xa]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 0xb]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 0xc]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
lea edx, [rax + 0xd]
cmp ebp, edx
jle 0x8c53b0
movsxd rdx, edx
add eax, 0xe
movzx ecx, byte [r14 + rdx]
xor byte [rbx + rdx], cl
cmp ebp, eax
jle 0x8c53b0
cdqe
movzx edx, byte [r14 + rax]
xor byte [rbx + rax], dl
nop dword [rax + rax]
mov rax, qword [rsp + 0x228]
lea r13, [rsp + 0xe0]
xor r9d, r9d
mov qword [rsp + 0x28], 0
movsxd rdx, dword [rsp + 0x220]
mov rcx, qword [rsp + 0x218]
mov r8, r13
mov qword [rsp + 0x20], rax
call fcn.00783760
mov dword [rsp + 0x3c], 0xffffffff
test eax, eax
jne 0x8c54a0
nop dword [rax]
mov edx, 0x40
mov rcx, r15
call fcn.0081b4c0
mov rdx, qword [rsp + 0x40]
mov r9d, 0x10b
mov rcx, rbx
lea r8, str.crypto_rsa_rsa_oaep.c
call fcn.007a2040
mov rdx, qword [rsp + 0x48]
mov r9d, 0x10c
mov rcx, rsi
lea r8, str.crypto_rsa_rsa_oaep.c
call fcn.007a2040
mov eax, dword [rsp + 0x3c]
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
movaps xmm8, xmmword [rsp + 0x140]
movaps xmm9, xmmword [rsp + 0x150]
movaps xmm10, xmmword [rsp + 0x160]
movaps xmm11, xmmword [rsp + 0x170]
movaps xmm12, xmmword [rsp + 0x180]
movaps xmm13, xmmword [rsp + 0x190]
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rsp + 0x50]
mov rdx, r13
mov rcx, rbx
mov r8, r14
call fcn.0081b520
lea r10d, [rax - 1]
not eax
and r10d, eax
sar r10d, 0x1f
and r10d, dword [rsp + 0x5c]
cmp edi, ebp
jge 0x8c6221
mov rcx, r14
xor r9d, r9d
movzx edx, byte [rbx + rcx]
mov r11d, r12d
xor r11d, ecx
add rcx, 1
mov eax, edx
xor eax, 1
movzx eax, al
mov r8d, eax
sub eax, 1
not r8d
and eax, r8d
mov r8d, r9d
not r8d
sar eax, 0x1f
and r8d, r11d
or r9d, eax
and r8d, eax
mov eax, edx
sub edx, 1
not eax
xor r12d, r8d
and eax, edx
sar eax, 0x1f
or eax, r9d
and r10d, eax
cmp ebp, ecx
jg 0x8c54d3
add r12d, 1
mov ecx, ebp
mov eax, dword [rsp + 0x1f8]
and r9d, r10d
sub ecx, r12d
mov edx, dword [rsp + 0x1f8]
sub eax, ecx
mov dword [rsp + 0x70], ecx
xor eax, ecx
xor edx, ecx
or eax, edx
xor eax, dword [rsp + 0x1f8]
sar eax, 0x1f
not eax
and eax, r9d
mov r12d, eax
mov dword [rsp + 0x74], eax
not eax
or eax, ecx
and r12d, 1
mov dword [rsp + 0x3c], eax
mov eax, ebp
mov edx, dword [rsp + 0x1f8]
sub eax, edi
lea ecx, [rax - 1]
xor edx, ecx
mov eax, ecx
sub eax, dword [rsp + 0x1f8]
mov dword [rsp + 0x5c], ecx
xor eax, dword [rsp + 0x1f8]
or eax, edx
xor eax, ecx
sar eax, 0x1f
and eax, edx
xor eax, dword [rsp + 0x1f8]
mov edx, 1
mov dword [rsp + 0x6c], eax
mov eax, ecx
sub eax, dword [rsp + 0x70]
mov dword [rsp + 0x60], eax
cmp ecx, 1
jle 0x8c59dc
mov eax, 0xfffffffe
movsxd r14, dword [rsp + 0x68]
mov qword [rsp + 0x88], rsi
sub eax, edi
mov dword [rsp + 0x90], edi
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x78], r14
lea rcx, [rax + 1]
lea r11, [rax + 0x11]
mov dword [rsp + 0x94], r12d
lea rax, [rbx + rax + 2]
mov qword [rsp + 0x98], r15
mov r15d, r14d
mov qword [rsp + 0x80], rax
mov eax, edi
mov rdi, r11
not eax
mov dword [rsp + 0x68], eax
mov rax, rcx
lea rcx, [rbx + rcx]
mov r12, rax
nop
mov r8d, dword [rsp + 0x60]
and r8d, edx
mov eax, r8d
sub r8d, 1
not eax
and eax, r8d
mov r8d, ebp
sar eax, 0x1f
sub r8d, edx
not eax
cmp r15d, r8d
jge 0x8c59b1
mov r9d, dword [rsp + 0x64]
movsxd r10, edx
mov esi, eax
lea r13, [rdi + r10]
cmp r12, r13
lea r11d, [r9 + r8]
lea r9, [r12 + r10]
setge r14b
cmp r9, rdi
setge r13b
or r14b, r13b
je 0x8c6081
cmp r11d, 0xe
jbe 0x8c6081
mov dword [rsp + 0x58], eax
mov esi, dword [rsp + 0x68]
add r9, rbx
xor r10d, r10d
lea r11d, [rsi + r8]
movd xmm1, dword [rsp + 0x58]
mov esi, r11d
punpcklbw xmm1, xmm1
shr esi, 4
punpcklwd xmm1, xmm1
shl rsi, 4
pshufd xmm1, xmm1, 0
nop
movdqu xmm7, xmmword [rcx + r10]
movdqu xmm0, xmmword [r9 + r10]
pxor xmm0, xmm7
pand xmm0, xmm1
pxor xmm0, xmm7
movups xmmword [rcx + r10], xmm0
add r10, 0x10
cmp r10, rsi
jne 0x8c56b0
mov r10d, r11d
and r10d, 0xfffffff0
lea r9d, [r10 + r15]
cmp r10d, r11d
je 0x8c59b1
movsxd r11, r9d
lea r10d, [rdx + r9]
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor r10d, esi
mov byte [r11], r10b
lea r10d, [r9 + 1]
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 2]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 3]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 4]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 5]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 6]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 7]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 8]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 9]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 0xa]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 0xb]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 0xc]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
lea r10d, [r9 + 0xd]
mov byte [r11], sil
cmp r8d, r10d
jle 0x8c59b1
movsxd r11, r10d
add r10d, edx
add r9d, 0xe
add r11, rbx
movsxd r10, r10d
movzx esi, byte [r11]
movzx r14d, byte [rbx + r10]
xor r14d, esi
mov r10d, r14d
and r10d, eax
xor esi, r10d
mov byte [r11], sil
cmp r8d, r9d
jle 0x8c59b1
movsxd r8, r9d
add r9d, edx
add r8, rbx
movsxd r9, r9d
movzx r10d, byte [r8]
movzx esi, byte [rbx + r9]
xor esi, r10d
mov r9d, esi
and eax, r9d
xor eax, r10d
mov byte [r8], al
add edx, edx
cmp dword [rsp + 0x5c], edx
jg 0x8c5620
mov edi, dword [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x94]
mov r15, qword [rsp + 0x98]
mov eax, dword [rsp + 0x6c]
test eax, eax
jle 0x8c6050
mov rcx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x6c]
lea rdx, [rbx + rcx + 0x11]
cmp qword [rsp + 0x1f0], rdx
mov rdx, qword [rsp + 0x1f0]
lea r10d, [r9 - 1]
lea rax, [rbx + rcx + 1]
setae cl
add rdx, 0x10
cmp rax, rdx
setae dl
or cl, dl
je 0x8c6189
cmp r10d, 0xe
jbe 0x8c6189
movd xmm4, dword [rsp + 0x70]
mov ecx, r9d
xor edx, edx
movdqa xmm10, xmmword [0x00d7a030]
shr ecx, 4
movdqa xmm7, xmmword [0x00d7a060]
movdqa xmm9, xmmword [0x00d7a040]
pshufd xmm3, xmm4, 0
movd xmm4, dword [rsp + 0x74]
shl rcx, 4
movdqa xmm8, xmmword [str._b_b_b_b_f_f_f_f]
movdqa xmm6, xmmword [0x00d7a070]
mov r8, qword [rsp + 0x1f0]
pshufd xmm5, xmm4, 0
movdqa xmm4, xmmword [0x00d7a020]
nop dword [rax]
movdqa xmm0, xmm4
movdqa xmm12, xmm4
movdqa xmm1, xmm3
psubd xmm0, xmm3
paddd xmm12, xmm9
pxor xmm1, xmm4
pxor xmm0, xmm3
movdqa xmm13, xmm3
movdqa xmm2, xmm4
por xmm0, xmm1
movdqa xmm1, xmm12
pxor xmm13, xmm12
psubd xmm1, xmm3
pxor xmm0, xmm4
paddd xmm2, xmm8
pxor xmm1, xmm3
psrad xmm0, 0x1f
movdqa xmm11, xmm4
por xmm1, xmm13
pand xmm0, xmm5
paddd xmm11, xmm7
pxor xmm1, xmm12
movdqa xmm12, xmm0
paddd xmm4, xmm10
psrad xmm1, 0x1f
pand xmm1, xmm5
punpcklwd xmm0, xmm1
punpckhwd xmm12, xmm1
movdqa xmm1, xmm0
punpcklwd xmm0, xmm12
punpckhwd xmm1, xmm12
movdqa xmm12, xmm3
punpcklwd xmm0, xmm1
movdqa xmm1, xmm2
pxor xmm12, xmm2
psubd xmm1, xmm3
pand xmm0, xmm6
pxor xmm1, xmm3
por xmm1, xmm12
movdqa xmm12, xmm3
pxor xmm1, xmm2
movdqa xmm2, xmm11
pxor xmm12, xmm11
psubd xmm2, xmm3
psrad xmm1, 0x1f
pxor xmm2, xmm3
pand xmm1, xmm5
por xmm2, xmm12
pxor xmm2, xmm11
movdqa xmm11, xmm1
psrad xmm2, 0x1f
pand xmm2, xmm5
punpcklwd xmm1, xmm2
punpckhwd xmm11, xmm2
movdqa xmm2, xmm1
punpcklwd xmm1, xmm11
punpckhwd xmm2, xmm11
punpcklwd xmm1, xmm2
movdqu xmm2, xmmword [r8 + rdx]
pand xmm1, xmm6
packuswb xmm0, xmm1
movdqu xmm1, xmmword [rax + rdx]
pxor xmm1, xmm2
pand xmm0, xmm1
pxor xmm0, xmm2
movups xmmword [r8 + rdx], xmm0
add rdx, 0x10
cmp rdx, rcx
jne 0x8c5a90
mov r11d, dword [rsp + 0x6c]
mov eax, r11d
and eax, 0xfffffff0
cmp r11d, eax
je 0x8c6050
mov r14d, dword [rsp + 0x70]
mov edx, eax
mov ecx, eax
mov ebp, dword [rsp + 0x74]
add rcx, qword [rsp + 0x1f0]
sub edx, r14d
mov r9d, r14d
movzx r8d, byte [rcx]
xor r9d, eax
xor edx, r14d
or edx, r9d
lea r9d, [rdi + rax]
movsxd r9, r9d
xor edx, eax
movzx r10d, byte [rbx + r9 + 1]
sar edx, 0x1f
and edx, ebp
xor r10d, r8d
mov r9d, r10d
and edx, r9d
xor edx, r8d
mov byte [rcx], dl
lea ecx, [rax + 1]
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r10d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r10d, ecx
movzx r9d, byte [r8]
xor edx, r14d
or edx, r10d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r10d, byte [rbx + rcx + 1]
and edx, ebp
xor r10d, r9d
mov ecx, r10d
and edx, ecx
lea ecx, [rax + 2]
xor edx, r9d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r10d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r10d, ecx
movzx r9d, byte [r8]
xor edx, r14d
or edx, r10d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r10d, byte [rbx + rcx + 1]
and edx, ebp
xor r10d, r9d
mov ecx, r10d
and edx, ecx
lea ecx, [rax + 3]
xor edx, r9d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r10d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r10d, ecx
movzx r9d, byte [r8]
xor edx, r14d
or edx, r10d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r10d, byte [rbx + rcx + 1]
and edx, ebp
xor r10d, r9d
mov ecx, r10d
and edx, ecx
lea ecx, [rax + 4]
xor edx, r9d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r10d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r10d, ecx
movzx r9d, byte [r8]
xor edx, r14d
or edx, r10d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r10d, byte [rbx + rcx + 1]
and edx, ebp
xor r10d, r9d
mov ecx, r10d
and edx, ecx
lea ecx, [rax + 5]
xor edx, r9d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r10d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r10d, ecx
movzx r9d, byte [r8]
xor edx, r14d
or edx, r10d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r10d, byte [rbx + rcx + 1]
and edx, ebp
xor r10d, r9d
mov ecx, r10d
and edx, ecx
lea ecx, [rax + 6]
xor edx, r9d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r9d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r9d, ecx
movzx r10d, byte [r8]
xor edx, r14d
or edx, r9d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and edx, ebp
xor r9d, r10d
mov ecx, r9d
and edx, ecx
lea ecx, [rax + 7]
xor edx, r10d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r9d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r9d, ecx
movzx r10d, byte [r8]
xor edx, r14d
or edx, r9d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and edx, ebp
xor r9d, r10d
mov ecx, r9d
and edx, ecx
lea ecx, [rax + 8]
xor edx, r10d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r9d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r9d, ecx
movzx r10d, byte [r8]
xor edx, r14d
or edx, r9d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and edx, ebp
xor r9d, r10d
mov ecx, r9d
and edx, ecx
lea ecx, [rax + 9]
xor edx, r10d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r9d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r9d, ecx
movzx r10d, byte [r8]
xor edx, r14d
or edx, r9d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and edx, ebp
xor r9d, r10d
mov ecx, r9d
and edx, ecx
lea ecx, [rax + 0xa]
xor edx, r10d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r9d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r9d, ecx
movzx r10d, byte [r8]
xor edx, r14d
or edx, r9d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and edx, ebp
xor r9d, r10d
mov ecx, r9d
and edx, ecx
lea ecx, [rax + 0xb]
xor edx, r10d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r9d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r9d, ecx
movzx r10d, byte [r8]
xor edx, r14d
or edx, r9d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and edx, ebp
xor r9d, r10d
mov ecx, r9d
and edx, ecx
lea ecx, [rax + 0xc]
xor edx, r10d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r9d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r9d, ecx
movzx r10d, byte [r8]
xor edx, r14d
or edx, r9d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and edx, ebp
xor r9d, r10d
mov ecx, r9d
and edx, ecx
lea ecx, [rax + 0xd]
xor edx, r10d
mov byte [r8], dl
cmp r11d, ecx
jle 0x8c6050
mov edx, ecx
mov r9d, r14d
movsxd r8, ecx
add r8, qword [rsp + 0x1f0]
sub edx, r14d
xor r9d, ecx
movzx r10d, byte [r8]
add eax, 0xe
xor edx, r14d
or edx, r9d
xor edx, ecx
add ecx, edi
movsxd rcx, ecx
sar edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and edx, ebp
xor r9d, r10d
mov ecx, r9d
and edx, ecx
xor edx, r10d
mov byte [r8], dl
cmp r11d, eax
jle 0x8c6050
mov r8d, eax
movsxd rdx, eax
add rdx, qword [rsp + 0x1f0]
sub r8d, r14d
movzx ecx, byte [rdx]
xor r8d, r14d
xor r14d, eax
or r8d, r14d
xor r8d, eax
add eax, edi
cdqe
sar r8d, 0x1f
movzx edi, byte [rbx + rax + 1]
and r8d, ebp
xor edi, ecx
mov eax, edi
and r8d, eax
xor ecx, r8d
mov byte [rdx], cl
nop word cs:[rax + rax]
mov r8d, 0x79
mov edx, 0x99
mov ecx, 4
mov dword [rsp + 0x20], 0x107
lea r9, str.crypto_rsa_rsa_oaep.c
call fcn.00780b20
mov ecx, r12d
call fcn.00782bb0
jmp 0x8c5400
mov rax, qword [rsp + 0x78]
add r11, qword [rsp + 0x80]
add rax, rbx
movzx r9d, byte [rax]
movzx r8d, byte [rax + r10]
add rax, 1
xor r8d, r9d
and r8d, esi
xor r8d, r9d
mov byte [rax - 1], r8b
cmp rax, r11
jne 0x8c6091
jmp 0x8c59b1
mov dword [rsp + 0x20], 0x9f
lea r9, str.crypto_rsa_rsa_oaep.c
mov r8d, 0x41
xor esi, esi
mov edx, 0x99
mov ecx, 4
lea r15, [rsp + 0xa0]
call fcn.00780b20
mov dword [rsp + 0x3c], 0xffffffff
jmp 0x8c5400
call fcn.00796140
mov qword [rsp + 0x228], rax
jmp 0x8c4e7d
lea rax, [r15 + 1]
mov rcx, r15
mov rdx, r13
add r8, rax
jmp 0x8c6115
add rax, 1
movzx r9d, byte [rdx]
add rdx, 1
xor byte [rcx], r9b
mov rcx, rax
cmp rax, r8
jne 0x8c6111
jmp 0x8c51f0
mov r8d, 0x41
mov edx, 0x99
mov ecx, 4
mov dword [rsp + 0x20], 0xa6
lea r9, str.crypto_rsa_rsa_oaep.c
lea r15, [rsp + 0xa0]
call fcn.00780b20
mov dword [rsp + 0x3c], 0xffffffff
jmp 0x8c5400
mov edx, eax
xor eax, eax
jmp 0x8c6173
mov rax, rcx
movzx ecx, byte [r14 + rax]
xor byte [rbx + rax], cl
lea rcx, [rax + 1]
cmp rax, rdx
jne 0x8c6170
jmp 0x8c53b0
mov r9d, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
xor ecx, ecx
mov ebp, dword [rsp + 0x74]
mov rdi, qword [rsp + 0x1f0]
mov r8d, r9d
lea r11, [rbx + rax]
neg r8d
jmp 0x8c61b3
mov rcx, rax
mov eax, r9d
mov r13d, r9d
movzx edx, byte [rdi + rcx]
xor eax, r8d
xor r13d, ecx
add r8d, 1
or eax, r13d
movzx r13d, byte [r11 + rcx + 1]
xor eax, ecx
sar eax, 0x1f
xor r13d, edx
and eax, ebp
and eax, r13d
xor edx, eax
lea rax, [rcx + 1]
mov byte [rdi + rcx], dl
cmp rcx, r10
jne 0x8c61b0
jmp 0x8c6050
mov r8d, 0x79
mov edx, 0x99
mov ecx, 4
mov dword [rsp + 0x20], 0x98
lea r9, str.crypto_rsa_rsa_oaep.c
call fcn.00780b20
mov dword [rsp + 0x3c], 0xffffffff
jmp 0x8c5441
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x74], 0
sub eax, 2
mov dword [rsp + 0x70], eax
jmp 0x8c5568
mov dword [rsp + 0x3c], 0xffffffff
jmp 0x8c5441