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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 0xc]
push ebx
lea edx, [eax - 0xe]
push esi
mov ecx, eax
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], edx
cmp eax, edx
jbe case.0x100103a3.87
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0xc]
jmp 0x10010390
lea eax, [ecx - 0x4d]
cmp eax, 0x1e
ja case.0x100103a3.80
movzx eax, byte [eax + 0x1001076c]
jmp dword [eax*4 + 0x10010734]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push 0x2e
lea eax, [ebp - 8]
push eax
xor ebx, ebx
push ebx
mov dword [ebp - 8], edx
call fcn.10006010
add esp, 0xc
sub eax, ebx
je 0x100103dd
dec eax
je 0x1001042b
dec eax
je 0x100104bb
mov dword [ebp - 8], 0x6a
jmp case.0x100103a3.80
mov esi, 0x30
mov eax, esi
sub eax, 0x2f
je 0x1001043e
dec eax
jne 0x10010425
mov edx, dword [ebp + 8]
mov eax, dword [edx]
lea ecx, [ebp + 0xc]
push ecx
push 0x68
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.10007540
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push 0
push 0x72
push 0
push 0
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x20]
push edx
push 0
mov dword [ebp - 8], eax
call fcn.1001d010
add esp, 0x2c
mov ebx, eax
dec esi
cmp esi, 0x2e
ja 0x100103e2
mov esi, 0xc4
mov eax, esi
sub eax, 0xc4
je 0x10010466
dec eax
je case.0x100103a3.106
jmp 0x100104ae
test ebx, ebx
je 0x1001044c
push str.Proc_error
jmp 0x1001052b
lea eax, [ebp - 0x20]
push 0x34
push eax
call fcn.1000d670
add esp, 8
mov dword [ebp - 8], 0x6a
jmp case.0x100103a3.80
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push 0
push 0x72
push 0
push 0
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0
mov dword [ebp - 8], edx
call fcn.1001d010
mov ebx, eax
add esp, 0x1c
test ebx, ebx
jne 0x100104d0
lea edx, [ebp - 0x20]
push edx
push 0x3d
push eax
push eax
call fcn.1001b490
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x20]
push 0x34
push edx
mov dword [ecx], eax
call fcn.1000d670
add esp, 0x18
inc esi
cmp esi, 0xc6
jb 0x10010430
mov esi, 0x46
mov eax, esi
sub eax, 0x46
je 0x100104d7
dec eax
je case.0x100103a3.106
jmp 0x10010514
push str._tokenizer
jmp 0x1001052b
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
lea eax, [ebp + 0xc]
push eax
push 0x68
push edx
lea eax, [ebp - 0x20]
push eax
call fcn.10007540
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push 0
push 0x72
push 0
push 0
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0
mov dword [ebp - 8], edx
call fcn.1001d010
mov ebx, eax
add esp, 0x2c
test ebx, ebx
jne 0x10010526
inc esi
cmp esi, 0x48
jb 0x100104c0
mov dword [ebp - 8], 0x6a
jmp case.0x100103a3.80
push str.GVPHADDUWD
push 0x1003455f
push 0
push 0x1003455f
push 0x100345f0
push 2
call fcn.100021f0
add esp, 0x18
mov dword [ebp - 8], 0x6a
jmp case.0x100103a3.80
mov dword [ebp + 0xc], ebx
jmp case.0x100103a3.80
mov edx, dword [ebp - 0xc]
mov dword [ebp + 0xc], edx
jmp case.0x100103a3.80
inc dword [ebp - 0xc]
jmp case.0x100103a3.80
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
cmp eax, 8
jne 0x10010593
mov dword [edi + 0x38], 9
mov ecx, dword [edi + 4]
add ecx, 0x50
push ecx
call fcn.100018e0
add esp, 4
jmp case.0x100103a3.80
test eax, eax
je 0x1001057f
push str.Error_in_NA_callback
jmp 0x100106e0
mov edx, dword [ebp + 0x10]
push 0
push 0
push 3
push 0
push 1
push bind
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x10], eax
cmp eax, 0xffffffff
jne case.0x100103a3.80
mov byte [ebp + 0xc], 0
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
cmp byte [edi + 0xb0], 0
mov dword [ebp - 0xc], 0
jne case.0x100103a3.80
mov dword [edi + 0xa0], 0
jmp case.0x100103a3.80
mov esi, dword [ebp - 0x10]
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push eax
mov dword [ebp - 4], eax
call fcn.10026754
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
push edx
push 0
push eax
mov dword [ecx], eax
call fcn.10026c70
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
add esp, 0x10
push 0
lea eax, [ebp - 4]
push eax
mov eax, dword [edx]
push ecx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
jmp case.0x100103a3.80
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x1001064e
mov ecx, dword [edi + 0x40]
mov dword [eax + 0x40], ecx
mov edx, dword [edi + 0x40]
mov eax, dword [edi + 0x3c]
mov dword [edx], eax
mov ecx, dword [edi + 4]
xchg dword [ebp - 0x14], eax
push 0
push 0
lea esi, [edi + 0xac]
push esi
push 0xdd
mov dword [ecx + 0x50], 0
call fcn.100037c0
add esp, 0x10
cmp eax, dword [edi + 0xa8]
je 0x100106b8
push esi
push 0
push 0x9f
call fcn.10021740
mov ecx, dword [edi + 0xa8]
push ecx
push eax
push str._____msg.vmui.menu.view.thumbnailBar_Thumbnail_Bar
push 0x1003455f
push 0
push 0x1003455f
push 0x100345f0
push 2
call fcn.100021f0
add esp, 0x2c
push 0
push 0
push 0
push 0
push 0
push 0
push edi
push 0
push 0
push 0
push 0x28
push 0
call fcn.10021e70
add esp, 0x30
test eax, eax
je case.0x100103a3.80
push str.CILP_RESTORE_1_REG_FROM_R220
push 0x1003455f
push 0
push 0x1003455f
push 0x100345f0
push 2
call fcn.100021f0
add esp, 0x18
mov dword [ebp - 8], 0x59
mov ecx, dword [ebp - 8]
dec ecx
mov dword [ebp - 8], ecx
cmp ecx, dword [ebp - 0x18]
ja 0x10010390
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov byte [ebp + 0xc], 1
mov eax, dword [ebp + 0xc]
pop ebx
mov esp, ebp
pop ebp
ret