Function at 0x420137
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 [0x44bb5c]
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 [0x44bb64]
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 [0x44bb6c]
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 [0x44bb74]
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 0x44da74
lea edx, [ebp - 0xf88]
push edx
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
push 0x44204c
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 0x420773
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 0x4202e2
mov edx, dword [ebp - 0xd64]
push edx
push 0xea
push 0
push 1
call fcn.0041bfab
add esp, 0x10
mov eax, dword [ebp - 0xd80]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x420773
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.0041bfab
add esp, 0x14
cmp dword [0x44b08c], 0
je 0x420334
push 0x44c260
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x420375
push 0x44c260
call dword [0x44b824]
test eax, eax
jne 0x420375
cmp dword [0x44b090], 0
je 0x42036a
cmp dword [0x44dc84], 0
je 0x42036a
lea eax, [ebp - 0xd58]
push eax
push 0x442068
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
push 0x44c260
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x44b090], 0
je 0x42039c
cmp dword [0x44dc84], 0
je 0x42039c
lea ecx, [ebp - 0xd58]
push ecx
push 0x4420a4
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
mov dword [ebp - 0xd5c], 0
jmp 0x4203b7
mov edx, dword [ebp - 0xd5c]
add edx, 1
mov dword [ebp - 0xd5c], edx
mov eax, dword [ebp - 0xd5c]
cmp eax, dword [ebp - 0x28]
jge 0x4204af
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 0x4204aa
cmp dword [ebp - 0x24], 0x14
jne 0x4204aa
push 0x677
lea ecx, [ebp - 0xd58]
push ecx
mov edx, dword [ebp - 0xd70]
push edx
call fcn.00420df3
add esp, 0xc
mov dword [ebp - 0xd6c], eax
cmp dword [ebp - 0xd6c], 0
je 0x4204aa
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 0x4204aa
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0xd70]
jne 0x4204aa
lea edx, [ebp - 0xd78]
push edx
push 0x44c380
call dword [sym.imp.SQLSVC.dll_SHRecMemAdd]
add esp, 8
cmp dword [ebp - 0xd74], 0
jb 0x420492
cmp dword [ebp - 0xd74], 7
jae 0x420492
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 0x42049b
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 0x4203a8
push 0x44c260
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x44b090], 0
je 0x4204e1
cmp dword [0x44dc84], 0
je 0x4204e1
lea edx, [ebp - 0xd58]
push edx
push 0x4420d8
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 [0x44b81c]
push edx
call dword [sym.imp.SQLUNIRL.dll__LoadString_16]
mov dword [ebp - 0xd7c], 0
jmp 0x420524
mov eax, dword [ebp - 0xd7c]
add eax, 1
mov dword [ebp - 0xd7c], eax
cmp dword [ebp - 0xd7c], 8
jae 0x4205a5
mov ecx, dword [ebp - 0xd7c]
cmp dword [ebp + ecx*4 - 0x20], 0
je 0x4205a0
push 0x200
lea edx, [ebp - 0xd2c]
push edx
mov eax, dword [ebp - 0xd7c]
add eax, 0x28
push eax
mov ecx, dword [0x44b81c]
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 [0x44df4c]
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 0x420515
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.0041bfab
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x420773
lea edx, [ebp - 0xf88]
push edx
call dword [sym.imp.MSVCRT.dll__wcslwr]
add esp, 4
push eax
call fcn.0042079f
add esp, 4
mov eax, dword [ebp - 0xd30]
sub eax, dword [0x44c388]
mov dword [ebp - 0x12c], eax
mov ecx, dword [0x44c388]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0
je 0x420773
mov edx, dword [ebp - 0x28]
push edx
push 0x76
push 0
push 2
call fcn.0041bfab
add esp, 0x10
mov eax, dword [ebp - 0x28]
push eax
push 0x100
push 0
push 2
call fcn.0041bfab
add esp, 0x10
cmp dword [0x44b08c], 0
je 0x420657
push 0x44c260
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x420698
push 0x44c260
call dword [0x44b824]
test eax, eax
jne 0x420698
cmp dword [0x44b090], 0
je 0x42068d
cmp dword [0x44dc84], 0
je 0x42068d
lea ecx, [ebp - 0xd58]
push ecx
push 0x442124
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
push 0x44c260
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x44b090], 0
je 0x4206bf
cmp dword [0x44dc84], 0
je 0x4206bf
lea edx, [ebp - 0xd58]
push edx
push 0x442160
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
mov dword [ebp - 0xd5c], 0
jmp 0x4206da
mov eax, dword [ebp - 0xd5c]
add eax, 1
mov dword [ebp - 0xd5c], eax
mov ecx, dword [ebp - 0xd5c]
cmp ecx, dword [0x44c388]
jge 0x420741
mov edx, dword [ebp - 0xd5c]
push edx
push 0x44c380
call dword [sym.imp.SQLSVC.dll_SHRecMemLock]
add esp, 8
mov dword [ebp - 0xd60], eax
cmp dword [ebp - 0xd60], 0
je 0x42073f
mov eax, dword [ebp - 0xd60]
cmp dword [eax + 0xc], 0
je 0x42072a
mov ecx, dword [ebp - 0xd60]
mov edx, dword [ecx + 0xc]
push edx
call fcn.0042138d
add esp, 4
mov eax, dword [ebp - 0xd5c]
push eax
push 0x44c380
call dword [sym.imp.SQLSVC.dll_SHRecMemDelete]
add esp, 8
jmp 0x4206cb
push 0x44c260
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x44b090], 0
je 0x420773
cmp dword [0x44dc84], 0
je 0x420773
lea ecx, [ebp - 0xd58]
push ecx
push 0x442194
call dword [sym.imp.MSVCRT.dll_wprintf]
add esp, 8
cmp dword [ebp + 8], 0
je 0x420787
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0xf8c], edx
jmp 0x420793
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