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

Disassembly:
mov eax, 0x48
call fcn.006149d0
mov eax, dword [0x6ae280]
xor eax, esp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
push ebx
mov dword [esp + 0x14], eax
xor ebx, ebx
mov eax, dword [esp + 0x64]
push ebp
mov dword [esp + 0x2c], eax
xor ebp, ebp
mov eax, dword [esp + 0x6c]
push esi
mov dword [esp + 0x2c], eax
xor esi, esi
mov eax, dword [esp + 0x74]
push edi
xor edi, edi
mov dword [esp + 0x14], esi
and eax, 1
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], eax
push 0xfe
push str.cryptopempem_lib.c
test eax, eax
je 0x585422
push 0
push edi
call fcn.004aac10
push 0xff
push str.cryptopempem_lib.c
push 0
push esi
call fcn.004aac10
push 0x100
push str.cryptopempem_lib.c
push ebp
push ebx
call fcn.004aac10
add esp, 0x30
jmp 0x58544b
push edi
call fcn.00482a60
push 0xff
push str.cryptopempem_lib.c
push esi
call fcn.00482a60
push 0x100
push str.cryptopempem_lib.c
push ebx
call fcn.00482a60
add esp, 0x24
push dword [esp + 0x78]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x34]
call fcn.00584420
add esp, 0x18
test eax, eax
je 0x58587f
push dword [esp + 0x28]
mov edi, dword [esp + 0x28]
push edi
call fcn.00584b40
add esp, 8
test eax, eax
jne 0x5854a1
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jmp 0x5853e4
mov ebx, dword [esp + 0x14]
xorps xmm0, xmm0
mov dword [esp + 0x40], 0
movups xmmword [esp + 0x44], xmm0
test ebx, ebx
je 0x585727
mov al, byte [ebx]
test al, al
je 0x585727
cmp al, 0xa
je 0x585727
push 0xa
push str.Proc_Type:
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5857ec
lea esi, [ebx + 0xa]
push 0x685da4
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strspn
add esp, 8
cmp byte [esi + eax], 0x34
lea ebx, [esi + eax]
jne 0x58558c
mov al, byte [ebx + 1]
add ebx, 2
cmp al, 0x2c
jne 0x58558c
push 0x685da4
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strspn
push 9
add ebx, eax
push str.ENCRYPTED
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0x14
test eax, eax
jne 0x5857ca
add ebx, 9
push 0x685da8
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strspn
add esp, 8
test eax, eax
je 0x5857ca
push 0x685db0
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strspn
add esp, 8
lea esi, [ebx + eax]
mov al, byte [esi]
inc esi
cmp al, 0xa
je 0x5855d0
call fcn.0048aed0
push str.PEM_get_EVP_CIPHER_INFO
push 0x20c
push str.cryptopempem_lib.c
call fcn.0048afd0
push 0
push 0x70
push 9
call fcn.0048b0e0
add esp, 0x18
mov ebp, dword [esp + 0x10]
xor ebx, ebx
mov esi, dword [esp + 0x1c]
push 0x116
push str.cryptopempem_lib.c
test esi, esi
je 0x58580e
push 0
push edi
call fcn.004aac10
add esp, 0x10
push 0x117
push str.cryptopempem_lib.c
push 0
push dword [esp + 0x20]
call fcn.004aac10
add esp, 0x10
jmp 0x58582d
push 9
push str.DEK_Info:
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5857a8
add esi, 9
push 0x685da4
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strspn
push 0x685dc0
lea ebp, [esi + eax]
push ebp
mov esi, ebp
call sub.api_ms_win_crt_string_l1_1_0.dll_strcspn
mov bl, byte [ebp + eax]
add ebp, eax
push esi
mov byte [ebp], 0
call fcn.0049b350
push 0x685da4
mov dword [esp + 0x58], eax
push ebp
mov dword [esp + 0x3c], eax
mov byte [ebp], bl
call sub.api_ms_win_crt_string_l1_1_0.dll_strspn
mov ebx, dword [esp + 0x3c]
add ebp, eax
add esp, 0x1c
mov esi, ebp
test ebx, ebx
jne 0x58565c
call fcn.0048aed0
push str.PEM_get_EVP_CIPHER_INFO
push 0x227
push str.cryptopempem_lib.c
call fcn.0048afd0
push ebx
push 0x72
jmp 0x585582
push ebx
call fcn.004871a0
add esp, 4
test eax, eax
jle 0x585696
mov al, byte [ebp]
inc ebp
cmp al, 0x2c
je 0x5856c6
call fcn.0048aed0
push str.PEM_get_EVP_CIPHER_INFO
push 0x22c
push str.cryptopempem_lib.c
call fcn.0048afd0
push 0
push 0x81
jmp 0x585582
mov ebp, esi
test eax, eax
jne 0x5856c6
cmp byte [esi], 0x2c
jne 0x5856c6
call fcn.0048aed0
push str.PEM_get_EVP_CIPHER_INFO
push 0x22f
push str.cryptopempem_lib.c
call fcn.0048afd0
push 0
push 0x82
jmp 0x585582
push ebx
call fcn.004871a0
mov esi, eax
add esp, 4
test esi, esi
jle 0x5856e5
push esi
lea eax, [esp + 0x48]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ebx, [esi + esi]
xor esi, esi
test ebx, ebx
jle 0x585727
nop
movzx eax, byte [esi + ebp]
push eax
call fcn.0048f9e0
mov edx, eax
add esp, 4
test edx, edx
js 0x585786
mov eax, esi
test eax, eax
jns 0x585710
add eax, 1
sar eax, 1
mov ecx, esi
inc esi
not ecx
and ecx, 1
shl ecx, 2
shl dl, cl
or byte [esp + eax + 0x44], dl
cmp esi, ebx
jl 0x5856f0
push dword [esp + 0x30]
mov ebp, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push dword [esp + 0x38]
push eax
lea eax, [esp + 0x4c]
push ebp
push eax
call fcn.00583e40
add esp, 0x14
test eax, eax
je 0x585590
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [eax], ebp
mov eax, dword [esp + 0x18]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x585768
mov dword [eax], edi
mov ebx, 1
test eax, eax
je 0x585592
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x585817
jmp 0x5855b3
call fcn.0048aed0
push str.load_iv
push 0x245
push str.cryptopempem_lib.c
call fcn.0048afd0
push 0
push 0x67
jmp 0x585582
call fcn.0048aed0
push str.PEM_get_EVP_CIPHER_INFO
push 0x215
push str.cryptopempem_lib.c
call fcn.0048afd0
push 0
push 0x69
jmp 0x585582
call fcn.0048aed0
push str.PEM_get_EVP_CIPHER_INFO
push 0x207
push str.cryptopempem_lib.c
call fcn.0048afd0
push 0
push 0x6a
jmp 0x585582
call fcn.0048aed0
push str.PEM_get_EVP_CIPHER_INFO
push 0x1fb
push str.cryptopempem_lib.c
call fcn.0048afd0
push 0
push 0x6b
jmp 0x585582
push edi
call fcn.00482a60
add esp, 0xc
push 0x117
push str.cryptopempem_lib.c
push dword [esp + 0x1c]
call fcn.00482a60
add esp, 0xc
test ebx, ebx
jne 0x58586a
push 0x119
push str.cryptopempem_lib.c
test esi, esi
je 0x585861
push dword [esp + 0x20]
push ebp
call fcn.004aac10
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.00614242
add esp, 0x48
ret
push ebp
call fcn.00482a60
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.00614242
add esp, 0x48
ret
call fcn.004a8b30
mov ecx, eax
sar ecx, 0x1f
and ecx, 0x7f800000
add ecx, 0x7fffff
and ecx, eax
cmp ecx, 0x6c
jne 0x5858af
push dword [esp + 0x28]
push str.Expecting:
push 2
call fcn.004a87d0
add esp, 0xc
mov ecx, dword [esp + 0x54]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00614242
add esp, 0x48
ret