Function at 0x40cd14
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using des via winapi
Encrypt or decrypt via wincrypt

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcac
mov eax, dword [0x708c34]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x4b3]
push esi
mov esi, dword [ebp + 8]
push edi
push 0x3e7
push 0
push eax
mov byte [ebp - 0x4b4], 0
call fcn.00626f50
add esp, 0xc
mov dword [ebp - 0xca8], 0x3e8
push esi
push esi
call fcn.00631510
pop ecx
push eax
push str._n_Decoding_password___d____s
call fcn.00449974
push esi
call fcn.00631510
push eax
lea eax, [ebp - 0x89c]
push esi
push eax
call fcn.006269d0
add esp, 0x1c
xor edi, edi
jmp 0x40cd98
test eax, eax
je 0x40cda6
add al, 0xd
shl al, 4
add al, cl
mov byte [ebp + edi - 0x89c], al
inc edi
movsx ecx, byte [esi + 1]
movsx eax, byte [esi]
add esi, 2
test ecx, ecx
jne 0x40cd85
push edi
push str._nAfter_Decoded_password___d__
call fcn.00449974
lea eax, [ebp - 0x4b4]
push 0x3e8
push eax
call fcn.0041da3e
add esp, 0x10
test eax, eax
jne 0x40cdeb
push str.DecryptPokerStarsPassword
push str._s_Failed_to_generate_local_key
call fcn.00449974
pop ecx
pop ecx
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005fe955
leave
ret
lea eax, [ebp - 0x4b4]
push eax
push str._n_Generating_md5_hash_of__s
call fcn.00449974
pop ecx
pop ecx
lea eax, [ebp - 0xca8]
push eax
lea eax, [ebp - 0xc84]
push eax
lea eax, [ebp - 0x4b4]
push eax
call fcn.00631510
pop ecx
push eax
lea eax, [ebp - 0x4b4]
push eax
push 0x8003
call fcn.0041037c
add esp, 0x14
test eax, eax
jne 0x40ce4d
lea eax, [ebp - 0x4b4]
push eax
push str.DecryptPokerStarsPassword
push str._n_n_s_Failed_to_generate_md5_hash_of__s
call fcn.00449974
add esp, 0xc
jmp 0x40cdda
push dword [ebp - 0xca8]
push str._n_Generated_md5_hash_of_size_d_n
call fcn.00449974
push 8
lea eax, [ebp - 0xc84]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.006269d0
push 8
lea eax, [ebp - 0xc7c]
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.006269d0
push 8
pop ecx
xor eax, eax
mov byte [ebp - 0xc98], cl
mov word [ebp - 0xc96], ax
lea eax, [ebp - 0x68]
push ecx
push eax
lea eax, [ebp - 0xc8c]
mov byte [ebp - 0xc97], 2
push eax
mov dword [ebp - 0xc94], 0x6601
mov dword [ebp - 0xc90], ecx
call fcn.006269d0
add esp, 0x2c
lea eax, [ebp - 0xc9c]
push 0xf0000000
push 1
push 0
push 0
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x40cef3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.DecryptPokerStarsPassword
push str._s:_CryptAcquireContext_failed__Error0x_.8x
jmp 0x40ce43
lea eax, [ebp - 0xca0]
push eax
push 0
push 0
push 0x14
lea eax, [ebp - 0xc98]
push eax
push dword [ebp - 0xc9c]
call dword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
jne 0x40cf43
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.DecryptPokerStarsPassword
push str._s:_CryptImportKey_failed__Error0x_.8x
call fcn.00449974
add esp, 0xc
push 0
push dword [ebp - 0xc9c]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x40cdda
mov esi, dword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
lea eax, [ebp - 0xcc]
push 0
push eax
push 1
push dword [ebp - 0xca0]
call esi
test eax, eax
jne 0x40cf73
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.DecryptPokerStarsPassword
push str._s:_CryptSetKeyParam_failed_to_set_IV__Error0x_.8x
jmp 0x40cf28
push 0
lea eax, [ebp - 0xcac]
mov dword [ebp - 0xcac], 1
push eax
push 4
push dword [ebp - 0xca0]
call esi
test eax, eax
jne 0x40cfa7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.DecryptPokerStarsPassword
push str._s:_CryptSetKeyParam_failed_to_set_mode__Error0x_.8x
jmp 0x40cf28
push edi
push str._n_Decrypting_password_of_size__d
call fcn.00449974
pop ecx
pop ecx
lea eax, [ebp - 0xca4]
mov dword [ebp - 0xca4], edi
push eax
lea eax, [ebp - 0x89c]
push eax
push 0
push 1
push 0
push dword [ebp - 0xca0]
call dword [sym.imp.ADVAPI32.dll_CryptDecrypt]
test eax, eax
jne 0x40cff4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.DecryptPokerStarsPassword
push str._s:_CryptDecrypt_failed__Error0x_.8x
jmp 0x40cf28
push 0
push dword [ebp - 0xc9c]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, dword [ebp - 0xca4]
cmp eax, 0x3e8
jae 0x40d049
push eax
mov byte [ebp + eax - 0x89c], 0
lea eax, [ebp - 0x89c]
push eax
push dword [ebp + 0x10]
push ebx
call fcn.00631360
push ebx
push dword [ebp - 0xca4]
push str.DecryptPokerStarsPassword
push str._s:_Successfully_decrypted_the_password_of_size__d__password_is___s_
call fcn.00449974
xor eax, eax
add esp, 0x20
inc eax
jmp 0x40cddc
call fcn.005fe87a
int3