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

Disassembly:
push 0x3c
mov eax, 0x50909c
call fcn.004d2c19
mov eax, ecx
mov dword [ebp - 0x24], eax
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
push dword [eax + 0x20]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov dword [ebp - 0x38], edi
cmp edi, 0xffffffff
je 0x487bb3
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push eax
push ecx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x2c], eax
call fcn.004884ab
mov esi, dword [ebp - 0x14]
cmp dword [esi - 4], 1
jle 0x487a44
push dword [esi - 0xc]
lea ecx, [ebp - 0x14]
call fcn.00451bd1
mov esi, dword [ebp - 0x14]
push ebx
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x2c]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x487ba3
cmp dword [ebp - 0x30], ebx
je 0x487ba3
push esi
lea ecx, [ebp - 0x2c]
call fcn.0047f9fb
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x48], 0x52e5cc
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
call fcn.0048d035
test al, al
jne 0x487b89
mov ecx, dword [ebp - 0x40]
mov edi, ebx
test ecx, ecx
jle 0x487aa9
push ebx
lea ecx, [ebp - 0x44]
call fcn.0048d3c8
mov ecx, dword [ebp - 0x40]
mov edi, eax
mov dword [ebp - 0x1c], ebx
mov eax, ebx
test ecx, ecx
jle 0x487ac4
lea eax, [ecx - 1]
push eax
lea ecx, [ebp - 0x44]
call fcn.0048d3c8
add eax, 0x10
mov dword [ebp - 0x1c], eax
cmp edi, eax
je 0x487b44
mov ecx, dword [ebp - 0x24]
push edi
call fcn.00487c89
mov dword [ebp - 0x34], eax
test eax, eax
je 0x487b3c
push 0x52c76c
lea ecx, [ebp - 0x10]
call fcn.00409419
lea eax, [ebp - 0x10]
mov ecx, edi
push eax
call fcn.0048cf4d
mov dword [ebp - 0x20], eax
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.00406df6
cmp dword [ebp - 0x20], 0
je 0x487b3c
push 0x522ef4
lea ecx, [ebp - 0x18]
call fcn.00409419
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call fcn.0048cf4d
mov dword [ebp - 0x28], eax
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00406df6
cmp dword [ebp - 0x28], 0
jne 0x487bc2
add edi, 0x10
cmp edi, dword [ebp - 0x1c]
jne 0x487ac8
cmp byte [0x56b83c], 0
je 0x487b89
call fcn.00406d01
push eax
lea ecx, [ebp - 0x10]
call fcn.00406b29
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
push str.No_newer_version_found.
call fcn.004072c4
lea eax, [ebp - 0x10]
mov ecx, 0x56b80c
push eax
call fcn.00489943
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.00406df6
lea ecx, [ebp - 0x44]
call fcn.0047f854
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2c]
lea ecx, [ecx - 0x10]
call fcn.00406df6
mov edi, dword [ebp - 0x38]
or dword [ebp - 4], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00406df6
test edi, edi
je 0x487bba
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
call fcn.004d2be2
ret
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
add eax, 4
push eax
lea ecx, [ebx + 0x28]
call fcn.004434b9
mov eax, dword [ebp - 0x28]
push ecx
mov ecx, dword [eax + 4]
call fcn.00475d60
lea ecx, [ebp - 0x28]
mov dword [ebx + 0x2c], eax
mov dword [esp], str.ServerFileName
call fcn.00409419
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.0048cf4d
mov edi, eax
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.00406df6
test edi, edi
je 0x487c1e
lea eax, [edi + 4]
push eax
lea ecx, [ebx + 0x30]
call fcn.004434b9
mov eax, dword [ebp - 0x34]
lea ecx, [ebx + 0x24]
add eax, 4
push eax
call fcn.004434b9
cmp byte [0x56b83c], 0
je 0x487c82
mov edi, dword [ebx + 0x24]
call fcn.00406d01
push eax
lea ecx, [ebp - 0x10]
call fcn.00406b29
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
push str.Found_a_newer_version_on_server._Version_found:
call fcn.004072c4
test edi, edi
je 0x487c65
push edi
lea ecx, [ebp - 0x10]
call fcn.004072c4
lea eax, [ebp - 0x10]
mov ecx, 0x56b80c
push eax
call fcn.00489943
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.00406df6
mov bl, 1
jmp 0x487b89