Function at 0x1000f6e8
Capabilities:
Create new key via cryptacquirecontext
Encrypt or decrypt via wincrypt
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
sub esp, 0x10
mov eax, dword [esp + 0x18]
push ebx
push ebp
push esi
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push edi
mov edi, str.Hello_World
push edi
xor ebx, ebx
push ebx
mov dword [esp + 0x1c], eax
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
mov ebp, dword [sym.imp.GDI32.dll_SelectObject]
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push ebx
push 1
push ebx
push ebx
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x1000f7ef
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push 8
push 1
push ebx
push ebx
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
lea eax, [esp + 0x18]
push eax
push ebx
push ebx
push 0x8003
push dword [esp + 0x20]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
push ebx
push dword [esp + 0x34]
push dword [esp + 0x34]
push dword [esp + 0x24]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
lea eax, [esp + 0x1c]
push eax
push ebx
push dword [esp + 0x20]
push 0x6602
push dword [esp + 0x20]
call dword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push ebx
lea eax, [esp + 0x18]
push eax
push ebx
push ebx
push 1
push ebx
push dword [esp + 0x34]
call dword [sym.imp.ADVAPI32.dll_CryptEncrypt]
push dword [esp + 0x14]
call fcn.1000994b
pop ecx
mov ecx, dword [esp + 0x34]
push edi
push ebx
mov dword [ecx], eax
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push dword [esp + 0x28]
mov eax, dword [esp + 0x38]
push dword [esp + 0x28]
push dword [eax]
call fcn.10010240
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
add esp, 0xc
push dword [esp + 0x14]
mov dword [eax], ecx
push eax
mov eax, dword [esp + 0x3c]
push dword [eax]
push ebx
push 1
push ebx
push dword [esp + 0x34]
call dword [sym.imp.ADVAPI32.dll_CryptEncrypt]
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push ebx
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
push edi
push ebx
call esi
push ebx
push ebx
call ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret