Function at 0x10035350
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x5c
call fcn.100a1060
mov eax, dword [esp + 0x68]
push ebx
push esi
xor esi, esi
push eax
mov dword [esp + 0xc], esi
call sym.LIBEAY32.dll_RSA_get_method
mov ebx, dword [esp + 0x7c]
add esp, 4
cmp ebx, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x100353dd
mov dword [esp + 0x78], eax
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x68]
mov ecx, dword [esi + 0x10]
push ebp
push edi
push ecx
call sym.LIBEAY32.dll_BN_num_bits
mov edi, eax
dec edi
push esi
and edi, 7
call sym.LIBEAY32.dll_RSA_size
mov ebp, dword [esp + 0x84]
mov ecx, edi
mov edx, 0xff
shl edx, cl
mov cl, byte [ebp]
add esp, 8
test cl, dl
je 0x1003540a
push 0x67
push str..crypto_rsa_rsa_pss.c
push 0x85
push 0x7e
push 4
call sym.LIBEAY32.dll_ERR_put_error
mov eax, dword [esp + 0x24]
add esp, 0x14
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x5c
ret
cmp ebx, 0xfffffffe
jne 0x100353e8
mov dword [esp + 0x78], ebx
jmp 0x10035380
jge 0x10035384
push 0x5f
push str..crypto_rsa_rsa_pss.c
push 0x88
push 0x7e
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
mov eax, esi
pop esi
pop ebx
add esp, 0x5c
ret
test edi, edi
jne 0x10035410
inc ebp
dec eax
mov ecx, dword [esp + 0x14]
lea edx, [ecx + ebx + 2]
cmp eax, edx
jge 0x1003543d
push 0x71
push str..crypto_rsa_rsa_pss.c
push 0x6d
push 0x7e
push 4
call sym.LIBEAY32.dll_ERR_put_error
mov eax, dword [esp + 0x24]
add esp, 0x14
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x5c
ret
cmp byte [eax + ebp - 1], 0xbc
je 0x10035468
push 0x76
push str..crypto_rsa_rsa_pss.c
push 0x86
push 0x7e
push 4
call sym.LIBEAY32.dll_ERR_put_error
mov eax, dword [esp + 0x24]
add esp, 0x14
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x5c
ret
sub eax, ecx
dec eax
mov esi, eax
push 0x7b
lea eax, [esi + ebp]
push str..crypto_rsa_rsa_pss.c
push esi
mov dword [esp + 0x24], eax
call sym.LIBEAY32.dll_CRYPTO_malloc
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x100354a4
push 0x7e
push str..crypto_rsa_rsa_pss.c
push 0x41
push 0x7e
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
jmp 0x1003560c
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
push esi
push ebx
call sym.LIBEAY32.dll_PKCS1_MGF1
add esp, 0x14
test esi, esi
jle 0x100354d0
mov eax, ebx
sub ebp, ebx
mov ecx, esi
mov dl, byte [eax + ebp]
xor byte [eax], dl
inc eax
dec ecx
jne 0x100354c7
test edi, edi
je 0x100354e4
mov ecx, 8
sub ecx, edi
mov eax, 0xff
sar eax, cl
and byte [ebx], al
mov al, byte [ebx]
xor ebp, ebp
test al, al
jne 0x100354fd
lea eax, [esi - 1]
nop
cmp ebp, eax
jge 0x100354fd
mov cl, byte [ebx + ebp + 1]
inc ebp
test cl, cl
je 0x100354f0
mov cl, byte [ebx + ebp]
inc ebp
cmp cl, 1
je 0x10035526
push 0x89
push str..crypto_rsa_rsa_pss.c
push 0x87
push 0x7e
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
jmp 0x1003560c
mov eax, dword [esp + 0x80]
test eax, eax
jl 0x10035559
mov edx, esi
sub edx, ebp
cmp edx, eax
je 0x10035559
push 0x8e
push str..crypto_rsa_rsa_pss.c
push 0x88
push 0x7e
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
jmp 0x1003560c
lea eax, [esp + 0x1c]
push eax
call sym.LIBEAY32.dll_EVP_MD_CTX_init
mov ecx, dword [esp + 0x7c]
push 0
push ecx
lea edx, [esp + 0x28]
push edx
call sym.LIBEAY32.dll_EVP_DigestInit_ex
push 8
lea eax, [esp + 0x30]
push 0x100aa1a4
push eax
call sym.LIBEAY32.dll_EVP_DigestUpdate
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x90]
push edi
push ecx
lea edx, [esp + 0x40]
push edx
call sym.LIBEAY32.dll_EVP_DigestUpdate
add esp, 0x28
sub esi, ebp
je 0x100355b4
push esi
add ebp, ebx
lea eax, [esp + 0x20]
push ebp
push eax
call sym.LIBEAY32.dll_EVP_DigestUpdate
add esp, 0xc
push 0
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x24]
push edx
call sym.LIBEAY32.dll_EVP_DigestFinal
lea eax, [esp + 0x28]
push eax
call sym.LIBEAY32.dll_EVP_MD_CTX_cleanup
add esp, 0x10
mov ecx, edi
mov edi, dword [esp + 0x18]
lea esi, [esp + 0x2c]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10035604
push 0x9b
push str..crypto_rsa_rsa_pss.c
push 0x68
push 0x7e
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
mov dword [esp + 0x10], 0
jmp 0x1003560c
mov dword [esp + 0x10], 1
test ebx, ebx
je 0x10035619
push ebx
call sym.LIBEAY32.dll_CRYPTO_free
add esp, 4
mov eax, dword [esp + 0x10]
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x5c
ret