Function at 0x1003aa70
Capabilities:
Encrypt data using openssl rsa

Disassembly:
sub esp, 0x14
push edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov word [esp + 4], 5
test edi, edi
je 0x1003ae64
cmp dword [esp + 0x20], 0
push ebx
push ebp
mov ebp, dword [edi + 8]
push esi
jne 0x1003aada
push 0
lea eax, [esp + 0x24]
push eax
push 0
push 0x37
push 0x20
push dword [edi + 0xc]
call fcn.1003a530
add esp, 0x18
test eax, eax
je 0x1003aada
mov esi, 0x272f
jmp 0x1003ada8
push edi
call fcn.1003dd10
mov ebx, eax
add esp, 4
cmp ebx, 0xffffffff
jne 0x1003aaf4
mov esi, 0x2711
jmp 0x1003ada8
push 0
push 3
push 0x20
push dword [edi + 0xc]
call fcn.1003de80
mov esi, eax
add esp, 0x10
cmp esi, 0x2718
je 0x1003ab17
test esi, esi
jne 0x1003ada8
push 0
push 0
push 0
push 4
push 4
push 0x20
push dword [edi + 0xc]
call fcn.1003a4e0
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x1003ada8
lea eax, [esp + 0x18]
push eax
push esi
push esi
push edi
call fcn.1003a6f0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x1003ada8
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x1c]
push ebp
call fcn.1003a010
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1003ada8
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x1c]
push ecx
push dword [esp + 0x18]
mov dword [esp + 0x24], eax
push eax
push edi
call fcn.1003a6f0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x1003ada8
push eax
push 4
push 0x20
push dword [edi + 0xc]
call fcn.1003de80
mov esi, eax
add esp, 0x10
cmp esi, 0x2718
je 0x1003abb5
test esi, esi
jne 0x1003ada8
cmp ebx, 0xb2
je 0x1003ad52
cmp ebx, 0x3ea
je 0x1003ad52
push 0x80
push dword [esp + 0x20]
push dword [esp + 0x1c]
push 4
push 3
push 0x20
push dword [edi + 0xc]
call fcn.1003a4e0
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x1003ada8
mov dword [esp + 0x14], eax
cmp ebx, 6
je 0x1003aca5
cmp ebx, 0x74
je 0x1003ac11
mov esi, 0x2725
jmp 0x1003adbe
push 0
lea eax, [esp + 0x1c]
push eax
push 0
push dword [edi + 0xc]
call fcn.1003def0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x1003ada8
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x1c]
push ebp
call fcn.1003a010
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1003ada8
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x1c]
push dword [edi + 0xc]
call fcn.1003def0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x1003ada8
push 0x90
push dword [esp + 0x20]
push dword [esp + 0x1c]
push 0x10
push 2
push 0x20
push dword [edi + 0xc]
call fcn.1003a4e0
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x1003ada8
mov dword [esp + 0x14], eax
mov edx, 0x1005d7e0
jmp 0x1003acce
push 0x10
push 2
lea eax, [esp + 0x18]
push eax
push 0x10
push 2
push 0x20
push dword [edi + 0xc]
call fcn.1003a4e0
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x1003ada8
mov edx, 0x1005d7d4
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003acd3
push 0x10
sub ecx, esi
push ecx
push edx
push 6
push 1
push 0x20
push dword [edi + 0xc]
call fcn.1003a4e0
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x1003ada8
push eax
lea eax, [esp + 0x1c]
push eax
push esi
push dword [edi + 0xc]
call fcn.1003df50
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x1003ada8
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x1c]
push ebp
call fcn.10003e90
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1003ada8
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x1c]
push dword [edi + 0xc]
call fcn.1003df50
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x1003ada8
push 0x80
push dword [esp + 0x20]
push dword [esp + 0x1c]
push 0x10
push 0x1f
push 0x20
push dword [edi + 0xc]
call fcn.1003a4e0
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x1003ada8
mov dword [esp + 0x14], eax
cmp dword [esp + 0x2c], eax
jne 0x1003adbe
push dword [esp + 0x30]
push edi
call fcn.1003ae70
mov esi, eax
add esp, 8
test esi, esi
jne 0x1003ada8
push eax
push eax
push eax
push eax
push 0x36
push 0x20
push dword [edi + 0xc]
call fcn.1003a4e0
add esp, 0x1c
mov esi, eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1003adbe
push dword [esp + 0x1c]
push eax
push ebp
call fcn.1003a040
add esp, 0xc
cmp dword [esp + 0x20], 0
je 0x1003ae1f
push 0
push 0x31
push 0x20
push dword [edi + 0xc]
call fcn.1003de80
push 0
push 0x32
push 0x21
push dword [edi + 0xc]
call fcn.1003de80
push 0
push 0x42
push 0x21
push dword [edi + 0xc]
call fcn.1003de80
push 0
push 0x43
push 0x21
push dword [edi + 0xc]
call fcn.1003de80
add esp, 0x40
push 0
push 0x35
push 0x20
push dword [edi + 0xc]
call fcn.10003e90
push 0
push 0x37
push 0x20
push dword [edi + 0xc]
call fcn.1003de80
add esp, 0x20
push 0
push 3
push 0x20
push dword [edi + 0xc]
call fcn.1003de80
push 0
push 1
push 0x20
push dword [edi + 0xc]
call fcn.1003de80
push 0
push 2
push 0x20
push dword [edi + 0xc]
call fcn.1003de80
push 0
push 0x10
push 0x20
push dword [edi + 0xc]
call fcn.1003de80
add esp, 0x40
mov eax, esi
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x14
ret
mov eax, 0x2721
pop edi
add esp, 0x14
ret