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

Disassembly:
mov eax, 0x48
call fcn.005c8080
mov eax, dword [0x678dc8]
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 + 0x24], ebp
and eax, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
push 0
push 0x66ed1f
test eax, eax
je 0x4ca609
push 0
push ebp
call fcn.004a58d0
push 0
push 0x66ed1f
push 0
push esi
call fcn.004a58d0
push 0
push 0x66ed1f
push ebx
push edi
call fcn.004a58d0
add esp, 0x30
jmp 0x4ca62c
push ebp
call fcn.004a4eb0
push 0
push 0x66ed1f
push esi
call fcn.004a4eb0
push 0
push 0x66ed1f
push edi
call fcn.004a4eb0
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.004c9650
add esp, 0x18
test eax, eax
je 0x4caa1c
push dword [esp + 0x28]
mov ebp, dword [esp + 0x28]
push ebp
call fcn.004c9bb0
add esp, 8
test eax, eax
jne 0x4ca682
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jmp 0x4ca5d4
mov ebx, dword [esp + 0x14]
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
movups xmmword [esp + 0x40], xmm0
test ebx, ebx
je 0x4ca919
mov al, byte [ebx]
test al, al
je 0x4ca919
cmp al, 0xa
je 0x4ca919
push 0xa
push str.Proc_Type:
push ebx
call fcn.005d9560
add esp, 0xc
test eax, eax
je 0x4ca726
call fcn.004a93e0
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66ed1f
call fcn.004a94e0
push 0
push 0x6b
push 9
call fcn.004a94f0
add esp, 0x18
mov ebx, dword [esp + 0x10]
xor edi, edi
mov esi, dword [esp + 0x1c]
push 0
push 0x66ed1f
test esi, esi
je 0x4ca9b2
push 0
push ebp
call fcn.004a58d0
add esp, 0x10
push 0
push 0x66ed1f
push 0
push dword [esp + 0x20]
call fcn.004a58d0
add esp, 0x10
jmp 0x4ca9ce
lea edi, [ebx + 0xa]
push 0x6170ec
push edi
call fcn.005dc050
add edi, eax
add esp, 8
cmp byte [edi], 0x34
jne 0x4ca6e8
mov al, byte [edi + 1]
add edi, 2
cmp al, 0x2c
jne 0x4ca6e8
push 0x6170ec
push edi
call fcn.005dc050
push 9
add edi, eax
push 0x616f24
push edi
call fcn.005d9560
add esp, 0x14
test eax, eax
jne 0x4ca993
add edi, 9
push str.__t_r_n
push edi
call fcn.005dc050
add esp, 8
test eax, eax
je 0x4ca993
push 0x6170f8
push edi
call fcn.005dc050
add edi, eax
add esp, 8
mov al, byte [edi]
inc edi
cmp al, 0xa
je 0x4ca7bc
call fcn.004a93e0
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66ed1f
call fcn.004a94e0
push 0
push 0x70
jmp 0x4ca6de
push 9
push str.DEK_Info:
push edi
call fcn.005d9560
add esp, 0xc
test eax, eax
je 0x4ca7ef
call fcn.004a93e0
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66ed1f
call fcn.004a94e0
push 0
push 0x69
jmp 0x4ca6de
add edi, 9
push 0x6170ec
push edi
call fcn.005dc050
add edi, eax
push 0x6170fc
push edi
mov esi, edi
call fcn.005d6b40
mov bl, byte [edi + eax]
add edi, eax
push esi
mov byte [edi], 0
call fcn.004aff60
push 0x6170ec
mov dword [esp + 0x58], eax
push edi
mov dword [esp + 0x3c], eax
mov byte [edi], bl
call fcn.005dc050
mov ebx, dword [esp + 0x3c]
add edi, eax
add esp, 0x1c
mov esi, edi
test ebx, ebx
jne 0x4ca85b
call fcn.004a93e0
push str.PEM_get_EVP_CIPHER_INFO
push ebx
push 0x66ed1f
call fcn.004a94e0
push ebx
push 0x72
jmp 0x4ca6de
push ebx
call fcn.0047b9a0
add esp, 4
test eax, eax
jle 0x4ca891
mov al, byte [edi]
inc edi
cmp al, 0x2c
je 0x4ca8be
call fcn.004a93e0
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66ed1f
call fcn.004a94e0
push 0
push 0x81
jmp 0x4ca6de
mov edi, esi
test eax, eax
jne 0x4ca8be
cmp byte [esi], 0x2c
jne 0x4ca8be
call fcn.004a93e0
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66ed1f
call fcn.004a94e0
push 0
push 0x82
jmp 0x4ca6de
push ebx
call fcn.0047b9a0
mov esi, eax
add esp, 4
test esi, esi
jle 0x4ca8dd
push esi
lea eax, [esp + 0x48]
push 0
push eax
call fcn.005c9580
add esp, 0xc
lea ebx, [esi + esi]
xor esi, esi
test ebx, ebx
jle 0x4ca919
movzx eax, byte [esi + edi]
push eax
call fcn.004a5350
mov edx, eax
add esp, 4
test edx, edx
js 0x4ca974
mov eax, esi
test eax, eax
jns 0x4ca902
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 0x4ca8e6
push dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push dword [esp + 0x38]
push eax
lea eax, [esp + 0x4c]
push ebx
push eax
call fcn.004c90a0
add esp, 0x14
test eax, eax
je 0x4ca6ec
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [eax], ebx
mov eax, dword [esp + 0x18]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4ca95a
mov dword [eax], ebp
mov edi, 1
test eax, eax
je 0x4ca6ee
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x4ca9bb
jmp 0x4ca70c
call fcn.004a93e0
push str.load_iv
push 0
push 0x66ed1f
call fcn.004a94e0
push 0
push 0x67
jmp 0x4ca6de
call fcn.004a93e0
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66ed1f
call fcn.004a94e0
push 0
push 0x6a
jmp 0x4ca6de
push ebp
call fcn.004a4eb0
add esp, 0xc
push 0
push 0x66ed1f
push dword [esp + 0x1c]
call fcn.004a4eb0
add esp, 0xc
test edi, edi
jne 0x4caa07
push edi
push 0x66ed1f
test esi, esi
je 0x4ca9fe
push dword [esp + 0x20]
push ebx
call fcn.004a58d0
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.005c77ea
add esp, 0x48
ret
push ebx
call fcn.004a4eb0
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.005c77ea
add esp, 0x48
ret
call fcn.004a2e80
test eax, eax
mov ecx, 0x7fffff
mov edx, closesocket
cmovs ecx, edx
and ecx, eax
cmp ecx, 0x6c
jne 0x4caa4a
push dword [esp + 0x28]
push str.Expecting:
push 2
call fcn.004a2960
add esp, 0xc
mov ecx, dword [esp + 0x54]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005c77ea
add esp, 0x48
ret