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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x418c
call fcn.00465040
mov eax, dword [0x4c07e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
cmp byte [ebx + 0x5340], 0
jne 0x453154
push esi
push edi
lea edi, [ebx + 0x4d38]
mov esi, edi
cmp byte [esi], 0
je 0x452dfc
inc esi
cmp byte [esi], 0
jne 0x452df6
cmp esi, edi
jb 0x452e0f
mov al, byte [esi]
cmp al, 0x2f
je 0x452e0f
cmp al, 0x5c
je 0x452e0f
dec esi
cmp esi, edi
jae 0x452e00
xorps xmm0, xmm0
mov byte [ebp - 0x18], 0
lea ecx, [ebx + 0x88]
mov word [ebp - 7], 0
movups xmmword [ebp - 0x17], xmm0
mov byte [ebp - 5], 0
call fcn.00460850
lea ecx, [ebp - 0x4178]
mov dword [ebp - 0x4180], eax
call fcn.00441bb0
lea ecx, [ebx + 0x5138]
lea eax, [ecx + 1]
mov dword [ebp - 0x417c], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x452e50
sub ecx, dword [ebp - 0x417c]
je 0x452e84
lea ecx, [ebx + 0x5138]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x452e68
sub ecx, edx
lea eax, [ebx + 0x5138]
push ecx
push eax
lea ecx, [ebp - 0x4178]
call fcn.00441bc0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x4178]
call fcn.00441df0
mov ecx, dword [0x4c3118]
push 0
push str.ulfullpaths
call fcn.004038d0
test eax, eax
je 0x452edf
cmp esi, edi
jb 0x452edf
dec esi
cmp esi, edi
jb 0x452edf
mov al, byte [esi]
cmp al, 0x2f
je 0x452ec1
cmp al, 0x5c
je 0x452ec1
dec esi
cmp esi, edi
jae 0x452eb2
cmp esi, edi
jb 0x452edf
dec esi
cmp esi, edi
jb 0x452edf
nop word [eax + eax]
mov al, byte [esi]
cmp al, 0x2f
je 0x452edf
cmp al, 0x5c
je 0x452edf
dec esi
cmp esi, edi
jae 0x452ed0
mov esi, dword [ebp - 0x4180]
lea ecx, [ebp - 0x18]
mov edx, 0x10
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x453126
add ecx, 4
add esi, 4
sub edx, 4
jae 0x452ef0
push 0
push 0x9000007
push 3
push 0
push 1
push accept
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebx + 0x5344], eax
cmp eax, 0xffffffff
jne 0x452f35
push 1
push str.File_not_found_on_disk
jmp 0x453141
lea edi, [ebx + 0x534c]
mov byte [ebx + 0x5340], 1
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebx + 0x5348], eax
lea eax, [ebp - 0x418c]
push eax
push 0
lea eax, [ebp - 0x4184]
push eax
push dword [ebx + 0x5344]
call dword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
je 0x452f97
lea eax, [ebp - 0x4184]
push eax
call fcn.00414d10
mov dword [ebx + 0x5338], eax
lea eax, [ebp - 0x418c]
push eax
call fcn.00414d10
add esp, 8
mov dword [ebx + 0x533c], eax
push dword [ebx + 0x5348]
lea ecx, [ebx + 0x87c]
call fcn.004302b0
push dword [edi]
lea ecx, [ebx + 0x87c]
call fcn.004302a0
push dword [edi]
lea ecx, [ebx + 0xb5c]
push dword [ebx + 0x5348]
call fcn.004610b0
mov ecx, dword [0x4c3118]
push 0
push str.shafiles
call fcn.004038d0
test eax, eax
je 0x4530a5
cmp dword [edi], 0
jne 0x4530a5
mov ecx, dword [0x4c3118]
push 0x20
push str.maxsizesha
call fcn.004038d0
shl eax, 0x14
cmp dword [ebx + 0x5348], eax
jae 0x4530a5
lea ecx, [ebp - 0x4178]
call fcn.00441ee0
push 0
lea eax, [ebp - 0x417c]
push eax
push 0x4000
lea eax, [ebp - 0x4018]
push eax
push dword [ebx + 0x5344]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x453082
nop dword [eax]
mov eax, dword [ebp - 0x417c]
test eax, eax
je 0x453082
push eax
lea eax, [ebp - 0x4018]
push eax
lea ecx, [ebp - 0x4178]
call fcn.00441bc0
push 0
lea eax, [ebp - 0x417c]
push eax
push 0x4000
lea eax, [ebp - 0x4018]
push eax
push dword [ebx + 0x5344]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x453040
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x4178]
call fcn.00441df0
push 0
push 0
push 0
push dword [ebx + 0x5344]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x4530b3
xorps xmm0, xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x18], xmm0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebx + 0xb5c]
call fcn.00457a10
mov ecx, dword [0x4c3118]
push 1
push str.nickonxfers
call fcn.004038d0
lea ecx, [ebx + 0xb5c]
test eax, eax
je 0x4530e5
push 0x4c4e88
jmp 0x4530ea
push str.__Anonymous__
call fcn.004610d0
mov ecx, dword [ebx + 0x5348]
mov eax, dword [edi]
add ecx, 0x3fff
shr ecx, 0xe
shl eax, 0x12
add eax, ecx
mov ecx, 1
cmp eax, ecx
pop edi
cmovb eax, ecx
pop esi
mov dword [ebx + 0x5350], eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00464e2f
mov esp, ebp
pop ebp
ret
push 0x490cb9
push 1
push dword [0x4c3114]
mov ecx, ebx
call fcn.00453bd0
push 1
push str.Filename_mismatch
mov ecx, ebx
mov dword [ebx + 0x4d34], 1
call fcn.00453e30
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00464e2f
mov esp, ebp
pop ebp
ret