Function at 0x575560
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61ea74
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x44c], eax
cmp dword [ebp - 0x44c], 0x10b
ja 0x5755d9
cmp dword [ebp - 0x44c], 0x10b
je case.0x5755d2.121
mov eax, dword [ebp - 0x44c]
sub eax, 2
mov dword [ebp - 0x44c], eax
cmp dword [ebp - 0x44c], 0xcc
ja case.0x5755d2.2
mov ecx, dword [ebp - 0x44c]
movzx edx, byte [ecx + 0x575c14]
jmp dword [edx*4 + 0x575bd8]
cmp dword [ebp - 0x44c], 0x781
je case.0x5755d2.1
cmp dword [ebp - 0x44c], 0x1779
je 0x575698
jmp case.0x5755d2.2
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00566720
push 0x69b208
lea ecx, [ebp - 0x3c]
push ecx
call fcn.005ecf53
push 0
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x6c]
call fcn.00566930
push 0x69b250
lea eax, [ebp - 0x6c]
push eax
call fcn.005ecf53
push 0
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x9c]
call fcn.00566d50
push 0x69b2e0
lea edx, [ebp - 0x9c]
push edx
call fcn.005ecf53
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0xcc]
call fcn.00566510
push 0x69b1c0
lea ecx, [ebp - 0xcc]
push ecx
call fcn.005ecf53
push 0
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0xfc]
call fcn.00565cd0
push 0x69b0e8
lea eax, [ebp - 0xfc]
push eax
call fcn.005ecf53
push 0
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x12c]
call fcn.00566b40
push 0x69b298
lea edx, [ebp - 0x12c]
push edx
call fcn.005ecf53
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00566f60
push 0x694a60
lea ecx, [ebp - 0x15c]
push ecx
call fcn.005ecf53
lea edx, [ebp - 0x3bd]
mov dword [ebp - 0x3bc], edx
push 0
push 0
lea ecx, [ebp - 0x1a8]
call fcn.004028c0
mov dword [ebp - 0x450], str.directory_not_empty
mov eax, dword [ebp - 0x450]
add eax, 1
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x450]
mov dl, byte [ecx]
mov byte [ebp - 0x455], dl
add dword [ebp - 0x450], 1
cmp byte [ebp - 0x455], 0
jne 0x575710
mov eax, dword [ebp - 0x450]
sub eax, dword [ebp - 0x454]
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x45c]
push ecx
push str.directory_not_empty
lea ecx, [ebp - 0x1a8]
call fcn.00402910
mov dword [ebp - 4], 0
push 0
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x18c]
call fcn.00566330
push 0x69b198
lea ecx, [ebp - 0x18c]
push ecx
call fcn.005ecf53
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x1a8]
call fcn.004028c0
push 0
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x1d8]
call fcn.00567380
push 0x694a70
lea eax, [ebp - 0x1d8]
push eax
call fcn.005ecf53
push 0
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x208]
call fcn.00567590
push 0x69b328
lea edx, [ebp - 0x208]
push edx
call fcn.005ecf53
lea eax, [ebp - 0x3c9]
mov dword [ebp - 0x3c8], eax
push 0
push 0
lea ecx, [ebp - 0x254]
call fcn.004028c0
mov dword [ebp - 0x460], str.sharing_violation
mov ecx, dword [ebp - 0x460]
add ecx, 1
mov dword [ebp - 0x464], ecx
mov edx, dword [ebp - 0x460]
mov al, byte [edx]
mov byte [ebp - 0x465], al
add dword [ebp - 0x460], 1
cmp byte [ebp - 0x465], 0
jne 0x575815
mov ecx, dword [ebp - 0x460]
sub ecx, dword [ebp - 0x464]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x46c]
push edx
push str.sharing_violation
lea ecx, [ebp - 0x254]
call fcn.00402910
mov dword [ebp - 4], 1
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x254]
push ecx
lea ecx, [ebp - 0x238]
call fcn.00566330
push 0x69b198
lea edx, [ebp - 0x238]
push edx
call fcn.005ecf53
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x254]
call fcn.004028c0
lea eax, [ebp - 0x3dd]
mov dword [ebp - 0x3dc], eax
push 0
push 0
lea ecx, [ebp - 0x2a0]
call fcn.004028c0
mov dword [ebp - 0x470], str.lock_violation
mov ecx, dword [ebp - 0x470]
add ecx, 1
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x470]
mov al, byte [edx]
mov byte [ebp - 0x475], al
add dword [ebp - 0x470], 1
cmp byte [ebp - 0x475], 0
jne 0x5758d6
mov ecx, dword [ebp - 0x470]
sub ecx, dword [ebp - 0x474]
mov dword [ebp - 0x47c], ecx
mov edx, dword [ebp - 0x47c]
push edx
push str.lock_violation
lea ecx, [ebp - 0x2a0]
call fcn.00402910
mov dword [ebp - 4], 2
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x2a0]
push ecx
lea ecx, [ebp - 0x284]
call fcn.00566330
push 0x69b198
lea edx, [ebp - 0x284]
push edx
call fcn.005ecf53
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x2a0]
call fcn.004028c0
lea eax, [ebp - 0x3f1]
mov dword [ebp - 0x3f0], eax
push 0
push 0
lea ecx, [ebp - 0x2ec]
call fcn.004028c0
mov dword [ebp - 0x480], str.EOF_reached
mov ecx, dword [ebp - 0x480]
add ecx, 1
mov dword [ebp - 0x484], ecx
mov edx, dword [ebp - 0x480]
mov al, byte [edx]
mov byte [ebp - 0x485], al
add dword [ebp - 0x480], 1
cmp byte [ebp - 0x485], 0
jne 0x575997
mov ecx, dword [ebp - 0x480]
sub ecx, dword [ebp - 0x484]
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x48c]
push edx
push str.EOF_reached
lea ecx, [ebp - 0x2ec]
call fcn.00402910
mov dword [ebp - 4], 3
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x2ec]
push ecx
lea ecx, [ebp - 0x2d0]
call fcn.005675c0
push 0x69b328
lea edx, [ebp - 0x2d0]
push edx
call fcn.005ecf53
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x2ec]
call fcn.004028c0
lea eax, [ebp - 0x405]
mov dword [ebp - 0x404], eax
push 0
push 0
lea ecx, [ebp - 0x338]
call fcn.004028c0
mov dword [ebp - 0x490], str.disk_is_full
mov ecx, dword [ebp - 0x490]
add ecx, 1
mov dword [ebp - 0x494], ecx
mov edx, dword [ebp - 0x490]
mov al, byte [edx]
mov byte [ebp - 0x495], al
add dword [ebp - 0x490], 1
cmp byte [ebp - 0x495], 0
jne 0x575a58
mov ecx, dword [ebp - 0x490]
sub ecx, dword [ebp - 0x494]
mov dword [ebp - 0x49c], ecx
mov edx, dword [ebp - 0x49c]
push edx
push str.disk_is_full
lea ecx, [ebp - 0x338]
call fcn.00402910
mov dword [ebp - 4], 4
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x338]
push ecx
lea ecx, [ebp - 0x31c]
call fcn.005673b0
push 0x694a70
lea edx, [ebp - 0x31c]
push edx
call fcn.005ecf53
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x338]
call fcn.004028c0
lea eax, [ebp - 0x431]
mov dword [ebp - 0x430], eax
push 0
push 0
lea ecx, [ebp - 0x384]
call fcn.004028c0
mov dword [ebp - 0x4a0], str.negative_seek
mov ecx, dword [ebp - 0x4a0]
add ecx, 1
mov dword [ebp - 0x4a4], ecx
mov edx, dword [ebp - 0x4a0]
mov al, byte [edx]
mov byte [ebp - 0x4a5], al
add dword [ebp - 0x4a0], 1
cmp byte [ebp - 0x4a5], 0
jne 0x575b19
mov ecx, dword [ebp - 0x4a0]
sub ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4ac], ecx
mov edx, dword [ebp - 0x4ac]
push edx
push str.negative_seek
lea ecx, [ebp - 0x384]
call fcn.00402910
mov dword [ebp - 4], 5
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x384]
push ecx
lea ecx, [ebp - 0x368]
call fcn.00566330
push 0x69b198
lea edx, [ebp - 0x368]
push edx
call fcn.005ecf53
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x384]
call fcn.004028c0
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3b4]
call fcn.00566300
push 0x69b198
lea ecx, [ebp - 0x3b4]
push ecx
call fcn.005ecf53
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret