Function at 0x10089520
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x28
call fcn.10255f50
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
push ebx
xor ebx, ebx
mov dword [esp + 0x24], 0
mov dword [eax], ebx
mov eax, dword [esp + 0x38]
push ebp
push edi
xor edi, edi
mov dword [esp + 0x18], 0
mov dword [eax], ebx
xor ebp, ebp
mov eax, dword [esp + 0x3c]
mov dword [eax], ebx
mov eax, dword [esp + 0x44]
mov dword [eax], ebx
mov eax, ecx
and eax, 6
cmp al, 6
jne 0x10089596
call fcn.100803f0
push str.PEM_read_bio_ex
push 0x3ab
push str.cryptopempem_lib.c
call fcn.100804f0
push ebp
push 0x80106
push 9
call fcn.10080600
add esp, 0x18
jmp 0x100897bb
mov ebp, ecx
and ebp, 1
mov dword [esp + 0x24], ebp
je 0x100895a8
call fcn.10077a30
jmp 0x100895ad
call fcn.10077a20
mov ebx, eax
push esi
push ebx
call fcn.10075a60
mov esi, eax
push ebx
mov dword [esp + 0x24], esi
call fcn.10075a60
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ebx
test esi, esi
je 0x10089964
test ebx, ebx
je 0x10089964
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], 1
push 0x2fd
push str.cryptopempem_lib.c
push 0x100
test ebp, ebp
je 0x10089605
call fcn.10083dc0
jmp 0x1008960a
call fcn.1007fe30
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100897b8
nop word [eax + eax]
push 0xff
push esi
push dword [esp + 0x44]
call fcn.10075620
mov ecx, eax
add esp, 0xc
test ecx, ecx
jle 0x100896cd
push dword [esp + 0x24]
mov eax, dword [esp + 0x54]
and eax, 0xfffffffb
push eax
push ecx
push esi
call fcn.1008aa30
push 0xb
push str._____BEGIN
push esi
mov ebx, eax
mov dword [esp + 0x40], edi
call fcn.10269e00
add esp, 0x1c
test eax, eax
jne 0x10089620
cmp ebx, 6
jl 0x10089620
push 6
lea ebp, [esi - 6]
add ebp, ebx
push str.______n
push ebp
call fcn.10269e00
add esp, 0xc
test eax, eax
jne 0x10089620
push 0x313
mov byte [ebp], al
sub ebx, 0x10
mov ebp, dword [esp + 0x2c]
push str.cryptopempem_lib.c
push ebx
test ebp, ebp
je 0x100896a7
call fcn.10083dc0
jmp 0x100896ac
call fcn.1007fe30
mov edi, eax
add esp, 0xc
test edi, edi
je 0x100896f8
push ebx
lea eax, [esi + 0xb]
push eax
push edi
call fcn.102574c0
add esp, 0xc
mov dword [esp + 0x2c], 1
jmp 0x100896f8
call fcn.100803f0
push str.get_name
push 0x305
push str.cryptopempem_lib.c
call fcn.100804f0
push 0
push 0x6c
push 9
call fcn.10080600
mov ebp, dword [esp + 0x40]
add esp, 0x18
mov ebx, edi
push 0x31a
push str.cryptopempem_lib.c
test ebp, ebp
je 0x10089718
push 0x100
push esi
call fcn.10083cb0
add esp, 0x10
jmp 0x10089721
push esi
call fcn.1007fec0
add esp, 0xc
cmp dword [esp + 0x2c], 0
mov edi, ebx
je 0x100897b4
mov ebp, dword [esp + 0x50]
lea eax, [esp + 0x20]
push ebp
push ebx
push eax
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x4c]
call fcn.1008a170
add esp, 0x14
test eax, eax
je 0x1008995b
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x24]
push 0
push 0x73
push eax
mov dword [esp + 0x24], eax
call fcn.10075320
mov eax, dword [esp + 0x28]
add esp, 0x10
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test eax, eax
je 0x100897b4
call fcn.100834f0
mov edi, eax
mov dword [esp + 0x30], edi
test edi, edi
jne 0x100897ec
call fcn.100803f0
push str.PEM_read_bio_ex
push 0x3c5
push str.cryptopempem_lib.c
call fcn.100804f0
push edi
push 0x80006
push 9
call fcn.10080600
add esp, 0x18
mov edi, ebx
mov ebx, dword [esp + 0x14]
xor ebp, ebp
pop esi
push dword [esp + 0x2c]
call fcn.100834d0
add esp, 4
test byte [esp + 0x4c], 1
push 0x3eb
push str.cryptopempem_lib.c
je 0x10089993
push 0
push edi
call fcn.10083cb0
add esp, 0x10
jmp 0x1008999c
push edi
call fcn.100832d0
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push dword [esp + 0x14]
mov eax, dword [eax + 4]
push eax
push ecx
push eax
push edi
call fcn.100832f0
add esp, 0x18
test eax, eax
js 0x10089939
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x14]
push eax
push edi
call fcn.10083280
add esp, 0xc
test eax, eax
js 0x10089939
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
push 0
push 0
push 3
mov dword [esp + 0x1c], ecx
push edi
mov dword [eax], ecx
call fcn.10075320
mov esi, eax
push 0x3d5
push str.cryptopempem_lib.c
push ebp
lea ecx, [esi + 1]
push ecx
call fcn.1008aa00
mov ecx, dword [esp + 0x64]
push 0x3d6
push str.cryptopempem_lib.c
push ebp
push dword [esp + 0x3c]
mov dword [ecx], eax
call fcn.1008aa00
mov ecx, dword [esp + 0x78]
add esp, 0x30
mov dword [ecx], eax
mov ecx, dword [esp + 0x44]
mov ecx, dword [ecx]
test ecx, ecx
je 0x100898f5
test eax, eax
je 0x100898f5
test esi, esi
je 0x100898b3
push esi
push ecx
push edi
call fcn.10075da0
add esp, 0xc
cmp eax, esi
jne 0x100898f5
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov byte [esi + eax], 0
mov eax, dword [esp + 0x48]
push dword [esp + 0x10]
push dword [eax]
push dword [esp + 0x1c]
call fcn.10075da0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
cmp eax, ecx
jne 0x100898f5
mov eax, dword [esp + 0x4c]
xor edi, edi
mov dword [eax], ecx
lea ebp, [edi + 1]
mov eax, dword [esp + 0x40]
mov dword [eax], ebx
mov ebx, dword [esp + 0x14]
jmp 0x100897ba
mov esi, dword [esp + 0x44]
push 0x3e5
push str.cryptopempem_lib.c
push 0
push ebp
push dword [esi]
call fcn.1008a9d0
push 0x3e7
mov dword [esi], 0
mov esi, dword [esp + 0x60]
push str.cryptopempem_lib.c
push 0
push ebp
push dword [esi]
call fcn.1008a9d0
add esp, 0x28
mov dword [esi], 0
jmp 0x100897b2
call fcn.100803f0
push str.PEM_read_bio_ex
push 0x3ce
push str.cryptopempem_lib.c
call fcn.100804f0
push 0
push 0x64
jmp 0x100897a8
mov ebx, dword [esp + 0x20]
jmp 0x100897b8
call fcn.100803f0
push str.PEM_read_bio_ex
push 0x3b3
push str.cryptopempem_lib.c
call fcn.100804f0
push 0
push 0x80020
push 9
call fcn.10080600
add esp, 0x18
jmp 0x100897b8
push edi
call fcn.1007fec0
add esp, 0xc
push dword [esp + 0x18]
call fcn.100754b0
push ebx
call fcn.100754b0
add esp, 8
mov eax, ebp
pop edi
pop ebp
pop ebx
add esp, 0x28
ret