Function at 0x42a814
Capabilities:
Read file on windows

Disassembly:
push 0x60
mov eax, 0x5ae84d
call fcn.0056beab
mov eax, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x44], eax
xor edi, edi
mov dword [ebp - 4], edi
lea esi, [ebx + 8]
mov dword [ebx], vtable.GFE::Backend::BlobStorage::BlobStorage.0
mov dword [ebx + 4], edi
mov dword [ebp - 0x60], esi
mov dword [esi + 4], edi
call fcn.0042ba6f
mov dword [esi], eax
mov dword [eax], eax
mov esi, dword [esi]
mov dword [esi + 4], esi
mov byte [ebp - 4], 1
mov ax, word [ebp - 0x42]
lea esi, [ebx + 0x14]
mov word [esi], ax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov dword [esi + 8], edi
call fcn.0042bb70
mov dword [esi + 4], eax
mov dword [eax], eax
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], edi
mov byte [ebp - 4], 3
fld1
push 8
fstp dword [esi + 0x28]
pop edi
call fcn.004bdc6b
mov byte [ebp - 4], 4
push dword [ebp - 0x44]
add ebx, 0x40
call fcn.0042a688
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x50]
xor edi, edi
cmp dword [esi + 0x48], 4
mov dword [ebp - 0x5c], edi
jae 0x42a8bd
push esi
call fcn.0042b529
jmp 0x42aacb
push dword [ebx]
lea eax, [ebp - 0x5c]
push 1
push 4
push eax
call fcn.0055e976
add esp, 0x10
cmp eax, 1
je 0x42a8f7
push str.Cannot_read_from_the_file
lea esi, [ebp - 0x2c]
call fcn.004037ae
mov byte [ebp - 4], 6
push 0x248
mov ecx, str.srcBlobStorage.cpp
lea eax, [ebp - 0x2c]
call fcn.0040277f
cmp dword [ebp - 0x5c], 1
jne 0x42a8b2
mov eax, dword [esi + 0x48]
add eax, 0xfffffffc
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edi
cmp edi, edi
jl 0x42aa36
jg 0x42a921
cmp eax, 0xc
jb 0x42aa36
jmp 0x42a921
mov esi, dword [ebp - 0x50]
push dword [ebx]
lea eax, [ebp - 0x40]
push 1
push 0xc
push eax
call fcn.0055e976
add esp, 0x10
cmp eax, 1
je 0x42a954
push dword [ebx]
call fcn.0055e04c
pop ecx
mov edi, eax
mov esi, ebx
call fcn.0042a7f9
test al, al
je 0x42aa66
mov esi, dword [ebp - 0x50]
add dword [ebp - 0x4c], 0xfffffff4
push dword [ebx]
adc dword [ebp - 0x48], 0xffffffff
call fcn.0055e04c
xor edx, edx
pop ecx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x48], edx
jl 0x42aa9f
jg 0x42a980
cmp dword [ebp - 0x4c], ecx
jb 0x42aa9f
xor edi, edi
push edi
add eax, ecx
push edi
push eax
push dword [ebx]
call fcn.0055e3f2
add esp, 0x10
test eax, eax
jne 0x42aa9c
mov eax, dword [ebp - 0x40]
sub dword [ebp - 0x4c], eax
mov eax, dword [esi + 4]
sbb dword [ebp - 0x48], edi
cmp eax, 0xffffffff
je 0x42a9b0
inc eax
mov dword [esi + 4], eax
jmp 0x42a9f0
cmp dword [esi + 0xc], 0xffffffff
jae 0x42aa81
mov dword [ebp - 0x44], 1
cmp dword [ebp - 0x44], 0xffffffff
jae 0x42aa81
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x58]
lea edi, [ebp - 0x44]
call fcn.0042b921
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x54], eax
je 0x42a9ed
inc dword [ebp - 0x44]
jmp 0x42a9c1
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x40]
push eax
call fcn.0042b7a5
mov eax, dword [ebp - 0x30]
push 5
mov dword [ebp - 0x28], eax
pop ecx
lea eax, [ebp - 0x28]
push eax
lea esi, [ebp - 0x40]
lea edi, [ebp - 0x24]
lea eax, [ebp - 0x6c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x58]
push eax
call fcn.0042bc10
cmp dword [ebp - 0x48], 0
jg 0x42a91e
jl 0x42aa36
cmp dword [ebp - 0x4c], 0xc
jae 0x42a91e
push dword [ebx]
call fcn.0055e04c
pop ecx
mov edi, eax
mov esi, ebx
call fcn.0042a7f9
test al, al
jne 0x42aac8
push str.Cannot_truncate_file
lea esi, [ebp - 0x2c]
call fcn.004037ae
mov byte [ebp - 4], 7
push 0xc4
jmp 0x42a8ea
push str.Cannot_truncate_file
lea esi, [ebp - 0x2c]
call fcn.004037ae
mov byte [ebp - 4], 8
push 0xce
jmp 0x42a8ea
push str.Cannot_generate_new_blob_key
lea esi, [ebp - 0x2c]
call fcn.004037ae
mov byte [ebp - 4], 0xa
push 0x233
jmp 0x42a8ea
mov eax, dword [ebp - 0x34]
lea edi, [eax - 0xc]
mov esi, ebx
call fcn.0042a7f9
test al, al
jne 0x42aac8
push str.Cannot_truncate_file
lea esi, [ebp - 0x2c]
call fcn.004037ae
mov byte [ebp - 4], 9
push 0xdd
jmp 0x42a8ea
mov esi, dword [ebp - 0x50]
mov eax, esi
call fcn.0056bf2e
ret 4