Function at 0x6b562470
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x74]
test edx, edx
cmove eax, dword [esp + 0x6c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_EVP_MD_size
test eax, eax
js 0x6b562604
mov ebx, eax
cmp esi, 0xffffffff
je 0x6b562830
cmp esi, 0xfffffffe
je 0x6b562610
cmp esi, 0xfffffffd
jl 0x6b562840
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_BN_num_bits
mov dword [esp], ebp
sub eax, 1
and eax, 7
mov dword [esp + 0x30], eax
mov edi, eax
call sym.libcrypto_1_1.dll_RSA_size
mov dword [esp + 0x2c], eax
test edi, edi
jne 0x6b562501
mov ecx, dword [esp + 0x64]
sub eax, 1
mov dword [esp + 0x2c], eax
mov eax, ecx
mov byte [ecx], 0
add eax, 1
mov dword [esp + 0x64], eax
lea eax, [ebx + 2]
cmp eax, dword [esp + 0x2c]
jg 0x6b5625d8
mov eax, dword [esp + 0x2c]
sub eax, ebx
sub eax, 2
cmp esi, 0xfffffffd
je 0x6b562820
mov edi, esi
cmp esi, eax
jg 0x6b562860
test esi, esi
jle 0x6b562810
mov dword [esp + 8], 0xc5
mov dword [esp + 4], str.crypto_rsa_rsa_pss.c
mov dword [esp], edi
call sym.libcrypto_1_1.dll_CRYPTO_malloc
mov ebp, eax
test eax, eax
je 0x6b5628a0
mov dword [esp + 4], esi
mov dword [esp], eax
call sym.libcrypto_1_1.dll_RAND_bytes
test eax, eax
jle 0x6b562800
call sym.libcrypto_1_1.dll_EVP_MD_CTX_new
mov edx, eax
xor eax, eax
test edx, edx
je 0x6b56259d
mov eax, dword [esp + 0x6c]
mov dword [esp], edx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp + 0x34], edx
call sym.libcrypto_1_1.dll_EVP_DigestInit_ex
mov edx, dword [esp + 0x34]
test eax, eax
jne 0x6b562620
mov dword [esp], edx
mov dword [esp + 0x2c], eax
call sym.libcrypto_1_1.dll_EVP_MD_CTX_free
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 0xc], 0xf7
mov dword [esp + 8], str.crypto_rsa_rsa_pss.c
call sym.libcrypto_1_1.dll_CRYPTO_clear_free
mov eax, dword [esp + 0x2c]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], 0xb9
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x6e
mov dword [esp + 4], 0x98
mov dword [esp], 4
call sym.libcrypto_1_1.dll_ERR_put_error
mov edi, esi
xor edx, edx
xor ebp, ebp
xor eax, eax
jmp 0x6b56259d
mov esi, 0xfffffffd
jmp 0x6b5624c3
mov dword [esp], edx
mov dword [esp + 8], 8
mov dword [esp + 4], 0x6b614e10
call sym.libcrypto_1_1.dll_EVP_DigestUpdate
mov edx, dword [esp + 0x34]
test eax, eax
je 0x6b56259d
mov eax, dword [esp + 0x68]
mov dword [esp], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
call sym.libcrypto_1_1.dll_EVP_DigestUpdate
mov edx, dword [esp + 0x34]
test eax, eax
je 0x6b56259d
test esi, esi
je 0x6b562688
mov dword [esp], edx
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov dword [esp + 0x34], edx
call sym.libcrypto_1_1.dll_EVP_DigestUpdate
mov edx, dword [esp + 0x34]
test eax, eax
je 0x6b56259d
mov ecx, ebx
mov dword [esp], edx
not ecx
add ecx, dword [esp + 0x2c]
mov dword [esp + 8], 0
mov dword [esp + 0x38], ecx
add ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], ecx
call sym.libcrypto_1_1.dll_EVP_DigestFinal_ex
mov edx, dword [esp + 0x34]
test eax, eax
je 0x6b56259d
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_PKCS1_MGF1
mov edx, dword [esp + 0x34]
mov ecx, eax
xor eax, eax
test ecx, ecx
jne 0x6b56259d
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x64]
sub eax, ebx
sub eax, esi
lea ecx, [ecx + eax - 2]
xor byte [ecx], 1
test esi, esi
jle 0x6b5627c9
lea ebx, [ecx + 1]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x64]
lea ebx, [ebx + eax - 1]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x64]
lea eax, [ebx + eax + 3]
cmp ebp, eax
lea eax, [ebp + 4]
setae byte [esp + 0x38]
cmp dword [esp + 0x34], eax
movzx ebx, byte [esp + 0x38]
setae al
or eax, ebx
mov ebx, eax
lea eax, [esi - 1]
cmp eax, 2
seta al
test bl, al
je 0x6b5628d5
mov ebx, dword [esp + 0x34]
mov eax, ebp
or eax, ebx
test al, 3
jne 0x6b5628d5
mov ecx, esi
mov dword [esp + 0x34], edx
xor eax, eax
and ecx, 0xfffffffc
mov edx, ecx
lea esi, [esi]
mov ecx, dword [ebx + eax]
xor ecx, dword [ebp + eax]
mov dword [ebx + eax], ecx
add eax, 4
cmp eax, edx
jne 0x6b562780
mov ebx, dword [esp + 0x3c]
mov eax, esi
mov edx, dword [esp + 0x34]
and eax, 0xfffffffc
add ebx, eax
cmp esi, eax
je 0x6b5627c9
movzx ecx, byte [ebp + eax]
xor byte [ebx], cl
lea ecx, [eax + 1]
cmp esi, ecx
jle 0x6b5627c9
movzx ecx, byte [ebp + eax + 1]
xor byte [ebx + 1], cl
lea ecx, [eax + 2]
cmp esi, ecx
jle 0x6b5627c9
movzx eax, byte [ebp + eax + 2]
xor byte [ebx + 2], al
mov eax, dword [esp + 0x30]
test eax, eax
je 0x6b5627e7
mov ecx, 8
mov eax, 0xff
sub ecx, dword [esp + 0x30]
sar eax, cl
mov ecx, dword [esp + 0x64]
and byte [ecx], al
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x2c]
mov byte [eax + ecx - 1], 0xbc
mov eax, 1
jmp 0x6b56259d
xor edx, edx
xor eax, eax
jmp 0x6b56259d
xor ebp, ebp
jmp 0x6b562568
mov esi, eax
mov edi, eax
jmp 0x6b56252a
mov esi, eax
jmp 0x6b5624c3
mov dword [esp + 0x10], 0xae
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x88
jmp 0x6b5625f0
mov dword [esp + 0x10], 0xc0
xor ebp, ebp
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x6e
mov dword [esp + 4], 0x98
mov dword [esp], 4
call sym.libcrypto_1_1.dll_ERR_put_error
xor edx, edx
xor eax, eax
jmp 0x6b56259d
mov dword [esp + 0x10], 0xc7
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x98
mov dword [esp], 4
call sym.libcrypto_1_1.dll_ERR_put_error
xor edx, edx
xor eax, eax
jmp 0x6b56259d
mov ebx, dword [esp + 0x3c]
lea ecx, [ecx + esi + 1]
mov eax, ebp
mov esi, edx
add ebx, 1
movzx edx, byte [eax]
add eax, 1
xor byte [ebx - 1], dl
cmp ebx, ecx
jne 0x6b5628e1
mov edx, esi
jmp 0x6b5627c9