Function at 0x7c0a50
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using des via winapi
Encrypt or decrypt via wincrypt
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x674
mov eax, dword [0x830e54]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
mov byte [ebp - 0x18], 0xc8
mov byte [ebp - 0x17], 5
mov byte [ebp - 0x16], 0x4e
mov byte [ebp - 0x15], 0xe8
mov byte [ebp - 0x14], 9
mov byte [ebp - 0x13], 6
mov byte [ebp - 0x12], 0
mov byte [ebp - 0x11], 4
mov byte [ebp - 0x24], 0
mov byte [ebp - 0x23], 1
mov byte [ebp - 0x22], 2
mov byte [ebp - 0x21], 3
mov byte [ebp - 0x20], 4
mov byte [ebp - 0x1f], 5
mov byte [ebp - 0x1e], 6
mov byte [ebp - 0x1d], 7
mov byte [ebp - 0x1c], 8
mov byte [ebp - 0x1b], 9
mov byte [ebp - 0x638], 8
mov byte [ebp - 0x637], 2
xor eax, eax
mov word [ebp - 0x636], ax
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0x6601
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 8
push 8
push 0
mov ecx, 1
imul edx, ecx, 0
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.007c3430
add esp, 0xc
push 8
lea ecx, [ebp - 0x18]
push ecx
lea edx, reloc.ws2_32.dll_WSASetLastError
push edx
call fcn.007c2eb0
add esp, 0xc
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 1
mov dword [ebp - 0x660], 0x831960
push 0x801000
mov eax, dword [ebp + 8]
push eax
call fcn.007c3590
add esp, 8
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.007c7760
add esp, 4
mov esi, eax
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push edx
call fcn.007c7760
add esp, 4
sub esi, eax
add esi, 7
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], esi
push 0x200
push 0
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.007c3430
add esp, 0xc
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push ecx
mov edx, dword [ebp + 8]
push edx
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.007c2eb0
add esp, 0xc
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
lea ecx, reloc.ws2_32.dll_WSASetLastError
push ecx
call fcn.007c7760
add esp, 4
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
lea edx, reloc.ws2_32.dll_WSASetLastError
push edx
call fcn.007c7760
add esp, 4
mov esi, eax
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.007c7760
add esp, 4
xor edx, edx
mov ecx, 8
div ecx
sub esi, edx
add esi, 8
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], esi
push 0x200
push 0
lea edx, reloc.ws2_32.dll_WSASetLastError
push edx
call fcn.007c3430
add esp, 0xc
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
jmp 0x7c0c2d
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
add eax, 1
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
cmp ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
jae 0x7c0c57
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov cl, byte [ebp + eax - 0x624]
mov byte [ebp + edx - 0x424], cl
jmp 0x7c0c1e
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
push 0xf0000008
push 0x18
push 0x801008
push 0
lea edx, reloc.ws2_32.dll_WSASetLastError
push edx
call dword [sym.imp.advapi32.dll_CryptAcquireContextA]
test eax, eax
jne 0x7c0ca0
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push eax
push 0x801040
call fcn.007c1530
add esp, 8
lea ecx, reloc.ws2_32.dll_WSASetLastError
push ecx
push 0
push 0
push 0x14
lea edx, reloc.ws2_32.dll_WSASetLastError
push edx
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push eax
call dword [sym.imp.advapi32.dll_CryptImportKey]
test eax, eax
jne 0x7c0ce5
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push ecx
push 0x801064
call fcn.007c1530
add esp, 8
push 0
lea edx, reloc.ws2_32.dll_WSASetLastError
push edx
push 4
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push eax
call dword [sym.imp.advapi32.dll_CryptSetKeyParam]
test eax, eax
jne 0x7c0d21
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push ecx
push 0x801084
call fcn.007c1530
add esp, 8
push 0
lea edx, [ebp - 0x24]
push edx
push 1
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push eax
call dword [sym.imp.advapi32.dll_CryptSetKeyParam]
test eax, eax
jne 0x7c0d5a
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push ecx
push 0x8010ac
call fcn.007c1530
add esp, 8
push 0x200
lea edx, reloc.ws2_32.dll_WSASetLastError
push edx
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
push 0
push 1
push 0
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push ecx
call dword [sym.imp.advapi32.dll_CryptEncrypt]
test eax, eax
jne 0x7c0da4
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push edx
push 0x8010d4
call fcn.007c1530
add esp, 8
push 0x200
push 0
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.007c3430
add esp, 0xc
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
jmp 0x7c0ddf
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
add ecx, 1
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], ecx
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
cmp edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
jge 0x7c0e63
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
movzx ecx, byte [ebp + eax - 0x424]
cmp ecx, 0x80
jl 0x7c0e13
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov byte [ebp + edx - 0x224], 0x3f
jmp 0x7c0e4f
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
movzx ecx, byte [ebp + eax - 0x424]
test ecx, ecx
jne 0x7c0e35
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], edx
jmp 0x7c0e63
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov dl, byte [ebp + ecx - 0x424]
mov byte [ebp + eax - 0x224], dl
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
add eax, 1
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
jmp 0x7c0dd0
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ecx
mov word [ebp - 8], cx
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
sub edx, 0xa
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], edx
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
sub eax, 1
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 9
jmp 0x7c0ea8
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
sub ecx, 1
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], ecx
cmp dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
jl 0x7c0fa1
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
movsx eax, byte [ebp + edx - 0x224]
cmp eax, 0xd
jne 0x7c0f14
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov byte [ebp + ecx - 0x13], 0x56
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov byte [ebp + edx - 0x12], 0x42
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov byte [ebp + eax - 0x11], 0x43
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov byte [ebp + ecx - 0x10], 0x52
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
sub edx, 3
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], edx
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
sub eax, 1
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
jmp 0x7c0e99
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
movsx edx, byte [ebp + ecx - 0x224]
cmp edx, 0xa
jne 0x7c0f76
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov byte [ebp + eax - 0x13], 0x56
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov byte [ebp + ecx - 0x12], 0x42
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov byte [ebp + edx - 0x11], 0x4c
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov byte [ebp + eax - 0x10], 0x46
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
sub ecx, 3
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], ecx
mov edx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
sub edx, 1
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], edx
jmp 0x7c0e99
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov ecx, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
mov dl, byte [ebp + ecx - 0x224]
mov byte [ebp + eax - 0x10], dl
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
sub eax, 1
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
jmp 0x7c0e99
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.007c7760
add esp, 4
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.007c14f0
add esp, 8
push 0x8010f0
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.007c14f0
add esp, 8
mov edx, dword [ebp + 0xc]
push edx
push 0xa
push 1
lea eax, [ebp - 0x10]
push eax
call fcn.007c7ef5
add esp, 0x10
push 0x8010f8
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.007c14f0
add esp, 8
mov dword [ebp + 8], 0x831961
push 0x10
push 0x18
push 0x8010fc
push 0
lea edx, reloc.ws2_32.dll_WSASetLastError
push edx
call dword [sym.imp.advapi32.dll_CryptAcquireContextA]
mov eax, dword [ebp - reloc.ws2_32.dll_WSASetLastError]
push eax
call dword [sym.imp.advapi32.dll_CryptDestroyKey]
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
push 0x200
push 0
mov ecx, 1
imul edx, ecx, 0
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.007c3430
add esp, 0xc
push 0x200
push 0
mov ecx, 1
imul edx, ecx, 0
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.007c3430
add esp, 0xc
push 0xa
push 0
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0x10]
push eax
call fcn.007c3430
add esp, 0xc
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
mov dword [ebp - reloc.ws2_32.dll_WSASetLastError], 0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.007c1e9d
mov esp, ebp
pop ebp
ret