Function at 0x44c940
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 ebx
push esi
push edi
push eax
push dword [ebp + 0xc]
mov ebx, edx
mov dword [ebp - 0xc], eax
xor edi, edi
push ebx
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 0x44cb01
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 0x44cac4
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 0x44ca7e
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 0x44ca71
mov esi, dword [ebp + 8]
lea eax, [ebp - 0xc]
push dword [esi]
push eax
push ebx
push edi
push 1
push edi
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptEncrypt]
test eax, eax
je 0x44ca22
mov eax, dword [ebp - 0xc]
mov edi, 1
push dword [ebp - 8]
mov dword [esi], 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
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, str.HNNPPPPPYdhqs__8ADKVao__:HWY_coqv__8EOYhjrz____NT__iiqq_12AHRYakopv_2
call fcn.0045f920
mov ecx, str.KNQSSSSS_bnw___55_GOZZfkw__:_HHQU__cry
mov esi, eax
call fcn.0045f920
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
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, str.KZ_nnnnnr_1_JOVWYZ_ijqx_7_OOY_bks___55_JWXbmsxyz__7BQZ_hlt7_BIIT_
jmp 0x44ca89
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, str.BKNRRRRR_itu..59CMQT_dnx__0_MSkl458CRXbmz_:__ITYdnuw__08__FN
push eax
call fcn.0045f920
mov ecx, str.KNQSSSSS_bnw___55_GOZZfkw__:_HHQU__cry
mov esi, eax
call fcn.0045f920
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
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, str.HNOPPPPPTkq_59__FFS_bdnt___04_AAAHMRUUZannpu2:HKXZhjw_2288:__FFMYah
call fcn.0045f920
mov ecx, str.KNQSSSSS_bnw___55_GOZZfkw__:_HHQU__cry
mov esi, eax
call fcn.0045f920
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
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, str.CRUYYYYYgt_8__BDEPV_bnny_3AKKWcr3:HIU_jr__068_BBGMYaddmyz__2599_FNVX_ltv___5AIKRWju__.11_FKOZiq__
call fcn.0045f920
mov ecx, str.KNQSSSSS_bnw___55_GOZZfkw__:_HHQU__cry
mov esi, eax
call fcn.0045f920
mov edx, esi
mov ecx, eax
call fcn.0044c860
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret