Function at 0x10107e0
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xfb8
mov eax, dword [0x104c68c]
xor eax, ebp
mov dword [ebp - 0xc], eax
push esi
push edi
mov ecx, 9
mov esi, 0x1001cdc
lea edi, [ebp - 0xc78]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ax, word [0x10015d4]
mov word [ebp - 0xea0], ax
push 0x222
push 0
lea ecx, [ebp - 0xe9e]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov dx, word [0x10015d4]
mov word [ebp - 0xc18], dx
push 0x3fe
push 0
lea eax, [ebp - 0xc16]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
mov cx, word [0x10015d4]
mov word [ebp - 0xfa0], cx
push 0xfe
push 0
lea edx, [ebp - 0xf9e]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov ax, word [0x10015d4]
mov word [ebp - 0x810], ax
push 0x7fe
push 0
lea ecx, [ebp - 0x80e]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov dword [ebp - 0xc50], 0
mov dword [ebp - 0x818], 0
mov dword [ebp - 0xc20], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0xc24], 0
mov dword [ebp - 0xc1c], 0
mov dword [ebp - 0xc4c], 0
mov dword [ebp - 0xc48], 0
mov dword [ebp - 8], 0
mov byte [ebp - 0x811], 0
push 0x20
push 0
lea edx, [ebp - 0xc44]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x104debc
push 0x112
lea eax, [ebp - 0xea0]
push eax
call fcn.01010390
push 0x1001cc0
push 0x112
lea ecx, [ebp - 0xea0]
push ecx
call fcn.01010ee0
push 0
push 0x100080
push 3
push 0
push 1
push SysReAllocString
lea edx, [ebp - 0xea0]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xc4c], eax
cmp dword [ebp - 0xc4c], 0xffffffff
je 0x1010e9f
push 0
lea eax, [ebp - 0xc50]
push eax
push 4
lea ecx, [ebp - 0xc20]
push ecx
mov edx, dword [ebp - 0xc4c]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x10109b5
push 0x10015b4
push 0xe9
push 0
push 1
call fcn.01028fb0
add esp, 0x10
mov eax, dword [ebp - 0xc4c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1010e9f
cmp dword [ebp - 0xc20], 0x6acfc0
jge 0x10109f0
mov ecx, dword [ebp - 0xc20]
push ecx
push 0xea
push 0
push 1
call fcn.01028fb0
add esp, 0x10
mov edx, dword [ebp - 0xc4c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1010e9f
push 0
lea eax, [ebp - 0xc50]
push eax
push 4
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp - 0xc4c]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1010a3d
push 0x10015b4
push 0xe9
push 0
push 1
call fcn.01028fb0
add esp, 0x10
mov eax, dword [ebp - 0xc4c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1010e9f
lea ecx, [ebp - 0xea0]
push ecx
call dword [sym.imp.MSVCR80.dll__wcslwr]
add esp, 4
push eax
mov edx, dword [ebp - 4]
push edx
push 0x71
push 0
push 2
call fcn.01028fb0
add esp, 0x14
push 0x104c894
call dword [0x104ef44]
test eax, eax
jne 0x1010aa1
cmp dword [0x104e7a8], 0
je 0x1010a96
cmp dword [0x104e0cc], 0
je 0x1010a96
lea eax, [ebp - 0xc78]
push eax
push 0x1001c84
call dword [sym.imp.MSVCR80.dll_wprintf]
add esp, 8
push 0x104c894
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x104e7a8], 0
je 0x1010ac8
cmp dword [0x104e0cc], 0
je 0x1010ac8
lea ecx, [ebp - 0xc78]
push ecx
push 0x1001c50
call dword [sym.imp.MSVCR80.dll_wprintf]
add esp, 8
mov dword [ebp - 0x818], 0
jmp 0x1010ae3
mov edx, dword [ebp - 0x818]
add edx, 1
mov dword [ebp - 0x818], edx
mov eax, dword [ebp - 0x818]
cmp eax, dword [ebp - 4]
jge 0x1010bf3
push 0
lea ecx, [ebp - 0xc50]
push ecx
push 0x14
lea edx, [ebp - 0xfb4]
push edx
mov eax, dword [ebp - 0xc4c]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1010bee
cmp dword [ebp - 0xc50], 0x14
jne 0x1010bee
push 0x6e5
lea ecx, [ebp - 0xc78]
push ecx
mov edx, dword [ebp - 0xfac]
push edx
call fcn.01011700
add esp, 0xc
mov dword [ebp - 0xfa8], eax
cmp dword [ebp - 0xfa8], 0
je 0x1010bee
push 0
lea eax, [ebp - 0xc50]
push eax
mov ecx, dword [ebp - 0xfac]
push ecx
mov edx, dword [ebp - 0xfa8]
push edx
mov eax, dword [ebp - 0xc4c]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1010bee
mov ecx, dword [ebp - 0xc50]
cmp ecx, dword [ebp - 0xfac]
jne 0x1010bee
lea edx, [ebp - 0xfb4]
push edx
push 0x104c98c
call dword [sym.imp.SQLSVC90.dll_SHRecMemAdd]
add esp, 8
cmp dword [ebp - 0xfb0], 0
jb 0x1010bd0
cmp dword [ebp - 0xfb0], 7
jae 0x1010bd0
mov eax, dword [ebp - 0xfb0]
mov ecx, dword [ebp + eax*4 - 0xc44]
add ecx, 1
mov edx, dword [ebp - 0xfb0]
mov dword [ebp + edx*4 - 0xc44], ecx
jmp 0x1010bdf
mov eax, dword [ebp - 0xc28]
add eax, 1
mov dword [ebp - 0xc28], eax
mov ecx, dword [ebp - 0xc24]
add ecx, 1
mov dword [ebp - 0xc24], ecx
jmp 0x1010ad4
push 0x104c894
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x104e7a8], 0
je 0x1010c25
cmp dword [0x104e0cc], 0
je 0x1010c25
lea edx, [ebp - 0xc78]
push edx
push 0x1001c1c
call dword [sym.imp.MSVCR80.dll_wprintf]
add esp, 8
mov eax, dword [ebp - 0xc4c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x400
lea ecx, [ebp - 0x810]
push ecx
push 0x72
mov edx, dword [0x104ef34]
push edx
call dword [sym.imp.USER32.dll_LoadStringW]
mov dword [ebp - 0xc48], 0
jmp 0x1010c68
mov eax, dword [ebp - 0xc48]
add eax, 1
mov dword [ebp - 0xc48], eax
cmp dword [ebp - 0xc48], 8
jae 0x1010cef
mov ecx, dword [ebp - 0xc48]
cmp dword [ebp + ecx*4 - 0xc44], 0
je 0x1010cea
push 0x200
lea edx, [ebp - 0xc18]
push edx
mov eax, dword [ebp - 0xc48]
add eax, 0x28
push eax
mov ecx, dword [0x104ef34]
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
mov edx, dword [ebp - 0xc48]
mov eax, dword [ebp + edx*4 - 0xc44]
push eax
lea ecx, [ebp - 0xc18]
push ecx
push 0x1001c04
push 0x80
lea edx, [ebp - 0xfa0]
push edx
call fcn.01011d00
add esp, 0x14
lea eax, [ebp - 0xfa0]
push eax
push 0x400
lea ecx, [ebp - 0x810]
push ecx
call fcn.01010ee0
jmp 0x1010c59
lea edx, [ebp - 0x810]
push edx
call dword [sym.imp.MSVCR80.dll_wcslen]
add esp, 4
mov word [ebp + eax*2 - 0x814], 0
lea eax, [ebp - 0x810]
push eax
push 0
push 0x100155c
push 2
call fcn.01028fb0
add esp, 0x10
cmp dword [ebp + 8], 0
je 0x1010e9f
lea ecx, [ebp - 0xea0]
push ecx
call dword [sym.imp.MSVCR80.dll__wcslwr]
add esp, 4
push eax
call fcn.01010f70
add esp, 4
mov edx, dword [ebp - 0xc24]
sub edx, dword [0x104c994]
mov dword [ebp - 0xc1c], edx
mov eax, dword [0x104c994]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x1010e9f
mov ecx, dword [ebp - 4]
push ecx
push 0x76
push 0
push 2
call fcn.01028fb0
add esp, 0x10
mov edx, dword [ebp - 4]
push edx
push 0x100
push 0
push 2
call fcn.01028fb0
add esp, 0x10
push 0x104c894
call dword [0x104ef44]
test eax, eax
jne 0x1010dd0
cmp dword [0x104e7a8], 0
je 0x1010dc5
cmp dword [0x104e0cc], 0
je 0x1010dc5
lea eax, [ebp - 0xc78]
push eax
push 0x1001c84
call dword [sym.imp.MSVCR80.dll_wprintf]
add esp, 8
push 0x104c894
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x104e7a8], 0
je 0x1010df7
cmp dword [0x104e0cc], 0
je 0x1010df7
lea ecx, [ebp - 0xc78]
push ecx
push 0x1001c50
call dword [sym.imp.MSVCR80.dll_wprintf]
add esp, 8
mov dword [ebp - 0x818], 0
jmp 0x1010e12
mov edx, dword [ebp - 0x818]
add edx, 1
mov dword [ebp - 0x818], edx
mov eax, dword [ebp - 0x818]
cmp eax, dword [0x104c994]
jge 0x1010e6d
mov ecx, dword [ebp - 0x818]
push ecx
push 0x104c98c
call dword [sym.imp.SQLSVC90.dll_SHRecMemLock]
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1010e6b
mov edx, dword [ebp - 8]
cmp dword [edx + 0xc], 0
je 0x1010e56
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.01011d50
add esp, 4
mov edx, dword [ebp - 0x818]
push edx
push 0x104c98c
call dword [sym.imp.SQLSVC90.dll_SHRecMemDelete]
add esp, 8
jmp 0x1010e03
push 0x104c894
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x104e7a8], 0
je 0x1010e9f
cmp dword [0x104e0cc], 0
je 0x1010e9f
lea eax, [ebp - 0xc78]
push eax
push 0x1001c1c
call dword [sym.imp.MSVCR80.dll_wprintf]
add esp, 8
cmp dword [ebp + 8], 0
je 0x1010eb3
mov ecx, dword [ebp - 0xc1c]
mov dword [ebp - 0xfb8], ecx
jmp 0x1010ebf
mov edx, dword [ebp - 0xc24]
mov dword [ebp - 0xfb8], edx
mov eax, dword [ebp - 0xfb8]
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.010471ba
mov esp, ebp
pop ebp
ret