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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x358
mov eax, dword [0x538a60]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x53ebbc
push 1
push dword [0x53ebf0]
mov dword [ebp - 0x354], edx
mov edi, ecx
call dword [sym.imp.PGPsdk.dll_PGPNewHashContext]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x45d525
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 0x45d55f
cmp dword [ebp - 0x34c], 0x40
jbe 0x45d309
pop edi
lea eax, [esi + 1]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bae74
mov esp, ebp
pop ebp
ret
push ebx
xor ebx, ebx
mov ecx, str.AMD64
mov dword [ebp - 0x350], ebx
mov eax, 0x560e08
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45d346
test dx, dx
je 0x45d342
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45d346
add eax, 4
add ecx, 4
test dx, dx
jne 0x45d320
xor eax, eax
jmp 0x45d34b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x45d39c
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x14
jle 0x45d39c
push 0x14
push str.C:windows_system32_
push edi
call fcn.004bcca1
add esp, 0xc
test eax, eax
jne 0x45d39c
mov ecx, 0x2000
call fcn.00455630
lea ecx, [edi + 0x28]
mov ebx, eax
push ecx
push str.C:windows_sysnative_s
push 0xffffffffffffffff
push 0x1000
push ebx
mov dword [ebp - 0x350], ebx
call fcn.004bb4ef
add esp, 0x14
mov edi, ebx
push 0
push 0x80
push 3
push 0
push 1
push closesocket
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x358], esi
cmp esi, 0xffffffff
jne 0x45d3f2
call dword [sym.imp.KERNEL32.dll_GetLastError]
test ebx, ebx
je 0x45d3dc
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop ebx
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bae74
mov esp, ebp
pop ebp
ret
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 0x45d599
mov ecx, 0x4000
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x45d415
mov edi, edi
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 0x45d474
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 0x45d5ad
mov eax, dword [ebp - 0x348]
add dword [0x560d60], eax
adc dword [0x560d64], esi
mov esi, dword [ebp - 0x358]
jmp 0x45d47a
mov eax, dword [ebp - 0x348]
cmp eax, 0x4000
je 0x45d420
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
push eax
call edi
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
xor esi, esi
cmp dword [ebp - 0x34c], esi
jbe 0x45d4ef
mov ebx, dword [ebp - 0x354]
movzx eax, byte [ebp + esi - 0x44]
push eax
push ebx
push str._s_02x
push 0xffffffffffffffff
push 0x1000
push ebx
call fcn.004bb4ef
inc esi
add esp, 0x18
cmp esi, dword [ebp - 0x34c]
jb 0x45d4c4
mov ebx, dword [ebp - 0x350]
mov eax, dword [0x53ebbc]
test eax, eax
je 0x45d502
push eax
call dword [sym.imp.PGPsdk.dll_PGPFreeHashContext]
add esp, 4
test ebx, ebx
je 0x45d512
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call edi
mov ecx, dword [ebp - 4]
xor eax, eax
pop ebx
pop edi
xor ecx, ebp
pop esi
call fcn.004bae74
mov esp, ebp
pop ebp
ret
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
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
push str.Failed_to_allocate_memory_on_process_heap_n
call fcn.004bc829
add esp, 4
push 1
call fcn.004bcc8d
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
int3