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

Disassembly:
push 0x2c
mov eax, 0x508283
call fcn.004d9fe8
mov edi, ecx
lea eax, [ebp - 0x20]
push eax
push edi
call fcn.004341de
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocString
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 0x4344a0
cmp dword [0x550334], ebx
je 0x434642
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.00427dfb
pop ecx
pop ecx
jmp 0x434642
lea eax, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x4344cc
cmp dword [0x550334], ebx
je 0x434633
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___read_download_info__get_file_size_failed_
jmp 0x434626
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 0x434504
cmp dword [0x550334], eax
je 0x434633
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___read_download_info__set_base_down_info_pointer_failed_
jmp 0x434626
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 0x434611
cmp dword [ebp - 0x1c], 4
jne 0x434611
mov esi, dword [esi]
test esi, esi
je 0x434633
cmp esi, 0x3f
ja 0x434633
test esi, esi
jle 0x43454d
call fcn.00432779
jmp 0x43454f
xor al, al
test al, al
je 0x434633
push edi
call fcn.00433187
test al, al
je 0x434633
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 0x4345a9
xor esi, esi
cmp dword [0x550334], esi
je 0x4345ab
call ebx
mov ecx, dword [0x550334]
push eax
push str._ERROR___d___read_download_info__set_info_pointer_failed_
call fcn.00427dfb
pop ecx
pop ecx
jmp 0x4345ab
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 0x4345db
mov eax, dword [edi + 0x50]
imul eax, eax, 0x18
cmp dword [ebp - 0x18], eax
jne 0x4345db
mov byte [ebp - 0xd], 1
jmp 0x434633
cmp dword [0x550334], esi
je 0x4345fc
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.00427dfb
add esp, 0xc
mov eax, dword [edi + 0x50]
imul eax, eax, 0x18
push eax
push esi
push dword [edi + 0x60]
call fcn.004d9310
add esp, 0xc
jmp 0x434633
cmp dword [0x550334], 0
je 0x434633
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.00427dfb
pop ecx
pop ecx
cmp dword [ebp - 0x14], 0
je 0x434642
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.0040436d
mov al, byte [ebp - 0xd]
call fcn.004da0c0
ret