Function at 0x44240d
Capabilities:
Check if file exists
Get file attributes
Get file size
Read file on windows
Write file on windows

Disassembly:
push 0x148
mov eax, 0x473803
call fcn.00459c76
mov eax, dword [ebp + 8]
and dword [ebp - 0x130], 0
mov edi, ecx
mov ebx, edx
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x74]
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x148], ebx
call fcn.0043bdc9
and dword [ebp - 4], 0
lea eax, [ebp - 0x34]
call fcn.0043bdc9
lea eax, [ebp - 0x54]
call fcn.0043bdc9
lea esi, [ebp - 0x12c]
mov byte [ebp - 4], 2
call fcn.00441ad6
mov byte [ebp - 4], 3
test edi, edi
je 0x44272a
cmp word [edi], 0
je 0x44272a
test ebx, ebx
je 0x44272a
cmp word [ebx], 0
je 0x44272a
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push edi
call esi
push ebx
mov dword [ebp - 0x134], eax
call esi
mov dword [ebp - 0x138], eax
push ebx
lea eax, [ebp - 0x54]
push eax
call fcn.004095cb
cmp dword [ebp - 0x134], 0xffffffff
je 0x4426fb
mov eax, dword [ebp - 0x134]
and eax, 0x10
cmp al, 0x10
je 0x4426fb
mov esi, dword [ebp - 0x13c]
push edi
call fcn.00444089
cmp dword [ebp - 0x138], 0xffffffff
je 0x44252a
mov eax, dword [ebp - 0x138]
and eax, 0x10
cmp al, 0x10
jne 0x44251b
push edi
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00447e69
add esp, 0xc
lea eax, [ebp - 0x54]
call fcn.00447d9a
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x74]
lea esi, [ebp - 0x54]
call fcn.0040cb6f
jmp 0x442552
lea edx, [ebp - 0x12c]
mov ecx, ebx
call fcn.00441e32
jmp 0x44254c
push ebx
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00447e69
mov ecx, dword [ebp - 0x30]
add esp, 0xc
cmp dword [ebp - 0x1c], 8
jae 0x442547
lea ecx, [ebp - 0x30]
call fcn.00448625
mov dword [ebp - 0x130], eax
sub esp, 0x20
lea edi, [ebp - 0x54]
mov eax, esp
mov dword [ebp - 0x134], esp
call fcn.0043b3b5
mov ebx, dword [ebp - 0x13c]
call fcn.004440c2
xor edi, edi
cmp dword [ebp - 0x130], edi
je 0x442587
cmp dword [ebp - 0x130], 0xfffffffa
jne 0x4426fb
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
push edi
push edi
push 3
push edi
push 1
push closesocket
push dword [ebp - 0x144]
call esi
mov dword [ebp - 0x134], eax
cmp eax, 0xffffffff
je 0x4426ef
push edi
push edi
push 2
push edi
push 1
push 0x40000000
push dword [ebp - 0x148]
call esi
mov dword [ebp - 0x144], eax
cmp eax, 0xffffffff
je 0x442654
mov ebx, 0x400000
push ebx
call fcn.00452c78
pop ecx
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x154]
push eax
push dword [ebp - 0x134]
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
push dword [ebp - 0x150]
mov esi, dword [ebp - 0x13c]
push dword [ebp - 0x154]
call fcn.00441c07
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
lea eax, [ebp - 0x140]
push eax
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x134]
call esi
test eax, eax
jne 0x442667
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x130], eax
push dword [ebp - 0x138]
call fcn.00453b90
pop ecx
push dword [ebp - 0x144]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x134]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4426fb
xor edi, edi
cmp dword [ebp - 0x140], edi
je 0x44263c
push edi
lea eax, [ebp - 0x14c]
push eax
push dword [ebp - 0x140]
push dword [ebp - 0x138]
push dword [ebp - 0x144]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4426cf
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x14c]
jne 0x4426cf
push edi
mov edi, dword [ebp - 0x13c]
push eax
call fcn.00441c2b
push 0
lea eax, [ebp - 0x140]
push eax
push ebx
push dword [ebp - 0x138]
push dword [ebp - 0x134]
call esi
test eax, eax
jne 0x442665
jmp 0x442630
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x130], eax
cmp eax, edi
jne 0x44263c
or dword [ebp - 0x130], 0xffffffff
jmp 0x44263c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x130], eax
lea esi, [ebp - 0x12c]
mov byte [ebp - 4], 2
call fcn.0043dee5
lea eax, [ebp - 0x54]
call fcn.0043b39a
lea eax, [ebp - 0x34]
call fcn.0043b39a
lea eax, [ebp - 0x74]
call fcn.0043b39a
mov eax, dword [ebp - 0x130]
jmp 0x442753
lea esi, [ebp - 0x12c]
mov byte [ebp - 4], 2
call fcn.0043dee5
lea eax, [ebp - 0x54]
call fcn.0043b39a
lea eax, [ebp - 0x34]
call fcn.0043b39a
lea eax, [ebp - 0x74]
call fcn.0043b39a
xor eax, eax
call fcn.00459cf9
ret