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

Disassembly:
mov eax, 0x60
call fcn.100b1990
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x7c]
xor ebx, ebx
cmp edi, ebx
mov dword [esp + 0x10], ebx
je 0x10058af9
cmp dword [edi + 0x10], ebx
je 0x10058af9
cmp dword [esp + 0x80], ebx
jne 0x1005888b
mov dword [esp + 0x7c], edi
mov esi, dword [edi + 8]
cmp esi, ebx
jne 0x10058763
mov eax, dword [0x10101c10]
cmp eax, ebx
je 0x1005872c
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
push ecx
push eax
mov dword [esp + 0x28], edi
call sym.LIBEAY32_smt.dll_lh_retrieve
add esp, 8
cmp eax, ebx
je 0x1005872c
mov edx, dword [eax + 4]
mov esi, dword [edx + 8]
jmp 0x1005875b
push ebx
push 0x10058ce0
push 4
push 0x2d4
lea eax, [esp + 0x8c]
push 0x100fb158
push eax
call sym.LIBEAY32_smt.dll_OBJ_bsearch_ex
add esp, 0x18
cmp eax, ebx
je 0x1005888b
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
cmp esi, ebx
je 0x1005888b
test esi, esi
mov ebx, 3
jl 0x100587bf
cmp esi, 0x304
jge 0x100587bf
lea eax, [esi + esi*2]
shl eax, 3
mov ecx, dword [eax + 0x100f5100]
test ecx, ecx
jne 0x1005878b
push 0x15a
jmp 0x100587f7
mov edi, dword [eax + 0x100f50fc]
test edi, edi
jne 0x10058860
test esi, esi
jl 0x10058814
cmp esi, 0x304
jge 0x10058814
lea eax, [esi + esi*2]
shl eax, 3
mov ecx, dword [eax + 0x100f5100]
test ecx, ecx
jne 0x1005880c
push 0x13a
jmp 0x1005884b
mov eax, dword [0x10101c10]
test eax, eax
je 0x10058799
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x24]
push ecx
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], esi
call sym.LIBEAY32_smt.dll_lh_retrieve
add esp, 8
test eax, eax
je 0x100587f2
mov edx, dword [eax + 4]
mov edi, dword [edx + 4]
jmp 0x10058791
push 0x16b
push str..cryptoobjectsobj_dat.c
push 0x65
push 0x66
push 8
call sym.LIBEAY32_smt.dll_ERR_put_error
add esp, 0x14
jmp 0x10058799
mov edi, dword [eax + 0x100f50f8]
jmp 0x10058860
mov eax, dword [0x10101c10]
test eax, eax
je 0x1005885e
lea edx, [esp + 0x14]
lea ecx, [esp + 0x3c]
push edx
push eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x4c], esi
call sym.LIBEAY32_smt.dll_lh_retrieve
add esp, 8
test eax, eax
je 0x10058846
mov eax, dword [eax + 4]
mov edi, dword [eax]
jmp 0x10058860
push 0x14b
push str..cryptoobjectsobj_dat.c
push 0x65
push 0x68
push 8
call sym.LIBEAY32_smt.dll_ERR_put_error
add esp, 0x14
xor edi, edi
mov eax, dword [esp + 0x74]
test eax, eax
je 0x10058877
mov ecx, dword [esp + 0x78]
push ecx
push edi
push eax
call sym.LIBEAY32_smt.dll_BUF_strlcpy
add esp, 0xc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
pop edi
dec ecx
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x60
ret
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
xor edi, edi
cmp eax, ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x7c], edi
jle 0x10058ad5
mov ebp, dword [esp + 0x74]
jmp 0x100588bc
mov edi, dword [esp + 0x7c]
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x14]
mov bl, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x80]
dec eax
mov dword [esp + 0x80], eax
jne 0x100588e9
test bl, 0x80
jne 0x10058ae1
test ecx, ecx
je 0x1005890a
mov al, bl
and eax, 0x7f
push eax
push edi
call sym.LIBEAY32_smt.dll_BN_add_word
add esp, 8
test eax, eax
je 0x10058ae1
mov ecx, dword [esp + 0x74]
jmp 0x10058911
mov dl, bl
and edx, 0x7f
or esi, edx
test bl, 0x80
je 0x10058978
test ecx, ecx
jne 0x10058953
cmp esi, 0x1ffffff
jbe 0x10058970
test edi, edi
jne 0x10058939
call sym.LIBEAY32_smt.dll_BN_new
test eax, eax
mov dword [esp + 0x7c], eax
je 0x10058aee
mov edi, eax
push esi
push edi
call sym.LIBEAY32_smt.dll_BN_set_word
add esp, 8
test eax, eax
je 0x10058ae1
mov dword [esp + 0x74], 1
push 7
push edi
push edi
call sym.LIBEAY32_smt.dll_BN_lshift
add esp, 0xc
test eax, eax
je 0x10058ae1
mov ecx, dword [esp + 0x74]
jmp 0x100588c4
shl esi, 7
jmp 0x100588c4
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x100589e8
cmp esi, 0x50
mov dword [esp + 0x1c], 0
jb 0x100589b4
test ecx, ecx
mov ebx, 2
je 0x100589af
push 0x50
push edi
call sym.LIBEAY32_smt.dll_BN_sub_word
add esp, 8
test eax, eax
je 0x10058ae1
mov ecx, dword [esp + 0x74]
jmp 0x100589cc
sub esi, 0x50
jmp 0x100589cc
mov eax, 0xcccccccd
mul esi
mov ebx, edx
shr ebx, 5
mov eax, ebx
neg eax
shl eax, 2
sub eax, ebx
lea esi, [esi + eax*8]
test ebp, ebp
je 0x100589e4
mov eax, dword [esp + 0x78]
test eax, eax
jle 0x100589e4
add bl, 0x30
mov byte [ebp], bl
inc ebp
dec eax
mov dword [esp + 0x78], eax
inc dword [esp + 0x10]
test ecx, ecx
je 0x10058a59
push edi
call sym.LIBEAY32_smt.dll_BN_bn2dec
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10058ae1
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
test ebp, ebp
mov esi, ecx
je 0x10058a42
mov edi, dword [esp + 0x78]
test edi, edi
jle 0x10058a1f
mov byte [ebp], 0x2e
inc ebp
dec edi
push edi
push ebx
push ebp
call sym.LIBEAY32_smt.dll_BUF_strlcpy
add esp, 0xc
cmp esi, edi
jle 0x10058a3a
add ebp, edi
mov dword [esp + 0x78], 0
jmp 0x10058a42
add ebp, esi
sub edi, esi
mov dword [esp + 0x78], edi
mov ecx, dword [esp + 0x10]
push ebx
lea edx, [ecx + esi + 1]
mov dword [esp + 0x14], edx
call sym.LIBEAY32_smt.dll_CRYPTO_free
add esp, 4
jmp 0x10058ab5
push esi
push str.._lu
lea eax, [esp + 0x5c]
push 0x1a
push eax
call sym.LIBEAY32_smt.dll_BIO_snprintf
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
test ebp, ebp
mov esi, ecx
je 0x10058ab1
mov edi, dword [esp + 0x78]
test edi, edi
jle 0x10058ab1
lea ecx, [esp + 0x54]
push edi
push ecx
push ebp
call sym.LIBEAY32_smt.dll_BUF_strlcpy
add esp, 0xc
cmp esi, edi
jle 0x10058aa9
add ebp, edi
mov dword [esp + 0x78], 0
jmp 0x10058ab1
add ebp, esi
sub edi, esi
mov dword [esp + 0x78], edi
add dword [esp + 0x10], esi
mov eax, dword [esp + 0x80]
test eax, eax
jg 0x100588b8
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x10058ad5
push eax
call sym.LIBEAY32_smt.dll_BN_free
add esp, 4
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
test edi, edi
je 0x10058aee
push edi
call sym.LIBEAY32_smt.dll_BN_free
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x60
ret
mov edx, dword [esp + 0x74]
pop edi
pop esi
pop ebp
mov byte [edx], 0
xor eax, eax
pop ebx
add esp, 0x60
ret