Function at 0x4a2720
Capabilities:
Encrypt data via sspi

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x60
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x4a3170
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x18]
mov esi, dword fs:[0]
mov dword [ebp - 0x18], esi
mov dword fs:[0], ecx
lea ecx, [ebp - 0x6c]
mov dword [edx + 0xc0], eax
mov dword [ebp - 0x10], 0
call fcn.004a0000
mov eax, dword [ebp - 0x6c]
mov esi, dword [ebp + 8]
cmp eax, 2
jne 0x4a2791
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov edi, dword [ebp + 0xc]
cmp bl, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], ebx
je 0x4a2982
jmp 0x4a29b5
mov edi, dword [ebp + 0xc]
test eax, eax
je 0x4a2810
mov esi, dword [edi + 0x120]
mov eax, dword [edi + 0x110]
xor eax, esi
or eax, dword [edi + 0x114]
jne 0x4a2963
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp eax, ebx
mov dword [ebp - 0x20], ecx
cmovb ebx, eax
lea eax, [edi + 0x118]
add ecx, ebx
mov dword [ebp - 0x3c], ebx
add edx, ecx
mov dword [ebp - 0x24], ecx
sub edx, esi
jbe 0x4a2827
mov edi, dword [edi + 0x11c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], edx
sub edi, esi
cmp edi, edx
jae 0x4a282c
push edx
push esi
push dword [ebp - 0x28]
call fcn.0059c3c0
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov esi, dword [eax + 0x120]
mov eax, dword [ebp - 0x28]
jmp 0x4a2832
mov eax, 0x80090317
xor ebx, ebx
mov byte [ebp - 0x34], 0
mov dword [ebp - 0x30], 0x80090317
jmp 0x4a29b5
mov edx, dword [ebp - 0x20]
jmp 0x4a286e
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov edi, dword [eax]
cmp dword [ebp - 0x38], 2
lea eax, [edi + esi]
jb 0x4a285e
mov ecx, dword [ebp - 0x38]
dec ecx
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov eax, dword [ebp - 0x38]
lea esi, [esi + eax - 1]
add edi, esi
mov eax, edi
mov byte [eax], 0
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x28]
inc esi
mov dword [edi + 0x120], esi
cmp ecx, edx
jb 0x4a2a44
cmp ecx, esi
ja 0x4a2a55
mov eax, dword [eax]
add eax, edx
push ebx
push dword [ebp + 0x14]
push eax
mov esi, edx
call sub.VCRUNTIME140.dll_memcpy
mov edx, esi
add esp, 0xc
mov ecx, dword [edi + 0x120]
cmp ecx, esi
jb 0x4a2a68
mov esi, dword [ebp - 0x24]
mov eax, ecx
sub eax, esi
jb 0x4a2a79
mov ecx, dword [edi + 0x118]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], 7
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 4
add edx, ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], 1
add esi, ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x50], 6
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x2c], eax
lea eax, [edi + 0x128]
push 0
push ecx
push 0
push eax
call dword [sym.imp.secur32.dll_EncryptMessage]
test eax, eax
je 0x4a292c
xor ebx, ebx
mov byte [ebp - 0x34], 0
jmp 0x4a29ac
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp + 0xc]
add eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x54]
cmp dword [edi + 0x120], eax
jb 0x4a2946
mov dword [edi + 0x120], eax
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x114], 0
mov dword [edi + 0x110], 0
mov dword [edi + 0x14c], eax
lea ecx, [ebp - 0x6c]
mov edx, edi
call fcn.004a1e60
movzx ebx, byte [ebp - 0x6c]
cmp bl, 4
jne 0x4a2997
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [edi + 0x14c]
mov byte [esi], 4
mov dword [esi + 4], eax
mov dword [edi + 0xc0], 0
jmp 0x4a2a31
movzx eax, byte [ebp - 0x69]
mov byte [ebp - 0x31], al
movzx eax, word [ebp - 0x6b]
mov word [ebp - 0x33], ax
mov eax, dword [ebp - 0x68]
mov byte [ebp - 0x34], bl
mov dword [ebp - 0x30], eax
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], eax
call fcn.0049b690
cmp al, 0xd
jne 0x4a2a1e
cmp bl, 3
mov byte [esi], 5
mov dword [edi + 0xc0], 0
jb 0x4a2a31
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x28], ecx
push ecx
mov dword [ebp - 0x20], eax
call dword [eax]
add esp, 4
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4a2a0a
push dword [ecx + 8]
push eax
push dword [ebp - 0x28]
call fcn.00407080
add esp, 0xc
push 4
push 0xc
push dword [ebp - 0x24]
call fcn.00407080
add esp, 0xc
mov esi, dword [ebp + 8]
jmp 0x4a2a31
movsd xmm0, qword [ebp - 0x34]
mov dword [edi + 0xc0], 0
movsd qword [esi], xmm0
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, esi
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x60d334
push ecx
push edx
call fcn.005a1030
add esp, 0xc
jmp 0x4a2a88
push 0x60d334
push esi
push dword [ebp - 0x24]
call fcn.005a0fc0
add esp, 0xc
jmp 0x4a2a88
push 0x60d344
push ecx
push edx
call fcn.005a0fc0
add esp, 0xc
jmp 0x4a2a88
push 0x60d354
push ecx
push esi
call fcn.005a0fc0
add esp, 0xc
ud2