Function at 0x72c770
Capabilities:
Delete file

Disassembly:
push esi
push ebx
sub esp, 0x74
mov ebx, dword [esp + 0x80]
mov esi, dword [ebx]
mov dword [esp], ebx
call fcn.007316c0
mov eax, esi
and eax, 0x1000000
je 0x72c795
mov eax, dword [ebx + 0xa4]
mov dword [esp + 0x6c], eax
mov eax, 4
test esi, 0x400
jne 0x72cdd0
mov dword [esp + 0x24], eax
mov eax, 3
test esi, 0x4000
jne 0x72cda0
mov dword [esp + 0x28], eax
mov eax, 3
test esi, 0x2000000
jne 0x72cd68
mov dword [esp + 0x68], eax
mov eax, 2
test esi, 0x4000000
jne 0x72cd30
mov dword [esp + 0x64], eax
mov eax, 2
test esi, 0x1000
jne 0x72cd00
mov dword [esp + 0x2c], eax
mov eax, 3
test esi, 0x8000
jne 0x72ccd0
mov dword [esp + 0x30], eax
mov eax, 2
test esi, 0x10000
jne 0x72cca0
mov dword [esp + 0x44], eax
mov eax, 2
test esi, 0x40000
jne 0x72cc70
mov dword [esp + 0x50], eax
mov eax, 2
test esi, 0x80000
jne 0x72cc38
mov dword [esp + 0x54], eax
mov eax, 2
test esi, 0x400000
jne 0x72cc00
mov dword [esp + 0x60], eax
mov eax, 0xc
test esi, 0x100000
jne 0x72cbc8
mov dword [esp + 0x58], eax
mov eax, 3
test esi, 0x200000
jne 0x72cb90
mov dword [esp + 0x5c], eax
mov eax, 2
test esi, 0x800
jne 0x72cb60
mov dword [esp + 0x34], eax
mov eax, 3
test esi, 0x2000
jne 0x72cb30
mov dword [esp + 0x3c], eax
mov eax, 5
test esi, 0x200
jne 0x72cb00
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00730aa0
cmp eax, 0xffffffff
je 0x72ca60
mov dword [esp + 0x48], 0
cmp eax, 2
je 0x72cab0
jle 0x72ca40
cmp eax, 3
jne 0x72ca49
xor eax, eax
cmp dword [esp + 0x3c], 3
mov dword [esp + 0x48], eax
je 0x72c920
cmp dword [esp + 0x24], 1
je 0x72ce68
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x72c940
mov eax, dword [esp + 0x28]
test eax, eax
je 0x72c940
cmp eax, 3
jne 0x72ce20
lea esi, [esi]
cmp dword [esp + 0x24], 2
mov eax, dword [esp + 0x3c]
je 0x72cac0
cmp eax, 3
jne 0x72c95c
mov dword [esp + 0x3c], 0
mov eax, dword [ebx]
test al, 3
jne 0x72ca20
test eax, 0x800000
jne 0x72ce58
mov eax, dword [ebx + 4]
test eax, eax
js 0x72ce88
mov dword [esp], eax
call fcn.007301d0
mov esi, eax
mov eax, dword [esi + 4]
test eax, eax
je 0x72c9f8
test dword [ebx], 0x100
je 0x72ce40
mov eax, dword [ebx + 0x28]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0072ebe0
test eax, eax
jne 0x72ce40
mov eax, dword [esi + 4]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x1c]
cmp eax, 0xffffffff
je 0x72cec0
mov eax, dword [esi + 0xdc]
mov dword [esi + 4], 0
test eax, eax
je 0x72c9e6
cmp dword [esi + 0x48], 3
je 0x72cee8
mov dword [esp], eax
call fcn.00719704
mov dword [esi + 0xdc], 0
lea eax, [esp + 0x24]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.00732890
test eax, eax
je 0x72ca20
mov dword [esp], eax
call fcn.00737a20
lea esi, [esi]
nop
mov eax, dword [ebx]
and eax, 0x800003
cmp eax, 0x800000
jne 0x72ca39
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 0xa0]
mov dword [eax], edx
add esp, 0x74
pop ebx
pop esi
ret
cmp eax, 1
jbe 0x72c90a
mov dword [esp + 4], 0x7b9420
mov dword [esp], ebx
call fcn.00731650
lea esi, [esi]
and esi, 0x20000
mov eax, dword [0x76be8c]
je 0x72c8e8
mov dword [esp + 0x10], str.Bad_CONVERT_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2760
mov eax, dword [ebx + 0x74]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x70]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
mov dword [esp + 0x48], 0
cmp eax, 2
jne 0x72c8f9
lea esi, [esi]
nop
mov eax, 1
jmp 0x72c90a
sub eax, 2
cmp eax, 1
ja 0x72ce00
mov dword [esp + 8], str.Extension:_APPEND_as_a_value_for_ACCESS_in_OPEN_statement
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00733f80
mov dword [esp + 0x24], 0
mov dword [esp + 0x3c], 2
jmp 0x72c95c
mov dword [esp + 0x10], str.Bad_STATUS_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2ba0
mov eax, dword [ebx + 0x34]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x30]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c8d0
mov dword [esp + 0x10], str.Bad_POSITION_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2a00
mov eax, dword [ebx + 0x54]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x50]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c8bb
mov dword [esp + 0x10], str.Bad_FORM_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c283c
mov eax, dword [ebx + 0x44]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x40]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c8a6
mov dword [esp + 0x10], str.Bad_SIGN_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2b40
mov eax, dword [ebx + 0x94]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x90]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c891
mov dword [esp + 0x10], str.Bad_ROUND_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2aa0
mov eax, dword [ebx + 0x88]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x8c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c87c
mov dword [esp + 0x10], str.Bad_ASYNCHRONOUS_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c25b8
mov eax, dword [ebx + 0x98]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x9c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c867
mov dword [esp + 0x10], str.Bad_ENCODING_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2820
mov eax, dword [ebx + 0x84]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x80]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c852
mov dword [esp + 0x10], str.Bad_DECIMAL_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c27a0
mov eax, dword [ebx + 0x78]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x7c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c83d
mov dword [esp + 0x10], str.Bad_PAD_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2960
mov eax, dword [ebx + 0x68]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x6c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c828
mov dword [esp + 0x10], str.Bad_DELIM_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c27e0
mov eax, dword [ebx + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x60]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c813
mov dword [esp + 0x10], str.Bad_BLANK_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2680
mov eax, dword [ebx + 0x48]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x4c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c7fe
mov dword [esp + 0x10], str.Bad_SHARE_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2b20
mov eax, dword [ebx + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c7e9
mov dword [esp + 0x10], str.Bad_CARRIAGECONTROL_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2700
mov eax, dword [ebx + 0xa8]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xac]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c7d4
mov dword [esp + 0x10], str.Bad_ACTION_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2580
mov eax, dword [ebx + 0x58]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x5c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c7bf
mov dword [esp + 0x10], str.Bad_ACCESS_parameter_in_OPEN_statement
mov dword [esp + 0xc], 0x7c2540
mov eax, dword [ebx + 0x38]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00730130
jmp 0x72c7aa
mov dword [esp + 8], str.Conflicting_ACCESS_and_POSITION_flags_in_OPEN_statement
mov dword [esp + 4], 0x138a
mov dword [esp], ebx
call fcn.0072a8c0
jmp 0x72cacc
mov dword [esp + 8], str.ACTION_conflicts_with_READONLY_in_OPEN_statement
mov dword [esp + 4], 0x138a
mov dword [esp], ebx
call fcn.0072a8c0
jmp 0x72c940
lea ecx, [esp + 0x24]
mov edx, esi
mov eax, ebx
call fcn.0073cfe0
jmp 0x72ca20
call fcn.00733280
mov dword [ebx + 4], eax
jmp 0x72c97c
mov dword [esp + 8], str.Cannot_use_POSITION_with_direct_access_files
mov dword [esp + 4], 0x138a
mov dword [esp], ebx
call fcn.0072a8c0
jmp 0x72c920
mov dword [esp], eax
call fcn.007301e0
mov esi, eax
test eax, eax
jne 0x72c986
mov dword [esp + 8], str.Bad_unit_number_in_OPEN_statement
mov dword [esp + 4], 0x138a
mov dword [esp], ebx
call fcn.0072a8c0
jmp 0x72ca39
mov dword [esp], esi
call fcn.00737a20
mov dword [esp + 8], str.Error_closing_file_in_OPEN_statement
mov dword [esp + 4], 0x1388
mov dword [esp], ebx
call fcn.0072a8c0
jmp 0x72ca20
mov dword [esp], eax
call sub.msvcrt.dll_remove
mov eax, dword [esi + 0xdc]
jmp 0x72c9e6