Function at 0x45d5f0
Capabilities:
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x350
mov eax, dword [0x538a60]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x53ebbc
push 0xa
push dword [0x53ebf0]
mov ebx, edx
mov edi, ecx
call dword [sym.imp.PGPsdk.dll_PGPNewHashContext]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x45d794
lea eax, [ebp - 0x34c]
push eax
push dword [0x53ebbc]
call dword [sym.imp.PGPsdk.dll_PGPGetHashSize]
mov esi, eax
add esp, 8
test esi, esi
jne 0x45d7ce
cmp dword [ebp - 0x34c], 0x40
ja 0x45d808
push eax
push 0x80
push 3
push eax
push 1
push closesocket
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x350], esi
cmp esi, 0xffffffff
je 0x45d827
push 0x4000
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
test edi, edi
je 0x45d834
mov ecx, 0x4000
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x45d6a2
jmp 0x45d6b0
push 0
lea eax, [ebp - 0x348]
push eax
push 0x4000
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x45d704
push dword [ebp - 0x348]
push edi
push dword [0x53ebbc]
call dword [sym.imp.PGPsdk.dll_PGPContinueHash]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x45d848
mov eax, dword [ebp - 0x348]
add dword [0x560d60], eax
adc dword [0x560d64], esi
mov esi, dword [ebp - 0x350]
jmp 0x45d70a
mov eax, dword [ebp - 0x348]
cmp eax, 0x4000
je 0x45d6b0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea eax, [ebp - 0x44]
push eax
push dword [0x53ebbc]
call dword [sym.imp.PGPsdk.dll_PGPFinalizeHash]
add esp, 8
mov ecx, eax
call fcn.00455680
mov esi, dword [ebp - 0x34c]
xor edx, edx
test esi, esi
je 0x45d764
lea eax, [ebp - 0x44]
sub ebx, eax
lea ecx, [ebp - 0x44]
add ecx, edx
mov al, byte [ecx]
cmp al, byte [ebx + ecx]
jne 0x45d78d
inc edx
cmp edx, esi
jb 0x45d753
mov eax, dword [0x53ebbc]
pop edi
pop esi
pop ebx
test eax, eax
je 0x45d77a
push eax
call dword [sym.imp.PGPsdk.dll_PGPFreeHashContext]
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
call fcn.004bae74
mov esp, ebp
pop ebp
ret
push str.hash_mismatch__exit_n
jmp 0x45d80d
lea eax, [ebp - 0x144]
push eax
push 0x100
push esi
call dword [sym.imp.PGPsdk.dll_PGPGetErrorString]
lea eax, [ebp - 0x144]
push eax
push esi
push str.PGP_Error:_Failed_with__d___s_n
call fcn.004bc829
add esp, 0x18
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call fcn.004bcc8d
lea eax, [ebp - 0x344]
push eax
push 0x100
push esi
call dword [sym.imp.PGPsdk.dll_PGPGetErrorString]
lea eax, [ebp - 0x344]
push eax
push esi
push str.PGP_Error:_Failed_with__d___s_n
call fcn.004bc829
add esp, 0x18
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call fcn.004bcc8d
push str.verifyHash___Buffer_to_small_n
call fcn.004bc829
add esp, 4
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call fcn.004bcc8d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 1
call fcn.004bcc8d
push str.Failed_to_allocate_memory_on_process_heap_n
call fcn.004bc829
add esp, 4
push 1
call fcn.004bcc8d
lea eax, [ebp - 0x244]
push eax
push 0x100
push esi
call dword [sym.imp.PGPsdk.dll_PGPGetErrorString]
lea eax, [ebp - 0x244]
push eax
push esi
push str.PGP_Error:_Failed_with__d___s_n
call fcn.004bc829
add esp, 0x18
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call fcn.004bcc8d
int3