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

Disassembly:
mov eax, 0x48
call fcn.005c85a0
mov eax, dword [0x679dc8]
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 0x66fd1f
test eax, eax
je 0x4cab29
push 0
push ebp
call fcn.004a5e20
push 0
push 0x66fd1f
push 0
push esi
call fcn.004a5e20
push 0
push 0x66fd1f
push ebx
push edi
call fcn.004a5e20
add esp, 0x30
jmp 0x4cab4c
push ebp
call fcn.004a5400
push 0
push 0x66fd1f
push esi
call fcn.004a5400
push 0
push 0x66fd1f
push edi
call fcn.004a5400
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.004c9b80
add esp, 0x18
test eax, eax
je 0x4caf3c
push dword [esp + 0x28]
mov ebp, dword [esp + 0x28]
push ebp
call fcn.004ca0d0
add esp, 8
test eax, eax
jne 0x4caba2
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jmp 0x4caaf4
mov ebx, dword [esp + 0x14]
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
movups xmmword [esp + 0x40], xmm0
test ebx, ebx
je 0x4cae39
mov al, byte [ebx]
test al, al
je 0x4cae39
cmp al, 0xa
je 0x4cae39
push 0xa
push str.Proc_Type:
push ebx
call fcn.005d9a80
add esp, 0xc
test eax, eax
je 0x4cac46
call fcn.004a9920
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66fd1f
call fcn.004a9a20
push 0
push 0x6b
push 9
call fcn.004a9a30
add esp, 0x18
mov ebx, dword [esp + 0x10]
xor edi, edi
mov esi, dword [esp + 0x1c]
push 0
push 0x66fd1f
test esi, esi
je 0x4caed2
push 0
push ebp
call fcn.004a5e20
add esp, 0x10
push 0
push 0x66fd1f
push 0
push dword [esp + 0x20]
call fcn.004a5e20
add esp, 0x10
jmp 0x4caeee
lea edi, [ebx + 0xa]
push 0x6180ec
push edi
call fcn.005dc570
add edi, eax
add esp, 8
cmp byte [edi], 0x34
jne 0x4cac08
mov al, byte [edi + 1]
add edi, 2
cmp al, 0x2c
jne 0x4cac08
push 0x6180ec
push edi
call fcn.005dc570
push 9
add edi, eax
push 0x617f24
push edi
call fcn.005d9a80
add esp, 0x14
test eax, eax
jne 0x4caeb3
add edi, 9
push str.__t_r_n
push edi
call fcn.005dc570
add esp, 8
test eax, eax
je 0x4caeb3
push 0x6180f8
push edi
call fcn.005dc570
add edi, eax
add esp, 8
mov al, byte [edi]
inc edi
cmp al, 0xa
je 0x4cacdc
call fcn.004a9920
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66fd1f
call fcn.004a9a20
push 0
push 0x70
jmp 0x4cabfe
push 9
push str.DEK_Info:
push edi
call fcn.005d9a80
add esp, 0xc
test eax, eax
je 0x4cad0f
call fcn.004a9920
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66fd1f
call fcn.004a9a20
push 0
push 0x69
jmp 0x4cabfe
add edi, 9
push 0x6180ec
push edi
call fcn.005dc570
add edi, eax
push 0x6180fc
push edi
mov esi, edi
call fcn.005d7060
mov bl, byte [edi + eax]
add edi, eax
push esi
mov byte [edi], 0
call fcn.004b0490
push 0x6180ec
mov dword [esp + 0x58], eax
push edi
mov dword [esp + 0x3c], eax
mov byte [edi], bl
call fcn.005dc570
mov ebx, dword [esp + 0x3c]
add edi, eax
add esp, 0x1c
mov esi, edi
test ebx, ebx
jne 0x4cad7b
call fcn.004a9920
push str.PEM_get_EVP_CIPHER_INFO
push ebx
push 0x66fd1f
call fcn.004a9a20
push ebx
push 0x72
jmp 0x4cabfe
push ebx
call fcn.0047bee0
add esp, 4
test eax, eax
jle 0x4cadb1
mov al, byte [edi]
inc edi
cmp al, 0x2c
je 0x4cadde
call fcn.004a9920
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66fd1f
call fcn.004a9a20
push 0
push 0x81
jmp 0x4cabfe
mov edi, esi
test eax, eax
jne 0x4cadde
cmp byte [esi], 0x2c
jne 0x4cadde
call fcn.004a9920
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66fd1f
call fcn.004a9a20
push 0
push 0x82
jmp 0x4cabfe
push ebx
call fcn.0047bee0
mov esi, eax
add esp, 4
test esi, esi
jle 0x4cadfd
push esi
lea eax, [esp + 0x48]
push 0
push eax
call fcn.005c9aa0
add esp, 0xc
lea ebx, [esi + esi]
xor esi, esi
test ebx, ebx
jle 0x4cae39
movzx eax, byte [esi + edi]
push eax
call fcn.004a58a0
mov edx, eax
add esp, 4
test edx, edx
js 0x4cae94
mov eax, esi
test eax, eax
jns 0x4cae22
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 0x4cae06
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.004c95d0
add esp, 0x14
test eax, eax
je 0x4cac0c
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 0x4cae7a
mov dword [eax], ebp
mov edi, 1
test eax, eax
je 0x4cac0e
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x4caedb
jmp 0x4cac2c
call fcn.004a9920
push str.load_iv
push 0
push 0x66fd1f
call fcn.004a9a20
push 0
push 0x67
jmp 0x4cabfe
call fcn.004a9920
push str.PEM_get_EVP_CIPHER_INFO
push 0
push 0x66fd1f
call fcn.004a9a20
push 0
push 0x6a
jmp 0x4cabfe
push ebp
call fcn.004a5400
add esp, 0xc
push 0
push 0x66fd1f
push dword [esp + 0x1c]
call fcn.004a5400
add esp, 0xc
test edi, edi
jne 0x4caf27
push edi
push 0x66fd1f
test esi, esi
je 0x4caf1e
push dword [esp + 0x20]
push ebx
call fcn.004a5e20
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.005c7d0a
add esp, 0x48
ret
push ebx
call fcn.004a5400
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.005c7d0a
add esp, 0x48
ret
call fcn.004a33c0
test eax, eax
mov ecx, 0x7fffff
mov edx, closesocket
cmovs ecx, edx
and ecx, eax
cmp ecx, 0x6c
jne 0x4caf6a
push dword [esp + 0x28]
push str.Expecting:
push 2
call fcn.004a2ea0
add esp, 0xc
mov ecx, dword [esp + 0x54]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005c7d0a
add esp, 0x48
ret