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

Disassembly:
push 0x73c
mov eax, 0x10077f82
call fcn.10058b1f
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x508]
call fcn.1000829f
xor edi, edi
lea ecx, [ebp - 0x508]
push edi
push edi
push esi
mov dword [ebp - 4], edi
call fcn.1000c955
lea eax, [ebp - 0x400]
push eax
lea ecx, [ebp - 0x19c]
call fcn.1000f3bb
mov byte [ebp - 4], 1
mov esi, edi
mov ebx, edi
call fcn.10009bdf
push eax
lea ecx, [ebp - 0x94]
call fcn.1000f3bb
mov byte [ebp - 4], 2
call fcn.10009beb
mov ecx, eax
call fcn.1000fbcb
test al, al
je 0x10022484
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x94]
call fcn.1000f624
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocString
lea ecx, [ebp - 0x94]
call fcn.1000f5ea
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x73c], eax
cmp eax, 0xffffffff
jne 0x1002242e
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.1000f4e2
jmp 0x1002261b
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
test ebx, ebx
je 0x1002241a
push ebx
mov dword [ebp - 0x744], edi
call fcn.10058568
pop ecx
push edi
mov esi, eax
lea eax, [ebp - 0x744]
push eax
push ebx
push esi
push dword [ebp - 0x73c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x73c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x744], ebx
je 0x10022604
push esi
call fcn.1005801c
pop ecx
mov esi, edi
jmp 0x1002241a
call fcn.10009beb
push eax
lea ecx, [ebp - 0x94]
call fcn.1000f624
call fcn.10009e54
test al, al
je 0x100224ab
call fcn.10009bf1
mov dword [ebp - 0x73c], eax
jmp 0x1002251a
call fcn.10009bf7
push eax
lea ecx, [ebp - 0x220]
call fcn.1000f3bb
push edi
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 3
call fcn.1000f5ea
push eax
call fcn.1000ec42
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x740], eax
call fcn.1000f5ea
push eax
call fcn.10013900
mov dword [ebp - 0x73c], eax
mov eax, dword [ebp - 0x740]
pop ecx
pop ecx
test eax, eax
je 0x10022505
push eax
call fcn.1005801c
pop ecx
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 2
call fcn.1000f4e2
mov eax, dword [ebp - 0x73c]
test eax, eax
je 0x1002241a
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x748], edi
push eax
lea ecx, [ebp - 0x118]
call fcn.1000f3bb
push 0x1007b89c
push 0x1007b8a0
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 4
call fcn.1000fd89
lea eax, [ebp - 0x738]
push eax
lea eax, [ebp - 0x748]
push eax
push 1
lea ecx, [ebp - 0x118]
call fcn.1000f5ea
push eax
push dword [ebp - 0x73c]
call fcn.100132ce
add esp, 0x14
test eax, eax
je 0x10022591
lea ecx, [ebp - 0x118]
call fcn.1000f4e2
jmp 0x1002241a
mov ebx, dword [ebp - 0x50c]
test ebx, ebx
je 0x10022581
push ebx
call fcn.10058568
push ebx
mov esi, eax
push esi
push dword [ebp - 0x748]
push dword [ebp - 0x73c]
call fcn.10013d52
add esp, 0x14
test eax, eax
je 0x100225e4
cmp eax, 0x600
je 0x100225e4
push esi
call fcn.1005801c
pop ecx
mov esi, edi
call fcn.10009e54
test al, al
jne 0x10022581
push dword [ebp - 0x73c]
call fcn.100130b3
pop ecx
jmp 0x10022581
call fcn.10009e54
test al, al
jne 0x100225f9
push dword [ebp - 0x73c]
call fcn.100130b3
pop ecx
lea ecx, [ebp - 0x118]
call fcn.1000f4e2
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.1000f4e2
test esi, esi
jne 0x1002269c
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocString
lea ecx, [ebp - 0x19c]
call fcn.1000f5ea
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x73c], eax
cmp eax, 0xffffffff
je 0x10022698
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
test ebx, ebx
je 0x10022698
push ebx
mov dword [ebp - 0x740], edi
call fcn.10058568
pop ecx
push edi
mov esi, eax
lea eax, [ebp - 0x740]
push eax
push ebx
push esi
push dword [ebp - 0x73c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x73c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x740], ebx
je 0x10022698
push esi
call fcn.1005801c
pop ecx
jmp 0x100226ae
test esi, esi
je 0x100226ae
push ebx
push esi
call fcn.100222ff
push esi
mov edi, eax
call fcn.1005801c
add esp, 0xc
lea ecx, [ebp - 0x19c]
call fcn.1000f4e2
lea ecx, [ebp - 0x508]
call fcn.1000872b
mov eax, edi
call fcn.10058add
ret