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

Disassembly:
mov eax, 0x48
call fcn.1026b810
mov eax, dword [0x10343c80]
xor eax, esp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 4], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x34], esi
push edi
test ecx, ecx
jne 0x1015fa93
call fcn.100ffa10
mov ebp, eax
mov dword [esp + 0x10], ebp
test ebp, ebp
jne 0x1015fa99
call fcn.10105aa0
push str.PEM_X509_INFO_read_bio_ex
push 0x46
push str.cryptopempem_info.c
call fcn.10105ba0
push ebp
push 0x8000f
push 9
call fcn.10105cb0
add esp, 0x18
mov edi, ebp
xor ebx, ebx
jmp 0x1015ff29
mov ebp, ecx
mov dword [esp + 0x10], ecx
call fcn.1015f9d0
mov ebx, eax
test ebx, ebx
je 0x1015ff25
call fcn.10106040
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x20]
push eax
push esi
call fcn.101219c0
add esp, 0x14
test eax, eax
je 0x1015feb9
call fcn.10105e80
nop word [eax + eax]
mov esi, dword [esp + 0x14]
mov ecx, str.CERTIFICATE
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1015fb10
test dl, dl
je 0x1015fb0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1015fb10
add eax, 2
add ecx, 2
test dl, dl
jne 0x1015faf0
xor eax, eax
jmp 0x1015fb15
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015fc40
mov ecx, str.X509_CERTIFICATE
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1015fb44
test dl, dl
je 0x1015fb40
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1015fb44
add eax, 2
add ecx, 2
test dl, dl
jne 0x1015fb24
xor eax, eax
jmp 0x1015fb49
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015fc40
mov ecx, str.TRUSTED_CERTIFICATE
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1015fb78
test dl, dl
je 0x1015fb74
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1015fb78
add eax, 2
add ecx, 2
test dl, dl
jne 0x1015fb58
xor eax, eax
jmp 0x1015fb7d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015fc40
mov eax, str.X509_CRL
mov ecx, esi
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1015fbb0
test dl, dl
je 0x1015fbac
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1015fbb0
add ecx, 2
add eax, 2
test dl, dl
jne 0x1015fb90
xor eax, eax
jmp 0x1015fbb5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1015fbf3
lea edi, [ebx + 4]
mov ebp, fcn.1015f880
cmp dword [edi], eax
je 0x1015fd42
mov ebp, dword [esp + 0x10]
push ebx
push ebp
call fcn.100ffb40
add esp, 8
test eax, eax
je 0x1015ff25
call fcn.1015f9d0
mov ebx, eax
test ebx, ebx
jne 0x1015fae0
jmp 0x1015ff25
push str.PRIVATE_KEY
push esi
call fcn.1026d820
mov esi, eax
add esp, 8
test esi, esi
je 0x1015fe35
cmp dword [ebx + 8], 0
jne 0x1015fbcd
mov eax, dword [esp + 0x14]
cmp esi, eax
je 0x1015fc98
mov ecx, str.ENCRYPTED_PRIVATE_KEY
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1015fc7b
test dl, dl
je 0x1015fc3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1015fc7b
add eax, 2
add ecx, 2
test dl, dl
jne 0x1015fc20
xor eax, eax
jmp 0x1015fc80
cmp dword [ebx], 0
jne 0x1015fbcd
mov eax, str.TRUSTED_CERTIFICATE
nop word [eax + eax]
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x1015fd12
test cl, cl
je 0x1015fc74
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x1015fd12
add esi, 2
add eax, 2
test cl, cl
jne 0x1015fc50
xor esi, esi
jmp 0x1015fd17
sbb eax, eax
or eax, 1
test eax, eax
je 0x1015fc98
mov byte [esi - 1], 0
push dword [esp + 0x14]
call fcn.10112780
add esp, 4
mov esi, eax
jmp 0x1015fc9a
xor esi, esi
mov dword [ebx + 0x24], 0
mov ebp, 0x10148930
mov dword [ebx + 0x20], 0
call fcn.101b1ad0
mov dword [ebx + 8], eax
test eax, eax
je 0x1015ff25
mov ecx, dword [esp + 0x1c]
lea edi, [eax + 0xc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1015fcc7
sub ecx, edx
cmp ecx, 0xa
jg 0x1015fd0b
mov eax, dword [esp + 0x14]
mov ecx, str.ENCRYPTED_PRIVATE_KEY
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1015fd00
test dl, dl
je 0x1015fcfc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1015fd00
add eax, 2
add ecx, 2
test dl, dl
jne 0x1015fce0
xor eax, eax
jmp 0x1015fd05
sbb eax, eax
or eax, 1
xor ecx, ecx
test eax, eax
jne 0x1015fd46
mov ecx, 1
jmp 0x1015fd46
sbb esi, esi
or esi, 1
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.10118870
add esp, 8
mov dword [ebx], eax
test eax, eax
je 0x1015ff25
test esi, esi
mov ebp, fcn.10118930
mov eax, fcn.10118910
mov edi, ebx
cmovne ebp, eax
xor ecx, ecx
xor esi, esi
test ecx, ecx
jne 0x1015fe07
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x20]
call fcn.10121680
add esp, 8
test eax, eax
je 0x1015ff25
push dword [esp + 0x30]
lea eax, [esp + 0x24]
push dword [esp + 0x38]
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x50]
push eax
call fcn.10121400
add esp, 0x14
test eax, eax
je 0x1015ff25
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
test esi, esi
je 0x1015fde7
push dword [esp + 0x24]
push dword [esp + 0x2c]
push dword [esp + 0x28]
push eax
push edi
push esi
call fcn.10148d90
add esp, 0x18
test eax, eax
jne 0x1015fe35
call fcn.10105aa0
push str.PEM_X509_INFO_read_bio_ex
push 0xa5
push str.cryptopempem_info.c
call fcn.10105ba0
push 0
push 0x8000d
push 9
call fcn.10105cb0
add esp, 0x18
jmp 0x1015ff25
push dword [esp + 0x20]
push eax
push edi
call ebp
add esp, 0xc
test eax, eax
jne 0x1015fe35
call fcn.10105aa0
push str.PEM_X509_INFO_read_bio_ex
push 0xa9
jmp 0x1015fdc7
lea eax, [ebx + 0xc]
push eax
push dword [esp + 0x20]
call fcn.10121680
add esp, 8
test eax, eax
je 0x1015ff25
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x20], eax
mov dword [esp + 0x18], 0
push 0xb4
push str.cryptopempem_info.c
push dword [esp + 0x1c]
call fcn.10101d20
push 0xb6
push str.cryptopempem_info.c
push dword [esp + 0x30]
mov dword [esp + 0x2c], 0
call fcn.10101d20
push 0xb8
push str.cryptopempem_info.c
push dword [esp + 0x38]
mov dword [esp + 0x40], 0
call fcn.10101d20
mov dword [esp + 0x3c], 0
call fcn.10106040
mov esi, dword [esp + 0x5c]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x44]
push eax
push esi
call fcn.101219c0
add esp, 0x38
test eax, eax
je 0x1015feb9
mov ebp, dword [esp + 0x10]
jmp 0x1015fad2
call fcn.100fc9f0
mov ecx, eax
sar ecx, 0x1f
and ecx, 0x7f800000
add ecx, 0x7fffff
and ecx, eax
cmp ecx, 0x6c
jne 0x1015ff20
call fcn.10105f10
cmp dword [ebx], 0
jne 0x1015fef2
cmp dword [ebx + 4], 0
jne 0x1015fef2
cmp dword [ebx + 8], 0
jne 0x1015fef2
cmp dword [ebx + 0x24], 0
je 0x1015ff11
mov edi, dword [esp + 0x10]
push ebx
push edi
call fcn.100ffb40
add esp, 8
test eax, eax
je 0x1015ff29
xor ebx, ebx
push ebx
call fcn.1015f980
add esp, 4
jmp 0x1015ff6c
mov edi, dword [esp + 0x10]
push ebx
call fcn.1015f980
add esp, 4
jmp 0x1015ff6c
call fcn.10105e80
mov edi, dword [esp + 0x10]
push ebx
call fcn.1015f980
push edi
xor esi, esi
call fcn.100ffab0
add esp, 8
test eax, eax
jle 0x1015ff5b
nop
push esi
push edi
call fcn.100ffd00
push eax
call fcn.1015f980
push edi
inc esi
call fcn.100ffab0
add esp, 0x10
cmp esi, eax
jl 0x1015ff40
cmp edi, dword [esp + 0x3c]
je 0x1015ff6a
push edi
call fcn.100ff8b0
add esp, 4
xor edi, edi
push 0xd3
push str.cryptopempem_info.c
push dword [esp + 0x1c]
call fcn.10101d20
push 0xd4
push str.cryptopempem_info.c
push dword [esp + 0x30]
call fcn.10101d20
push 0xd5
push str.cryptopempem_info.c
push dword [esp + 0x38]
call fcn.10101d20
mov ecx, dword [esp + 0x78]
add esp, 0x24
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1026af9a
add esp, 0x48
ret