Function at 0x66ace0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x75aa5c]
xor eax, ebp
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x430], ecx
cmp dword [ebp + 8], 0
je 0x66ad11
cmp dword [ebp + 0xc], 0
je 0x66ad11
mov eax, dword [ebp - 0x430]
cmp dword [eax + 0x44], 0
jne 0x66ad18
xor eax, eax
jmp 0x66af7d
mov ecx, dword [ebp - 0x430]
mov ecx, dword [ecx + 0x44]
call fcn.0064c520
movzx edx, al
test edx, edx
jne 0x66ad46
push 0x7176d8
push str._s___Failed_to_intialize_SHA512_algorithm._n
call fcn.005b13f9
add esp, 8
xor eax, eax
jmp 0x66af7d
mov dword [ebp - 0x10], 0
push 0x717738
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x10]
push ecx
call fcn.005b1600
add esp, 0xc
cmp dword [ebp - 0x10], 0
jne 0x66ad85
mov edx, dword [ebp + 8]
push edx
push 0x717740
push str._s___Failed_to_open_file__s.
call fcn.005b13f9
add esp, 0xc
xor eax, eax
jmp 0x66af7d
mov byte [ebp - 0x418], 0
push 0x3ff
push 0
lea eax, [ebp - 0x417]
push eax
call fcn.005a7100
add esp, 0xc
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.0068fcc9
add esp, 4
test eax, eax
jne 0x66ae18
mov edx, dword [ebp - 0x10]
push edx
push 0x400
push 1
lea eax, [ebp - 0x418]
push eax
call fcn.005b218b
add esp, 0x10
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
push ecx
lea edx, [ebp - 0x418]
push edx
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax + 0x44]
call fcn.0064c5a0
test eax, eax
je 0x66ae0d
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.005ab232
add esp, 4
xor eax, eax
jmp 0x66af7d
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
jmp 0x66adb0
mov eax, dword [ebp - 0x10]
push eax
call fcn.005ab232
add esp, 4
mov dword [ebp - 0x14], 0
push 0x400
push 0
lea ecx, [ebp - 0x418]
push ecx
call fcn.005a7100
add esp, 0xc
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0x430]
mov ecx, dword [ecx + 0x44]
call fcn.0064c5f0
cmp dword [ebp - 0x14], 0
jg 0x66ae67
xor eax, eax
jmp 0x66af7d
mov edx, dword [ebp - 0x14]
lea eax, [edx + edx + 1]
push eax
call fcn.005a4688
add esp, 4
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x14]
lea eax, [edx + edx + 1]
push eax
push 0
mov ecx, dword [ebp - 4]
push ecx
call fcn.005a7100
add esp, 0xc
mov dword [ebp - 0x420], 0
jmp 0x66aeb7
mov edx, dword [ebp - 0x420]
add edx, 1
mov dword [ebp - 0x420], edx
mov eax, dword [ebp - 0x420]
cmp eax, dword [ebp - 0x14]
jge 0x66af24
mov byte [ebp - 0x424], 0
xor ecx, ecx
mov word [ebp - 0x423], cx
mov byte [ebp - 0x421], cl
mov edx, dword [ebp - 0x420]
movzx eax, byte [ebp + edx - 0x418]
push eax
push str._02X
push 4
lea ecx, [ebp - 0x424]
push ecx
call fcn.005acfcb
add esp, 0x10
mov edx, dword [ebp - 0x420]
mov eax, dword [ebp - 4]
mov cl, byte [ebp - 0x424]
mov byte [eax + edx*2], cl
mov edx, dword [ebp - 0x420]
mov eax, dword [ebp - 4]
mov cl, byte [ebp - 0x423]
mov byte [eax + edx*2 + 1], cl
jmp 0x66aea8
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.005d2143
add esp, 8
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 0
je 0x66af59
mov ecx, dword [ebp + 8]
push ecx
push 0x717788
push str._s___File:__s_is_not_correct:_check_failed._n
call fcn.005b13f9
add esp, 0xc
mov edx, dword [ebp - 4]
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x42c]
push eax
call fcn.005a7656
add esp, 4
xor eax, eax
cmp dword [ebp - 0x41c], 0
sete al
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.005a6f18
mov esp, ebp
pop ebp
ret 8