Function at 0x402922
Capabilities:
Create new key via cryptacquirecontext
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push 0xdc
mov eax, 0x56546c
call fcn.0053d3cf
mov eax, dword [ebp + 0xc]
mov edi, ecx
xor esi, esi
mov ebx, edx
mov dword [ebp - 0xd4], eax
cmp edi, esi
je 0x402d71
cmp ebx, esi
je 0x402d71
cmp dword [ebp + 8], esi
je 0x402d71
cmp eax, esi
je 0x402d71
push 0xf0000000
push 0x18
push esi
push esi
lea eax, [ebp - 0xcc]
push eax
mov byte [ebp - 0xbd], 0
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xc4], esi
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x402a53
push 0x2f
mov esi, str...COMMONHash256.cpp
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x4029af
push 0x2f
jmp 0x4029bf
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x4029ca
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x4029cc
mov eax, esi
push 4
push 0x34
push eax
lea esi, [ebp - 0x6c]
call fcn.00404b6f
mov esi, eax
and dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._Error_in_AcquireContext_0x_08x__n
push 0
mov ecx, esi
call fcn.00404c4d
mov esi, eax
call fcn.0040279b
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x6c]
call fcn.00404bdb
xor esi, esi
cmp dword [ebp - 0xc4], esi
je 0x402a1f
push dword [ebp - 0xc4]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
cmp dword [ebp - 0xd0], esi
je 0x402a33
push dword [ebp - 0xd0]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
cmp dword [ebp - 0xcc], esi
je 0x402a48
push esi
push dword [ebp - 0xcc]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov al, byte [ebp - 0xbd]
jmp 0x402d73
push 0x1c
mov dword [ebp - 0xc8], esi
mov dword [ebp - 4], 1
call fcn.00437eee
pop ecx
mov esi, eax
push 0x10
pop eax
push eax
mov dword [esi + 8], eax
lea eax, [esi + 0xc]
push edi
push eax
mov dword [ebp - 0xc8], esi
mov dword [esi], 0x208
mov dword [esi + 4], 0x6602
call fcn.005380c0
add esp, 0xc
lea eax, [ebp - 0xd0]
push eax
push 0x100
push 0
push 0x1c
push esi
push dword [ebp - 0xcc]
call dword [sym.imp.ADVAPI32.dll_CryptImportKey]
push esi
mov edi, eax
call fcn.00437ef9
xor esi, esi
pop ecx
cmp edi, esi
jne 0x402b27
push 0x2f
mov esi, str...COMMONHash256.cpp
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x402ad4
push 0x2f
jmp 0x402ae4
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x402aef
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x402af1
mov eax, esi
push 4
push 0x58
push eax
lea esi, [ebp - 0x6c]
call fcn.00404b6f
push 0
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.00404c4d
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_in_CryptImportKey_0x_08x__n
call fcn.0040279b
mov byte [ebp - 4], 1
jmp 0x4029ff
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc4]
push eax
push esi
push dword [ebp - 0xd0]
push 0x8009
push dword [ebp - 0xcc]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x402ba7
push 0x2f
mov esi, str...COMMONHash256.cpp
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x402b65
push 0x2f
jmp 0x402b75
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x402b80
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x402b82
mov eax, esi
push 4
pop edi
push edi
push 0x66
push eax
lea esi, [ebp - 0x6c]
call fcn.00404b6f
mov esi, eax
mov dword [ebp - 4], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_in_CryptCreateHash_0x_08x__n
jmp 0x4029eb
push 0x14
lea eax, [ebp - 0xe8]
push esi
push eax
call fcn.00538a20
add esp, 0xc
push esi
lea eax, [ebp - 0xe8]
push eax
push 5
pop edi
push edi
push dword [ebp - 0xc4]
mov dword [ebp - 0xe8], 0x800c
call dword [sym.imp.ADVAPI32.dll_CryptSetHashParam]
test eax, eax
jne 0x402c36
push 0x2f
mov esi, str...COMMONHash256.cpp
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x402bf6
push 0x2f
jmp 0x402c06
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x402c11
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x402c13
mov eax, esi
push 4
push 0x6f
push eax
lea esi, [ebp - 0x6c]
call fcn.00404b6f
mov esi, eax
mov dword [ebp - 4], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_in_CryptSetHashParam_0x_08x__n
jmp 0x4029eb
push esi
push dword [ebp + 8]
push ebx
push dword [ebp - 0xc4]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x402ca6
push 0x2f
mov esi, str...COMMONHash256.cpp
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x402c62
push 0x2f
jmp 0x402c72
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x402c7d
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x402c7f
mov eax, esi
push 4
push 0x74
push eax
lea esi, [ebp - 0x6c]
call fcn.00404b6f
mov esi, eax
mov dword [ebp - 4], 6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_in_CryptHashData_0x_08x__n
jmp 0x4029eb
push esi
lea eax, [ebp - 0xc8]
push eax
push dword [ebp - 0xd4]
mov dword [ebp - 0xc8], 0x20
push 2
push dword [ebp - 0xc4]
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x402d4a
push 0x2f
mov esi, str...COMMONHash256.cpp
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x402ce7
push 0x2f
jmp 0x402cf7
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
test eax, eax
je 0x402d02
push 0x5c
push esi
call fcn.00538be0
pop ecx
pop ecx
inc eax
jmp 0x402d04
mov eax, esi
push 4
push 0x7e
push eax
lea esi, [ebp - 0xbc]
call fcn.00404b6f
mov esi, eax
mov dword [ebp - 4], 7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_in_CryptGetHashParam_0x_08x__n
push 0
mov ecx, esi
call fcn.00404c4d
mov esi, eax
call fcn.0040279b
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0xbc]
jmp 0x402a04
mov byte [ebp - 0xbd], 1
jmp 0x402a09
xor al, al
call fcn.0053d42b
ret 8