Function at 0x1000dd10
Capabilities:
Encrypt data using des via winapi
Encrypt or decrypt via wincrypt

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x134
mov eax, dword [ebp + 8]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x10010a00
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x28]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000cd10
lea ecx, [ebp - 0x34]
call fcn.100045c0
lea ecx, [ebp - 0x28]
call fcn.1000d810
cmp eax, 0x10
jbe 0x1000ded4
lea ecx, [ebp - 0x28]
call fcn.1000cf60
mov ecx, eax
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 8], 8
mov dword [eax + 4], str.Salted__
call fcn.1016a25d
cmp eax, 0
jne 0x1000ded4
mov eax, esp
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x108], ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x104], ecx
call fcn.1000dc00
sub esp, 4
mov ecx, dword [ebp - 0x108]
mov eax, esp
lea edx, [ebp - 0x38]
mov dword [eax], edx
mov dword [eax + 4], 0x10
call fcn.1000dcd0
sub esp, 8
mov ecx, dword [ebp - 0x104]
mov eax, esp
lea edx, [ebp - 0x44]
mov dword [ebp - 0x100], edx
mov dword [eax], edx
call fcn.1000dc00
sub esp, 4
mov ecx, dword [ebp - 0x100]
mov eax, esp
lea edx, [ebp - 0x40]
mov dword [eax], edx
mov dword [eax + 4], 8
call fcn.1000dcd0
sub esp, 8
mov eax, esp
lea ecx, [ebp - 0x4c]
mov dword [eax], ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0xfc], ecx
call fcn.1000d9c0
sub esp, 4
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x10], 1
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
lea edx, [ebp - 0x50]
mov dword [eax], edx
call fcn.1000db10
sub esp, 0x10
jmp 0x1000de6e
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x5c]
mov dword [esp], eax
call fcn.1000dc00
sub esp, 4
lea ecx, [ebp - 0x5c]
lea eax, [ebp - 0x58]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.1000dcd0
sub esp, 8
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x64]
mov dword [esp], eax
call fcn.1000dc00
sub esp, 4
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x28]
lea esi, [ebp - 0x68]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.1000e460
sub esp, 0xc
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x10c], ecx
call fcn.100045c0
lea esi, [ebp - 0x80]
mov ecx, esi
call fcn.100045c0
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], 3
mov eax, esp
mov dword [eax + 0xc], esi
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x34]
mov dword [eax], ecx
mov dword [eax + 0x14], 8
mov dword [eax + 0x10], 8
call fcn.1000cfa0
jmp 0x1000df24
mov dword [ebp - 0x84], 0
lea eax, [ebp - 0x84]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0xf0000000
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
sub esp, 0x14
cmp eax, 0
jne 0x1000dfa2
mov eax, esp
mov dword [eax], str.Failed_to_acquire_cryptographic_context.
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x110], ecx
call fcn.1000ced0
sub esp, 4
mov ecx, dword [ebp - 0x110]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x101e84f0
call fcn.101698b1
jmp 0x1000e3b8
mov byte [ebp - 0xa4], 8
mov byte [ebp - 0xa3], 2
mov word [ebp - 0xa2], 0
mov dword [ebp - 0xa0], 0x6601
mov dword [ebp - 0x9c], 8
lea ecx, [ebp - 0x74]
call fcn.1000cf60
mov ecx, dword [eax]
mov dword [ebp - 0x98], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xa8], 0
mov edx, dword [ebp - 0x84]
lea ecx, [ebp - 0xa4]
xor eax, eax
lea eax, [ebp - 0xa8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x14
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
call dword [sym.imp.ADVAPI32.dll_CryptImportKey]
sub esp, 0x18
cmp eax, 0
jne 0x1000e08b
mov ecx, dword [ebp - 0x84]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0
mov eax, dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
call eax
sub esp, 8
mov eax, esp
mov dword [eax], str.Failed_to_import_key.
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x114], ecx
call fcn.1000ced0
sub esp, 4
mov ecx, dword [ebp - 0x114]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x101e84f0
call fcn.101698b1
jmp 0x1000e3b8
lea ecx, [ebp - 0x80]
call fcn.1000cf60
mov ecx, dword [ebp - 0xa8]
xor edx, edx
mov dword [esp], ecx
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call dword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
sub esp, 0x10
cmp eax, 0
jne 0x1000e12a
mov ecx, dword [ebp - 0xa8]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
call eax
sub esp, 4
mov ecx, dword [ebp - 0x84]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0
mov eax, dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
call eax
sub esp, 8
mov eax, esp
mov dword [eax], str.Failed_to_set_IV.
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x118], ecx
call fcn.1000ced0
sub esp, 4
mov ecx, dword [ebp - 0x118]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x101e84f0
call fcn.101698b1
jmp 0x1000e3b8
mov dword [ebp - 0xc4], 1
mov ecx, dword [ebp - 0xa8]
lea eax, [ebp - 0xc4]
xor edx, edx
mov dword [esp], ecx
mov dword [esp + 4], 4
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call dword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
sub esp, 0x10
cmp eax, 0
jne 0x1000e1d1
mov ecx, dword [ebp - 0xa8]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
call eax
sub esp, 4
mov ecx, dword [ebp - 0x84]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0
mov eax, dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
call eax
sub esp, 8
mov eax, esp
mov dword [eax], str.Failed_to_set_cipher_mode.
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x11c], ecx
call fcn.1000ced0
sub esp, 4
mov ecx, dword [ebp - 0x11c]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x101e84f0
call fcn.101698b1
jmp 0x1000e3b8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x120], ecx
call fcn.1000d810
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0xd4], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0xe0]
call fcn.1000e530
sub esp, 4
jmp 0x1000e202
lea ecx, [ebp - 0xe0]
call fcn.1000cf60
mov ecx, eax
mov edx, dword [ebp - 0xa8]
xor eax, eax
lea eax, [ebp - 0xd4]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call dword [sym.imp.ADVAPI32.dll_CryptDecrypt]
sub esp, 0x18
cmp eax, 0
jne 0x1000e2bf
mov ecx, dword [ebp - 0xa8]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
call eax
sub esp, 4
mov ecx, dword [ebp - 0x84]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0
mov eax, dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
call eax
sub esp, 8
mov eax, esp
mov dword [eax], str.Failed_to_decrypt_data.
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x124], ecx
call fcn.1000ced0
sub esp, 4
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x10], 4
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x101e84f0
call fcn.101698b1
jmp 0x1000e3b8
mov ecx, dword [ebp - 0xa8]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
call eax
sub esp, 4
mov ecx, dword [ebp - 0x84]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0
mov eax, dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
call eax
sub esp, 8
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x10], 4
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0xe0]
call fcn.1000dae0
sub esp, 4
jmp 0x1000e312
mov byte [ebp - 0xed], 0
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x128], ecx
call fcn.1000d810
mov ecx, dword [ebp - 0x128]
mov esi, eax
call fcn.1000cf60
mov ecx, dword [ebp - 0xf8]
mov edx, eax
mov eax, esp
mov dword [eax + 4], esi
mov dword [eax], edx
call fcn.10006220
sub esp, 8
jmp 0x1000e353
mov byte [ebp - 0xed], 1
test byte [ebp - 0xed], 1
jne 0x1000e372
mov ecx, dword [ebp - 0xf8]
call fcn.10006b40
lea ecx, [ebp - 0xe0]
call fcn.1000cf80
lea ecx, [ebp - 0x80]
call fcn.1000cf80
lea ecx, [ebp - 0x74]
call fcn.1000cf80
lea ecx, [ebp - 0x34]
call fcn.1000cf80
lea ecx, [ebp - 0x28]
call fcn.1000cf80
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x134
pop esi
pop edi
pop ebx
pop ebp
ret
nop dword [eax + eax]
push ebp
sub esp, 0x18
add ebp, 0xc
lea ecx, [ebp - 0xe0]
call fcn.1000cf80
add esp, 0x18
pop ebp
ret