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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov eax, 0x895c
call fcn.00412c18
mov dword [ebp - 0x8914], 0x406a58
mov dword [ebp - 0x8910], 0x44b49c
lea eax, [ebp - 0x890c]
lea edx, [ebp - 0x18]
mov dword [eax], edx
mov edx, 0x405084
mov dword [eax + 4], edx
mov dword [eax + 8], esp
lea eax, [ebp - 0x892c]
mov dword [esp], eax
call fcn.00412eb8
mov dword [ebp - 0x1c], 0
mov dword [esp + 4], 0x44e000
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 8
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [ebp - 0x8928], 0xffffffff
call sub.KERNEL32.dll_CreateFileA
sub esp, 0x1c
mov dword [ebp - 0x8040], eax
cmp dword [ebp - 0x8040], 0xffffffff
je 0x404ca8
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x8040]
mov dword [esp], eax
call sub.KERNEL32.dll_GetFileSize
sub esp, 8
mov edx, 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jg 0x404cee
cmp dword [ebp - 0x24], 0
js 0x404c78
cmp dword [ebp - 0x28], 0
ja 0x404cee
mov dword [esp], 0x44e5aa
mov dword [ebp - 0x8928], 0xffffffff
call sub.msvcrt.dll_printf
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov dword [ebp - 0x8930], 0
jmp 0x4050d1
mov dword [esp], 0x44e5aa
mov dword [ebp - 0x8928], 0xffffffff
call sub.msvcrt.dll_printf
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0041b588
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0041b588
mov dword [ebp - 0x8930], 0
jmp 0x4050d1
mov eax, dword [ebp - 0x8040]
mov dword [esp], eax
mov dword [ebp - 0x8928], 0xffffffff
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
mov dword [esp + 0xc], 0xa
lea eax, [ebp - 0x8438]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0044b440
mov dword [esp + 4], 0x44e383
lea eax, [ebp - 0x8438]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0041b588
lea eax, [ebp - 0x8438]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 8], eax
lea eax, [ebp - 0x8438]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0041b01c
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], 0x44e5be
call sub.msvcrt.dll_printf
lea eax, [ebp - 0x8438]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], 0x44e5cf
call sub.msvcrt.dll_printf
mov dword [esp], 0x44e5dc
call sub.msvcrt.dll_printf
mov dword [esp], 0x1f4
call sub.KERNEL32.dll_Sleep
sub esp, 4
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0041ae90
mov dword [ebp - 0x8440], 0
mov dword [ebp - 0x843c], 0
mov dword [ebp - 0x8444], 0
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.0044b430
test eax, eax
jne 0x404fab
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 1
lea eax, [ebp - 0x8038]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov dword [ebp - 0x803c], eax
mov eax, dword [ebp - 0x803c]
mov dword [esp + 8], eax
lea eax, [ebp - 0x8038]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [ebp - 0x8928], 0xffffffff
call fcn.0041b3c8
mov dword [ebp - 0x8448], eax
mov eax, dword [ebp - 0x803c]
mov edx, eax
mov ecx, eax
sar ecx, 0x1f
lea eax, [ebp - 0x8440]
add dword [eax], edx
adc dword [eax + 4], ecx
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x24]
test eax, eax
je 0x404dfe
mov ecx, dword [ebp - 0x8440]
mov ebx, dword [ebp - 0x843c]
mov eax, ecx
mov edx, ebx
shld edx, eax, 2
shl eax, 2
add eax, ecx
adc edx, ebx
mov ecx, eax
mov ebx, edx
shld ebx, ecx, 2
shl ecx, 2
add eax, ecx
adc edx, ebx
mov ecx, eax
mov ebx, edx
shld ebx, ecx, 2
shl ecx, 2
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.00412c48
mov dword [ebp - 0x8938], eax
mov dword [ebp - 0x8934], edx
mov eax, dword [ebp - 0x8444]
mov dword [ebp - 0x8940], eax
cdq
mov dword [ebp - 0x893c], edx
mov eax, dword [ebp - 0x893c]
cmp dword [ebp - 0x8934], eax
jl 0x404dfe
mov edx, dword [ebp - 0x893c]
cmp dword [ebp - 0x8934], edx
jg 0x404f31
mov eax, dword [ebp - 0x8940]
cmp dword [ebp - 0x8938], eax
jbe 0x404dfe
mov ecx, dword [ebp - 0x8440]
mov ebx, dword [ebp - 0x843c]
mov eax, ecx
mov edx, ebx
shld edx, eax, 2
shl eax, 2
add eax, ecx
adc edx, ebx
mov ecx, eax
mov ebx, edx
shld ebx, ecx, 2
shl ecx, 2
add eax, ecx
adc edx, ebx
mov ecx, eax
mov ebx, edx
shld ebx, ecx, 2
shl ecx, 2
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.00412c48
mov dword [ebp - 0x8444], eax
mov eax, dword [ebp - 0x8444]
mov dword [esp + 4], eax
mov dword [esp], str.___d
mov dword [ebp - 0x8928], 0xffffffff
call sub.msvcrt.dll_printf
jmp 0x404dfe
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov eax, dword [ebp - 0x8440]
mov edx, dword [ebp - 0x843c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], str._success_
mov dword [ebp - 0x8928], 0xffffffff
call sub.msvcrt.dll_printf
lea eax, [ebp - 0x8508]
mov dword [esp], eax
call fcn.0040140a
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
lea eax, [ebp - 0x88f8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x8508]
mov dword [esp], eax
mov dword [ebp - 0x8928], 1
call fcn.00401542
lea eax, [ebp - 0x88f8]
mov dword [esp + 4], eax
mov dword [esp], str.md5:_s_n
call sub.msvcrt.dll_printf
mov dword [esp + 4], 0x44e383
lea eax, [ebp - 0x88f8]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
lea eax, [ebp - 0x88f8]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 8], eax
lea eax, [ebp - 0x88f8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0041b01c
lea eax, [ebp - 0x8508]
mov dword [esp], eax
call fcn.0040144e
mov dword [ebp - 0x8930], 1
jmp 0x4050d1
lea eax, [ebp - 0x892c]
mov dword [esp], eax
call fcn.00412f98
mov eax, dword [ebp - 0x8930]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret