Function at 0x434377
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0x2c
mov eax, 0x508253
call fcn.004d9fb6
mov edi, ecx
lea eax, [ebp - 0x20]
push eax
push edi
call fcn.00434122
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
mov dword [ebp - 4], ebx
push dword [ebp - 0x20]
mov byte [ebp - 0xd], bl
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x14], esi
cmp esi, 0xffffffff
jne 0x4343e4
cmp dword [0x550334], ebx
je 0x434586
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [0x550334]
push eax
push str._ERROR___d___read_download_info__open_file_failed_
call fcn.00427e2f
pop ecx
pop ecx
jmp 0x434586
lea eax, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x434410
cmp dword [0x550334], ebx
je 0x434577
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___read_download_info__get_file_size_failed_
jmp 0x43456a
mov ebx, dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
push 0xfffffffffffffffc
pop eax
push 2
lea edx, [ebp - 0x30]
push edx
or ecx, 0xffffffff
push ecx
push eax
push esi
call ebx
test eax, eax
jne 0x434448
cmp dword [0x550334], eax
je 0x434577
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___read_download_info__set_base_down_info_pointer_failed_
jmp 0x43456a
and dword [ebp - 0x1c], 0
push 0
lea eax, [ebp - 0x1c]
push eax
push 4
lea esi, [edi + 0x5c]
push esi
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x434555
cmp dword [ebp - 0x1c], 4
jne 0x434555
mov esi, dword [esi]
test esi, esi
je 0x434577
cmp esi, 0x3f
ja 0x434577
test esi, esi
jle 0x434491
call fcn.004326e6
jmp 0x434493
xor al, al
test al, al
je 0x434577
push edi
call fcn.004330f4
test al, al
je 0x434577
mov ecx, dword [edi + 0x50]
imul ecx, ecx, 0x18
push 0xfffffffffffffffc
pop eax
push 2
sub eax, ecx
cdq
lea ecx, [ebp - 0x38]
push ecx
push edx
push eax
push dword [ebp - 0x14]
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
test eax, eax
jne 0x4344ed
xor esi, esi
cmp dword [0x550334], esi
je 0x4344ef
call ebx
mov ecx, dword [0x550334]
push eax
push str._ERROR___d___read_download_info__set_info_pointer_failed_
call fcn.00427e2f
pop ecx
pop ecx
jmp 0x4344ef
xor esi, esi
push esi
lea eax, [ebp - 0x18]
push eax
mov eax, dword [edi + 0x50]
imul eax, eax, 0x18
push eax
push dword [edi + 0x60]
mov dword [ebp - 0x18], esi
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x43451f
mov eax, dword [edi + 0x50]
imul eax, eax, 0x18
cmp dword [ebp - 0x18], eax
jne 0x43451f
mov byte [ebp - 0xd], 1
jmp 0x434577
cmp dword [0x550334], esi
je 0x434540
push dword [ebp - 0x18]
call ebx
mov ecx, dword [0x550334]
push eax
push str._ERROR___d___read_download_info__read_info_failed__read_size__d_
call fcn.00427e2f
add esp, 0xc
mov eax, dword [edi + 0x50]
imul eax, eax, 0x18
push eax
push esi
push dword [edi + 0x60]
call fcn.004d92e0
add esp, 0xc
jmp 0x434577
cmp dword [0x550334], 0
je 0x434577
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___read_download_info__read_base_down_info_failed_
mov ecx, dword [0x550334]
call fcn.00427e2f
pop ecx
pop ecx
cmp dword [ebp - 0x14], 0
je 0x434586
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.0040442d
mov al, byte [ebp - 0xd]
call fcn.004da08e
ret