Function at 0x1000daf3
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x328
push edi
mov dword [ebp - 0x108], 0
mov dword [0x10031570], 0
mov ecx, 0x10030ec8
call fcn.10003924
test eax, eax
jne 0x1000db29
mov eax, 0xfffffff7
jmp 0x1000df04
mov ecx, 0x10030ec8
call fcn.100037ba
test eax, eax
jne 0x1000db4b
mov ecx, 0x10030ec8
call fcn.10003aac
mov eax, 0xfffffff9
jmp 0x1000df04
mov dword [ebp - 0x218], 0xffffffc0
mov dword [ebp - 0x21c], 0
lea eax, [ebp - 0x21c]
push eax
push 0x8d
mov ecx, 0x10030ec8
call fcn.10003ad8
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jge 0x1000db99
mov ecx, 0x10030ec8
call fcn.10003aac
mov eax, dword [ebp - 0x218]
jmp 0x1000df04
push 0x279
push 0x1002bea0
push 0x1000
push 0x800
call sub.BaseLib.dll_MemBuf_new__
add esp, 0x10
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
mov eax, dword [ebp - 0x21c]
call dword [eax + 0x34]
add esp, 8
push 0x1002bedc
mov ecx, dword [ebp - 0x214]
push ecx
call fcn.10010b8b
add esp, 8
test eax, eax
jne 0x1000dc1a
mov edx, dword [ebp - 0x214]
push edx
call sub.BaseLib.dll_MemBuf_delete
add esp, 4
mov dword [ebp - 0x214], 0
mov ecx, 0x10030ec8
call fcn.10003aac
mov eax, 0xffffffa1
jmp 0x1000df04
mov byte [ebp - 0x104], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x103]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x210], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x20f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x5c
mov eax, dword [ebp + 8]
push eax
call fcn.1001ccc0
add esp, 8
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x220]
add ecx, 1
mov dword [ebp - 0x220], ecx
mov byte [ebp - 0x328], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x327]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x328]
push eax
call fcn.1001bd70
add esp, 8
lea ecx, [ebp - 0x328]
push ecx
call fcn.1001c8b0
add esp, 4
movsx edx, byte [ebp + eax - 0x329]
cmp edx, 0x5c
je 0x1000dccb
push 0x1002bee4
lea eax, [ebp - 0x328]
push eax
call fcn.1001bd80
add esp, 8
mov ecx, dword [ebp - 0x220]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.1001bd80
add esp, 8
push 0x104
lea eax, [ebp - 0x210]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x328]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push 0x104
lea edx, [ebp - 0x104]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x210]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0xffffffff
jne 0x1000dd7e
mov edx, dword [ebp - 0x214]
push edx
call sub.BaseLib.dll_MemBuf_delete
add esp, 4
mov dword [ebp - 0x214], 0
mov ecx, 0x10030ec8
call fcn.10003aac
mov eax, 0xffffffc0
jmp 0x1000df04
push 0
mov eax, dword [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0xffffffff
jne 0x1000ddc9
mov ecx, dword [ebp - 0x214]
push ecx
call sub.BaseLib.dll_MemBuf_delete
add esp, 4
mov dword [ebp - 0x214], 0
mov ecx, 0x10030ec8
call fcn.10003aac
mov eax, 0xffffffc0
jmp 0x1000df04
push 0x2ad
push 0x1002bee8
push 0xffffffffffffffff
mov edx, dword [ebp - 0x108]
add edx, 1
push edx
call sub.BaseLib.dll_MemBuf_new__
add esp, 0x10
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
call sub.BaseLib.dll_AbsFile_fromFile
add esp, 8
mov dword [0x10031560], 0
mov dword [0x10031564], 0
mov eax, dword [ebp + 8]
mov dword [0x1003155c], eax
mov ecx, dword [ebp - 0x108]
mov dword [0x10031568], ecx
mov dword [0x1003156c], 0
mov dword [0x10031560], 1
push 0x1002bc48
mov edx, dword [ebp - 0x10c]
push edx
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x21c]
push ecx
mov edx, dword [ebp - 0x21c]
call dword [edx + 0x2c]
add esp, 0x10
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jge 0x1000dec2
mov eax, dword [ebp - 0x10c]
push eax
call sub.BaseLib.dll_MemBuf_delete
add esp, 4
mov ecx, dword [ebp - 0x214]
push ecx
call sub.BaseLib.dll_MemBuf_delete
add esp, 4
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x214], 0
mov ecx, 0x10030ec8
call fcn.10003aac
mov eax, dword [ebp - 0x218]
jmp 0x1000df04
mov edx, dword [ebp - 0x10c]
push edx
call sub.BaseLib.dll_MemBuf_delete
add esp, 4
mov eax, dword [ebp - 0x214]
push eax
call sub.BaseLib.dll_MemBuf_delete
add esp, 4
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x214], 0
mov ecx, 0x10030ec8
call fcn.10003aac
mov eax, dword [ebp - 0x218]
pop edi
mov esp, ebp
pop ebp
ret