Function at 0x41f7a9
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8c
push esi
push edi
mov ecx, 9
mov esi, str.LoadOperationCache
lea edi, [ebp - 0xd58]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ax, word [0x4495ec]
mov word [ebp - 0xf88], ax
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0xf86]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov cx, word [0x4495f4]
mov word [ebp - 0xd2c], cx
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0xd2a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dx, word [0x4495fc]
mov word [ebp - 0x128], dx
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x126]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ax, word [0x449604]
mov word [ebp - 0x92c], ax
mov ecx, 0x1ff
xor eax, eax
lea edi, [ebp - 0x92a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0xd5c], 0
mov dword [ebp - 0xd64], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0xd30], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0xd80], 0
mov dword [ebp - 0xd7c], 0
mov dword [ebp - 0xd60], 0
push 0x20
push 0
lea ecx, [ebp - 0x20]
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0x44b4d0
lea edx, [ebp - 0xf88]
push edx
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
push 0x43f1d4
lea eax, [ebp - 0xf88]
push eax
call dword [sym.imp.MSVCRT.dll_wcscat]
add esp, 8
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea ecx, [ebp - 0xf88]
push ecx
call dword [sym.imp.SQLUNIRL.dll__CreateFile_28]
mov dword [ebp - 0xd80], eax
cmp dword [ebp - 0xd80], 0xffffffff
je 0x41fde5
push 0
lea edx, [ebp - 0x24]
push edx
push 4
lea eax, [ebp - 0xd64]
push eax
mov ecx, dword [ebp - 0xd80]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0xd64], 0x6acfc0
jge 0x41f954
mov edx, dword [ebp - 0xd64]
push edx
push 0xea
push 0
push 1
call fcn.0041b8d1
add esp, 0x10
mov eax, dword [ebp - 0xd80]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41fde5
push 0
lea ecx, [ebp - 0x24]
push ecx
push 4
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ebp - 0xd80]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea ecx, [ebp - 0xf88]
push ecx
call dword [sym.imp.MSVCRT.dll__wcslwr]
add esp, 4
push eax
mov edx, dword [ebp - 0x28]
push edx
push 0x71
push 0
push 2
call fcn.0041b8d1
add esp, 0x14
cmp dword [0x448b1c], 0
je 0x41f9a6
push 0x449cc0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x41f9e7
push 0x449cc0
call dword [0x4492b4]
test eax, eax
jne 0x41f9e7
cmp dword [0x448b20], 0
je 0x41f9dc
cmp dword [0x44b6e0], 0
je 0x41f9dc
lea eax, [ebp - 0xd58]
push eax
push 0x43f1f0
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
push 0x449cc0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x448b20], 0
je 0x41fa0e
cmp dword [0x44b6e0], 0
je 0x41fa0e
lea ecx, [ebp - 0xd58]
push ecx
push 0x43f22c
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
mov dword [ebp - 0xd5c], 0
jmp 0x41fa29
mov edx, dword [ebp - 0xd5c]
add edx, 1
mov dword [ebp - 0xd5c], edx
mov eax, dword [ebp - 0xd5c]
cmp eax, dword [ebp - 0x28]
jge 0x41fb21
push 0
lea ecx, [ebp - 0x24]
push ecx
push 0x14
lea edx, [ebp - 0xd78]
push edx
mov eax, dword [ebp - 0xd80]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41fb1c
cmp dword [ebp - 0x24], 0x14
jne 0x41fb1c
push 0x5de
lea ecx, [ebp - 0xd58]
push ecx
mov edx, dword [ebp - 0xd70]
push edx
call fcn.00420465
add esp, 0xc
mov dword [ebp - 0xd6c], eax
cmp dword [ebp - 0xd6c], 0
je 0x41fb1c
push 0
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xd70]
push ecx
mov edx, dword [ebp - 0xd6c]
push edx
mov eax, dword [ebp - 0xd80]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41fb1c
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0xd70]
jne 0x41fb1c
lea edx, [ebp - 0xd78]
push edx
push 0x449de0
call dword [sym.imp.SQLSVC.dll_SHRecMemAdd]
add esp, 8
cmp dword [ebp - 0xd74], 0
jb 0x41fb04
cmp dword [ebp - 0xd74], 7
jae 0x41fb04
mov eax, dword [ebp - 0xd74]
mov ecx, dword [ebp + eax*4 - 0x20]
add ecx, 1
mov edx, dword [ebp - 0xd74]
mov dword [ebp + edx*4 - 0x20], ecx
jmp 0x41fb0d
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xd30]
add ecx, 1
mov dword [ebp - 0xd30], ecx
jmp 0x41fa1a
push 0x449cc0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x448b20], 0
je 0x41fb53
cmp dword [0x44b6e0], 0
je 0x41fb53
lea edx, [ebp - 0xd58]
push edx
push 0x43f260
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
mov eax, dword [ebp - 0xd80]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x400
lea ecx, [ebp - 0x92c]
push ecx
push 0x72
mov edx, dword [0x4492ac]
push edx
call dword [sym.imp.SQLUNIRL.dll__LoadString_16]
mov dword [ebp - 0xd7c], 0
jmp 0x41fb96
mov eax, dword [ebp - 0xd7c]
add eax, 1
mov dword [ebp - 0xd7c], eax
cmp dword [ebp - 0xd7c], 8
jae 0x41fc17
mov ecx, dword [ebp - 0xd7c]
cmp dword [ebp + ecx*4 - 0x20], 0
je 0x41fc12
push 0x200
lea edx, [ebp - 0xd2c]
push edx
mov eax, dword [ebp - 0xd7c]
add eax, 0x28
push eax
mov ecx, dword [0x4492ac]
push ecx
call dword [sym.imp.SQLUNIRL.dll__LoadString_16]
mov edx, dword [ebp - 0xd7c]
mov eax, dword [ebp + edx*4 - 0x20]
push eax
lea ecx, [ebp - 0xd2c]
push ecx
push str._s___ld__
lea edx, [ebp - 0x128]
push edx
mov eax, dword [0x449ba0]
call dword [eax + 0x4cc]
add esp, 0x10
lea ecx, [ebp - 0x128]
push ecx
lea edx, [ebp - 0x92c]
push edx
call dword [sym.imp.MSVCRT.dll_wcscat]
add esp, 8
jmp 0x41fb87
lea eax, [ebp - 0x92c]
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
mov word [ebp + eax*2 - 0x930], 0
push 0
lea ecx, [ebp - 0x92c]
push ecx
push 2
call fcn.0041b8d1
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x41fde5
lea edx, [ebp - 0xf88]
push edx
call dword [sym.imp.MSVCRT.dll__wcslwr]
add esp, 4
push eax
call fcn.0041fe11
add esp, 4
mov eax, dword [ebp - 0xd30]
sub eax, dword [0x449de8]
mov dword [ebp - 0x12c], eax
mov ecx, dword [0x449de8]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0
je 0x41fde5
mov edx, dword [ebp - 0x28]
push edx
push 0x76
push 0
push 2
call fcn.0041b8d1
add esp, 0x10
mov eax, dword [ebp - 0x28]
push eax
push 0x100
push 0
push 2
call fcn.0041b8d1
add esp, 0x10
cmp dword [0x448b1c], 0
je 0x41fcc9
push 0x449cc0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x41fd0a
push 0x449cc0
call dword [0x4492b4]
test eax, eax
jne 0x41fd0a
cmp dword [0x448b20], 0
je 0x41fcff
cmp dword [0x44b6e0], 0
je 0x41fcff
lea ecx, [ebp - 0xd58]
push ecx
push 0x43f2ac
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
push 0x449cc0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x448b20], 0
je 0x41fd31
cmp dword [0x44b6e0], 0
je 0x41fd31
lea edx, [ebp - 0xd58]
push edx
push 0x43f2e8
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
mov dword [ebp - 0xd5c], 0
jmp 0x41fd4c
mov eax, dword [ebp - 0xd5c]
add eax, 1
mov dword [ebp - 0xd5c], eax
mov ecx, dword [ebp - 0xd5c]
cmp ecx, dword [0x449de8]
jge 0x41fdb3
mov edx, dword [ebp - 0xd5c]
push edx
push 0x449de0
call dword [sym.imp.SQLSVC.dll_SHRecMemLock]
add esp, 8
mov dword [ebp - 0xd60], eax
cmp dword [ebp - 0xd60], 0
je 0x41fdb1
mov eax, dword [ebp - 0xd60]
cmp dword [eax + 0xc], 0
je 0x41fd9c
mov ecx, dword [ebp - 0xd60]
mov edx, dword [ecx + 0xc]
push edx
call fcn.004209ff
add esp, 4
mov eax, dword [ebp - 0xd5c]
push eax
push 0x449de0
call dword [sym.imp.SQLSVC.dll_SHRecMemDelete]
add esp, 8
jmp 0x41fd3d
push 0x449cc0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x448b20], 0
je 0x41fde5
cmp dword [0x44b6e0], 0
je 0x41fde5
lea ecx, [ebp - 0xd58]
push ecx
push 0x43f31c
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
cmp dword [ebp + 8], 0
je 0x41fdf9
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0xf8c], edx
jmp 0x41fe05
mov eax, dword [ebp - 0xd30]
mov dword [ebp - 0xf8c], eax
mov eax, dword [ebp - 0xf8c]
pop edi
pop esi
mov esp, ebp
pop ebp
ret