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

Disassembly:
mov eax, 0x54
call fcn.100b1990
mov eax, dword [esp + 0x58]
push ebx
push ebp
push esi
mov ebp, dword [eax + 0xc]
push edi
mov edi, dword [eax + 8]
xor esi, esi
cmp edi, 0x20
mov dword [esp + 0x10], esi
jle 0x1005b017
push str.nkey___EVP_MAX_KEY_LENGTH
push 0x79
push str..cryptoevpevp_key.c
call sym.LIBEAY32_smt.dll_OpenSSLDie
add esp, 0xc
cmp ebp, 0x10
jle 0x1005b030
push str.niv___EVP_MAX_IV_LENGTH
push 0x7a
push str..cryptoevpevp_key.c
call sym.LIBEAY32_smt.dll_OpenSSLDie
add esp, 0xc
cmp dword [esp + 0x74], esi
jne 0x1005b040
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
lea eax, [esp + 0x14]
push eax
call sym.LIBEAY32_smt.dll_EVP_MD_CTX_init
mov ecx, dword [esp + 0x70]
push esi
lea edx, [esp + 0x1c]
push ecx
push edx
call sym.LIBEAY32_smt.dll_EVP_DigestInit_ex
add esp, 0x10
test eax, eax
je 0x1005b1a3
mov ebx, dword [esp + 0x84]
jmp 0x1005b075
mov esi, dword [esp + 0x84]
mov eax, esi
inc esi
test eax, eax
mov dword [esp + 0x84], esi
je 0x1005b09a
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x18]
push edx
push eax
call sym.LIBEAY32_smt.dll_EVP_DigestUpdate
add esp, 0xc
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
push ecx
lea eax, [esp + 0x18]
push edx
push eax
call sym.LIBEAY32_smt.dll_EVP_DigestUpdate
mov eax, dword [esp + 0x7c]
add esp, 0xc
test eax, eax
je 0x1005b0c9
push 8
lea ecx, [esp + 0x18]
push eax
push ecx
call sym.LIBEAY32_smt.dll_EVP_DigestUpdate
add esp, 0xc
lea edx, [esp + 0x10]
lea eax, [esp + 0x24]
push edx
lea ecx, [esp + 0x18]
push eax
push ecx
call sym.LIBEAY32_smt.dll_EVP_DigestFinal_ex
mov esi, dword [esp + 0x88]
add esp, 0xc
cmp esi, 1
jbe 0x1005b12c
dec esi
mov edx, dword [esp + 0x6c]
push 0
lea eax, [esp + 0x18]
push edx
push eax
call sym.LIBEAY32_smt.dll_EVP_DigestInit_ex
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x24]
push edx
push eax
call sym.LIBEAY32_smt.dll_EVP_DigestUpdate
lea ecx, [esp + 0x28]
lea edx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
call sym.LIBEAY32_smt.dll_EVP_DigestFinal_ex
add esp, 0x24
dec esi
jne 0x1005b0ed
mov ecx, dword [esp + 0x10]
xor eax, eax
test edi, edi
je 0x1005b162
cmp eax, ecx
je 0x1005b162
mov edx, dword [esp + 0x80]
test edx, edx
je 0x1005b15c
mov esi, dword [esp + 0x80]
mov dl, byte [esp + eax + 0x24]
mov byte [esi], dl
mov edx, esi
inc edx
mov dword [esp + 0x80], edx
dec edi
inc eax
test edi, edi
jne 0x1005b136
test ebp, ebp
je 0x1005b17f
cmp eax, ecx
je 0x1005b17f
cmp eax, ecx
je 0x1005b17f
test ebx, ebx
je 0x1005b179
mov dl, byte [esp + eax + 0x24]
mov byte [ebx], dl
inc ebx
dec ebp
inc eax
test ebp, ebp
jne 0x1005b16a
test edi, edi
jne 0x1005b187
test ebp, ebp
je 0x1005b1ad
mov eax, dword [esp + 0x6c]
push 0
lea ecx, [esp + 0x18]
push eax
push ecx
call sym.LIBEAY32_smt.dll_EVP_DigestInit_ex
add esp, 0xc
test eax, eax
jne 0x1005b06e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret
lea edx, [esp + 0x14]
push edx
call sym.LIBEAY32_smt.dll_EVP_MD_CTX_cleanup
lea eax, [esp + 0x28]
push 0x40
push eax
call sym.LIBEAY32_smt.dll_OPENSSL_cleanse
mov ecx, dword [esp + 0x74]
add esp, 0xc
mov eax, dword [ecx + 8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret