Function at 0x4679b0
Capabilities:
Check for software breakpoints
Check if file exists
Get file attributes

Disassembly:
push esi
mov esi, ecx
cmp dword [esi + 0x14], 0
jne 0x4679cf
push 0
push 0x5e
push str.g:projectspoco_1.8.1_all_foundation_srcFile_WIN32U.cpp
push str.__path.empty__
call fcn.0046b790
add esp, 0x10
cmp dword [esi + 0x30], 8
lea eax, [esi + 0x1c]
jb 0x4679da
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x467a06
call dword [sym.imp.KERNEL32.dll_GetLastError]
add eax, 0xfffffffe
cmp eax, 0x13
ja case.0x4679fb.4
movzx eax, byte [eax + 0x467a1c]
jmp dword [eax*4 + 0x467a14]
xor al, al
pop esi
ret
mov al, 1
pop esi
ret
lea eax, [esi + 4]
push eax
call fcn.00467a30
nop
add bh, byte [edx + 0x46]
add byte [edx], cl
jp 0x467a61
add byte [eax], al
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add byte [ebp - 117], dl
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4ba148
push eax
mov dword fs:[0], esp
sub esp, 0x84
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, 0x10b
ja 0x467c08
add byte [eax], al
je case.0x467a7e.123
lea eax, [esi - 2]
cmp eax, 0xcc
ja case.0x467a7e.4
movzx eax, byte [eax + 0x467ca4]
jmp dword [eax*4 + 0x467c68]
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
call fcn.00469c00
push 0x4f4840
lea eax, [ebp - 0x38]
push eax
call fcn.00483d2d
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
call fcn.00469ae0
push 0x4f4908
lea eax, [ebp - 0x38]
push eax
call fcn.00483d2d
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
call fcn.00469bb0
push 0x4f4950
lea eax, [ebp - 0x38]
push eax
call fcn.00483d2d
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
call fcn.004697b0
push 0x4f49e0
lea eax, [ebp - 0x38]
push eax
call fcn.00483d2d
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
call fcn.00469850
push 0x4f4a28
lea eax, [ebp - 0x38]
push eax
call fcn.00483d2d
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
call fcn.0046a090
push 0x4f4a70
lea eax, [ebp - 0x38]
push eax
call fcn.00483d2d
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
call fcn.00469ef0
push 0x4f4ab8
lea eax, [ebp - 0x38]
push eax
call fcn.00483d2d
push str.sharing_violation
lea ecx, [ebp - 0x24]
call fcn.00406d20
mov dword [ebp - 4], 0
push esi
push dword [ebp + 8]
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x64]
call fcn.00469b30
push 0x4f4b00
lea eax, [ebp - 0x64]
push eax
call fcn.00483d2d
push str.lock_violation
lea ecx, [ebp - 0x24]
call fcn.00406d20
mov dword [ebp - 4], 1
jmp 0x467b4f
push str.EOF_reached
lea ecx, [ebp - 0x24]
call fcn.00406d20
push esi
push dword [ebp + 8]
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 2
push eax
lea ecx, [ebp - 0x64]
call fcn.00469ec0
push 0x4f4ab8
jmp 0x467b64
push str.disk_is_full
lea ecx, [ebp - 0x24]
call fcn.00406d20
push esi
push dword [ebp + 8]
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 3
push eax
lea ecx, [ebp - 0x64]
call fcn.0046a060
push 0x4f4a70
jmp 0x467b64
push str.negative_seek
lea ecx, [ebp - 0x24]
call fcn.00406d20
mov dword [ebp - 4], 4
jmp 0x467b4f
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x64]
call fcn.00469e30
push 0x4f46ac
jmp 0x467b64
cmp esi, 0x781
je case.0x467a7e.3
cmp esi, 0x1779
je 0x467c37
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x90]
call fcn.00469b60
push 0x4f4b00
lea eax, [ebp - 0x90]
jmp 0x467b67
push 0x1779
push dword [ebp + 8]
lea ecx, [ebp - 0x64]
call fcn.00469c50
push 0x4f4998
jmp 0x467b64
push esi
push dword [ebp + 8]
lea ecx, [ebp - 0x64]
call fcn.00469de0
push 0x4f48c0
jmp 0x467b64