Function at 0x44cb40
Capabilities:
Encrypt data using rc4 via winapi
Encrypt or decrypt via wincrypt
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 0x10]
push esi
push edi
push eax
push dword [ebp + 0xc]
mov esi, edx
mov dword [ebp - 0xc], eax
xor edi, edi
push esi
mov dword [ebp - 4], edi
mov dword [ebp + 0x10], edi
mov dword [ebp - 8], edi
call fcn.005ed9e0
add esp, 0xc
lea eax, [ebp - 4]
push 0xf0000000
push 1
push edi
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x44cd08
lea eax, [ebp + 0x10]
push eax
push edi
push edi
push 0x8003
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x44ccc8
push edi
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x44cc7f
lea eax, [ebp - 8]
push eax
push 1
push dword [ebp + 0x10]
push 0x6801
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
test eax, eax
je 0x44cc70
lea eax, [ebp - 0xc]
push eax
push esi
push edi
push 1
push edi
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptDecrypt]
test eax, eax
je 0x44cc1e
mov ecx, dword [ebp + 8]
mov edi, 1
mov eax, dword [ebp - 0xc]
push dword [ebp - 8]
mov dword [ecx], eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push dword [ebp + 0x10]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push 0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov ecx, str.KSVdddddiw57BGT_ap_3__IXcfqrv__5ANZhl.3:_FJLVW__now_1_IWeggq_
call fcn.0045f920
mov ecx, str.KNQSSSSS_bnw___55_GOZZfkw__:_HHQU__cry
mov esi, eax
call fcn.0045f920
add esp, 4
mov edx, esi
mov ecx, eax
call fcn.0044c860
add esp, 4
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push dword [ebp + 0x10]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push 0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov ecx, str.JNPUUUUUVZZ_bioq__28_CJPRTXbglwxx_7:GUchoru_.25:DN_bo_5_DHLMNcmrwwy_
jmp 0x44cc8c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov ecx, str.GJQRRRRRRcps._EOZcdjqst_04BBGVafs___6BFGTX__hhku_4_N__llov_.8_ET
call fcn.0045f920
mov ecx, str.KNQSSSSS_bnw___55_GOZZfkw__:_HHQU__cry
mov esi, eax
call fcn.0045f920
add esp, 4
mov edx, esi
mov ecx, eax
call fcn.0044c860
add esp, 4
push dword [ebp + 0x10]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push 0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov ecx, str.GSWdddddknxx6_IJUmoqw1_KW_bimw_2_CHRWZgr..2AKY_mpyy___FRZdnnqy__
call fcn.0045f920
mov ecx, str.KNQSSSSS_bnw___55_GOZZfkw__:_HHQU__cry
mov esi, eax
call fcn.0045f920
add esp, 4
mov edx, esi
mov ecx, eax
call fcn.0044c860
add esp, 4
push 0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov ecx, str.P_iiiiiix_46_NNYdnu_3IUWYertu___44_JTgquv_4:_BQ_ckq___449_FTks_8EIR_n_8BLMMPVcjq_14_JRWequ
call fcn.0045f920
mov ecx, str.KNQSSSSS_bnw___55_GOZZfkw__:_HHQU__cry
mov esi, eax
call fcn.0045f920
add esp, 4
mov edx, esi
mov ecx, eax
call fcn.0044c860
add esp, 4
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret