Function at 0x465b00
Capabilities:
Check if file exists
Delete file
Get file attributes
Set file attributes

Disassembly:
push ebp
mov eax, 0x28d4
mov ebp, esp
push edi
push esi
push ebx
call fcn.0057e5f0
sub esp, eax
mov eax, dword [sym.imp.kernel32.dll__lcreat]
mov dword [ebp - 0x287c], 0x74736574
mov dword [ebp - 0x2878], 0x2f6966
mov dword [esp + 4], 0
mov dword [esp], 0x76d020
mov dword [ebp - 0x2894], eax
call eax
sub esp, 8
cmp eax, 0xffffffff
je 0x466b20
mov ebx, eax
mov eax, 0x13a
lea edi, [ebp - 0x271c]
call fcn.0045b740
mov eax, dword [sym.imp.kernel32.dll__hwrite]
mov dword [esp], ebx
mov dword [esp + 8], 0x2b8
mov dword [esp + 4], str.en_larvig_liten_text_dx_e_gx_hej_84_hej_4484__
mov dword [ebp - 0x28a4], eax
call eax
sub esp, 0xc
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str._hwrite_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x13c
call fcn.0045b740
mov ecx, dword [sym.imp.kernel32.dll__llseek]
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x28a8], ecx
call ecx
sub esp, 0xc
test eax, eax
sete al
mov dword [esp + 4], str._llseek_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x13e
call fcn.0045b740
mov ecx, dword [sym.imp.kernel32.dll__hread]
mov dword [esp], ebx
mov dword [esp + 4], edi
lea edi, [ebp - 0x285c]
mov dword [esp + 8], 0x2b8
mov dword [ebp - 0x28ac], ecx
call ecx
sub esp, 0xc
cmp eax, 0x2b8
sete al
mov dword [esp + 4], str.erratic__hread_return_value_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x140
call fcn.0045b740
mov ecx, dword [sym.imp.kernel32.dll__lclose]
mov dword [esp], ebx
mov dword [ebp - 0x289c], ecx
call ecx
sub esp, 4
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str._lclose_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp + 4], edi
mov edi, dword [sym.imp.kernel32.dll_FindFirstFileA]
mov dword [esp], 0x76d020
mov dword [ebp - 0x2898], edi
call edi
sub esp, 8
mov ebx, eax
mov eax, 0x143
call fcn.0045b740
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.should_be_able_to_find_file_n
setne al
mov dword [esp], eax
call fcn.0045bef0
mov esi, dword [sym.imp.kernel32.dll_FindClose]
mov dword [esp], ebx
mov dword [ebp - 0x28a0], esi
call esi
mov edi, dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
mov dword [esp], 0x76d020
call edi
sub esp, 4
mov ebx, eax
mov eax, 0x147
call fcn.0045b740
mov esi, dword fs:[0x18]
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.DeleteFile_failed___ld__n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp + 4], 1
mov dword [esp], 0x76d020
mov ebx, dword [ebp - 0x2894]
call ebx
sub esp, 8
mov ebx, eax
mov eax, 0x14a
call fcn.0045b740
mov eax, dword [esi + 0x34]
mov dword [esp + 8], 0x76d020
mov dword [esp + 4], str.couldnt_create_file___s___err_ld__n
mov dword [esp + 0xc], eax
xor eax, eax
cmp ebx, 0xffffffff
setne al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14c
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 8], 0x2b8
mov dword [esp + 4], str.en_larvig_liten_text_dx_e_gx_hej_84_hej_4484__
mov eax, dword [ebp - 0x28a4]
call eax
sub esp, 0xc
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str._hwrite_shouldnt_be_able_to_write_never_the_less_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14e
call fcn.0045b740
mov dword [esp], ebx
mov ecx, dword [ebp - 0x289c]
call ecx
sub esp, 4
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str._lclose_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
lea edx, [ebp - 0x285c]
mov dword [esp], 0x76d020
mov dword [esp + 4], edx
mov ebx, dword [ebp - 0x2898]
call ebx
sub esp, 8
mov ebx, eax
mov eax, 0x151
call fcn.0045b740
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.should_be_able_to_find_file_n
setne al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp], ebx
mov edx, dword [ebp - 0x28a0]
call edx
mov dword [esi + 0x34], 0xdeadbeef
mov eax, 0x155
sub esp, 4
call fcn.0045b740
mov dword [esp], 0x76d020
call edi
sub esp, 4
test eax, eax
sete al
mov dword [esp + 4], str.shouldnt_be_able_to_delete_a_readonly_file_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x156
call fcn.0045b740
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x59a28c
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 5
sete al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x158
call fcn.0045b740
mov edx, dword [sym.imp.kernel32.dll_SetFileAttributesA]
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], 0x76d020
mov dword [ebp - 0x28b0], edx
call edx
sub esp, 8
test eax, eax
setne al
mov dword [esp + 4], str.couldnt_change_attributes_on_file_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x15a
call fcn.0045b740
mov dword [esp], 0x76d020
call edi
sub esp, 4
test eax, eax
setne al
mov dword [esp + 4], str.now_it_should_be_possible_to_delete_the_file__n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp + 4], 1
mov dword [esp], 0x76d020
mov ebx, dword [ebp - 0x2894]
call ebx
sub esp, 8
mov ebx, eax
mov eax, 0x15d
call fcn.0045b740
mov eax, dword [esi + 0x34]
mov dword [esp + 8], 0x76d020
lea esi, [ebp - 0x2884]
mov dword [esp + 4], str.couldnt_create_file___s___err_ld__n
mov dword [esp + 0xc], eax
xor eax, eax
cmp ebx, 0xffffffff
setne al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x15e
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 8], 0x2b8
mov dword [esp + 4], str.en_larvig_liten_text_dx_e_gx_hej_84_hej_4484__
mov eax, dword [ebp - 0x28a4]
call eax
sub esp, 0xc
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str._hwrite_shouldnt_be_able_to_write_never_the_less_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x160
call fcn.0045b740
mov dword [esp], ebx
mov ecx, dword [ebp - 0x289c]
call ecx
sub esp, 4
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str._lclose_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
lea eax, [ebp - 0x285c]
mov dword [esp], 0x76d020
mov dword [esp + 4], eax
mov ebx, dword [ebp - 0x2898]
call ebx
sub esp, 8
mov ebx, eax
mov eax, 0x163
call fcn.0045b740
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.should_be_able_to_find_file_n
setne al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp], ebx
mov edx, dword [ebp - 0x28a0]
call edx
lea eax, [ebp - 0x2874]
sub esp, 4
mov dword [esp], eax
mov dword [esp + 4], 0x76d020
call dword [0x76d130]
lea eax, [ebp - 0x2874]
sub esp, 8
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], eax
call dword [0x76d140]
sub esp, 0xc
mov ebx, eax
mov eax, 0x11d
call fcn.0045b740
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.RtlAnsiStringToUnicodeString_failed_with__08lx_n
mov dword [esp], eax
call fcn.0045bef0
lea eax, [ebp - 0x288c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2880]
mov dword [esp], eax
call dword [0x76d144]
mov ebx, eax
sub esp, 0x10
mov eax, 0x120
call fcn.0045b740
movzx ebx, bl
mov dword [esp + 4], str.RtlDosPathNameToNtPathName_U_failed_n
mov dword [esp], ebx
call fcn.0045bef0
mov dword [esp], esi
call dword [0x76d12c]
lea eax, [ebp - 0x288c]
mov dword [ebp - 0x2874], 0x18
mov dword [ebp - 0x286c], eax
sub esp, 4
lea eax, [ebp - 0x2874]
mov dword [ebp - 0x2870], 0
mov dword [ebp - 0x2868], 0x40
mov dword [ebp - 0x2864], 0
mov dword [ebp - 0x2860], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x2890]
mov dword [esp + 0xc], esi
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0x1040
mov dword [esp + 0x1c], 1
mov dword [esp + 0x18], 7
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0xc0010000
mov dword [esp], eax
call dword [0x76d148]
sub esp, 0x2c
mov ebx, eax
mov eax, 0x171
call fcn.0045b740
xor eax, eax
cmp ebx, 0xc0000022
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_STATUS_ACCESS_DENIED__got__08lx_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x172
call fcn.0045b740
mov dword [esp], 0x76d020
mov ebx, dword [sym.imp.kernel32.dll_GetFileAttributesA]
call ebx
sub esp, 4
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str.file_was_deleted_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
lea eax, [ebp - 0x2874]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
lea eax, [ebp - 0x2890]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0x1040
mov dword [esp + 0x1c], 1
mov dword [esp + 0x18], 7
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0x10000
mov dword [esp], eax
call dword [0x76d148]
sub esp, 0x2c
mov dword [ebp - 0x28b4], eax
mov eax, 0x177
call fcn.0045b740
mov edx, dword [ebp - 0x28b4]
xor eax, eax
mov dword [esp + 4], str.expected_STATUS_CANNOT_DELETE__got__08lx_n
cmp edx, 0xc0000121
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0045bef0
lea eax, [ebp - 0x2874]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
lea eax, [ebp - 0x2890]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0x1001
mov dword [esp + 0x1c], 1
mov dword [esp + 0x18], 7
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0x10000
mov dword [esp], eax
call dword [0x76d148]
sub esp, 0x2c
mov dword [ebp - 0x28b4], eax
mov eax, 0x17c
call fcn.0045b740
mov edx, dword [ebp - 0x28b4]
xor eax, eax
mov dword [esp + 4], str.expected_STATUS_NOT_A_DIRECTORY__got__08lx_n
cmp edx, 0xc0000103
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0045bef0
lea eax, [ebp - 0x2874]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
lea eax, [ebp - 0x2890]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0x1040
mov dword [esp + 0x1c], 3
mov dword [esp + 0x18], 7
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0x10000
mov dword [esp], eax
call dword [0x76d148]
mov ecx, dword [0x8f0770]
sub esp, 0x2c
mov esi, eax
mov dword [ebp - 0x28b4], ecx
call fcn.0057d110
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x28b4]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x466399
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x182
xor eax, eax
cmp esi, 0xc0000121
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.expected_STATUS_CANNOT_DELETE__got__08lx_n
call fcn.0045bef0
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x466360
test esi, esi
je 0x466b00
lea eax, [ebp - 0x288c]
mov dword [esp], eax
call dword [0x76d12c]
mov esi, dword [0x8f0770]
sub esp, 4
call fcn.0057d110
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test esi, esi
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x46642f
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x188
mov dword [esp], 0x76d020
call ebx
sub esp, 4
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str.file_was_deleted_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4663f0
mov ebx, dword [0x8f0770]
call fcn.0057d110
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test ebx, ebx
mov ebx, dword [ebp - 0x28b0]
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x4664b6
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x18a
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], 0x76d020
call ebx
sub esp, 8
test eax, eax
setne al
mov dword [esp + 4], str.couldnt_change_attributes_on_file_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x466470
mov ebx, dword [0x8f0770]
call fcn.0057d110
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test ebx, ebx
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x46652e
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x18c
mov dword [esp], 0x76d020
call edi
sub esp, 4
test eax, eax
setne al
mov dword [esp + 4], str.now_it_should_be_possible_to_delete_the_file_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4664f0
mov dword [esp + 4], 2
mov dword [esp], 0x76d020
mov eax, dword [ebp - 0x2894]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0x18f
call fcn.0045b740
mov esi, dword fs:[0x18]
mov eax, dword [esi + 0x34]
mov dword [esp + 8], 0x76d020
mov dword [esp + 4], str.couldnt_create_file___s___err_ld__n
mov dword [esp + 0xc], eax
xor eax, eax
cmp ebx, 0xffffffff
setne al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x191
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 8], 0x2b8
mov dword [esp + 4], str.en_larvig_liten_text_dx_e_gx_hej_84_hej_4484__
mov ecx, dword [ebp - 0x28a4]
call ecx
sub esp, 0xc
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str._hwrite_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x193
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov edx, dword [ebp - 0x28a8]
call edx
sub esp, 0xc
test eax, eax
sete al
mov dword [esp + 4], str._llseek_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x195
call fcn.0045b740
lea eax, [ebp - 0x271c]
mov dword [esp], ebx
mov dword [esp + 8], 0x2b8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28ac]
call eax
sub esp, 0xc
cmp eax, 0x2b8
sete al
mov dword [esp + 4], str.erratic__hread_return_value_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x197
call fcn.0045b740
mov dword [esp], ebx
mov ebx, dword [ebp - 0x289c]
call ebx
lea ebx, [ebp - 0x285c]
sub esp, 4
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str._lclose_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp + 4], ebx
mov dword [esp], 0x76d020
mov ebx, dword [ebp - 0x2898]
call ebx
sub esp, 8
mov ebx, eax
mov eax, 0x19a
call fcn.0045b740
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.should_STILL_be_able_to_find_file_n
setne al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp], ebx
mov edx, dword [ebp - 0x28a0]
call edx
sub esp, 4
mov dword [esp], 0x76d020
call edi
sub esp, 4
mov ebx, eax
mov eax, 0x19e
call fcn.0045b740
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.DeleteFile_failed___ld__n
mov dword [esp + 8], eax
call fcn.0045bef0
mov dword [esp + 4], 4
mov dword [esp], 0x76d020
mov eax, dword [ebp - 0x2894]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0x1a1
call fcn.0045b740
mov eax, dword [esi + 0x34]
mov dword [esp + 8], 0x76d020
mov dword [esp + 4], str.couldnt_create_file___s___err_ld__n
mov dword [esp + 0xc], eax
xor eax, eax
cmp ebx, 0xffffffff
setne al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x1a3
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 8], 0x2b8
mov dword [esp + 4], str.en_larvig_liten_text_dx_e_gx_hej_84_hej_4484__
mov ecx, dword [ebp - 0x28a4]
call ecx
sub esp, 0xc
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str._hwrite_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x1a5
call fcn.0045b740
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov edx, dword [ebp - 0x28a8]
call edx
sub esp, 0xc
test eax, eax
sete al
mov dword [esp + 4], str._llseek_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x1a7
call fcn.0045b740
lea ecx, [ebp - 0x271c]
mov dword [esp], ebx
mov dword [esp + 8], 0x2b8
mov dword [esp + 4], ecx
mov ecx, dword [ebp - 0x28ac]
call ecx
sub esp, 0xc
cmp eax, 0x2b8
sete al
mov dword [esp + 4], str.erratic__hread_return_value_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x1a9
call fcn.0045b740
mov dword [esp], ebx
mov ebx, dword [ebp - 0x289c]
call ebx
sub esp, 4
cmp eax, 0xffffffff
setne al
mov dword [esp + 4], str._lclose_complains_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
lea ecx, [ebp - 0x285c]
mov dword [esp], 0x76d020
mov dword [esp + 4], ecx
mov ebx, dword [ebp - 0x2898]
call ebx
sub esp, 8
mov ebx, eax
mov eax, 0x1ac
call fcn.0045b740
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.should_STILL_be_able_to_find_file_n
setne al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp], ebx
mov edx, dword [ebp - 0x28a0]
call edx
sub esp, 4
mov dword [esp], 0x76d020
call edi
sub esp, 4
mov ebx, eax
mov eax, 0x1b0
call fcn.0045b740
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.DeleteFile_failed___ld__n
mov dword [esp + 8], eax
call fcn.0045bef0
lea edx, [ebp - 0x287c]
mov dword [esp + 4], 0
mov dword [esp], edx
mov eax, dword [ebp - 0x2894]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0x1b3
call fcn.0045b740
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], 0x59a447
sete al
mov dword [esp], eax
call fcn.0045bef0
mov ebx, dword [esi + 0x34]
mov eax, 0x1b5
call fcn.0045b740
lea edx, [ebp - 0x287c]
mov dword [esp + 4], str.creating_file___s__failed_with_error__d_n
cmp ebx, 0x7b
mov dword [esp + 8], edx
sete al
cmp ebx, 3
mov dword [esp + 0xc], ebx
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp + 4], 8
mov dword [esp], 0x76d020
mov eax, dword [ebp - 0x2894]
call eax
sub esp, 8
cmp eax, 0xffffffff
je 0x466ac8
mov dword [esp], eax
mov eax, dword [ebp - 0x289c]
call eax
lea eax, [ebp - 0x285c]
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0x76d020
mov eax, dword [ebp - 0x2898]
call eax
sub esp, 8
cmp eax, 0xffffffff
je 0x466b60
mov dword [ebp - 0x2894], eax
mov dword [esp + 4], 0x5c
mov dword [esp], 0x76d020
call dword [sym.imp.msvcrt.dll_strrchr]
mov edx, dword [ebp - 0x2894]
test eax, eax
lea ebx, [eax + 1]
mov eax, 0x76d020
cmove ebx, eax
mov dword [esp], edx
mov eax, dword [ebp - 0x28a0]
call eax
sub esp, 4
mov dword [ebp - 0x2894], eax
mov eax, 0x1c7
call fcn.0045b740
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.FindClose_complains___ld__n
lea esi, [ebp - 0x2830]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2894]
xor eax, eax
test edx, edx
setne al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x1c8
call fcn.0045b740
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll_strcmp]
mov dword [esp + 0xc], esi
test eax, eax
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x59a4d3
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x1cc
and dword [ebp - 0x285c], 0xffffd7ff
call fcn.0045b740
mov eax, dword [ebp - 0x285c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.attributes_of_file___s__are_0x_04lx_n
cmp eax, 0x20
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp], 0x76d020
call edi
sub esp, 4
mov ebx, eax
mov eax, 0x1d1
call fcn.0045b740
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.DeleteFile_failed___ld__n
mov dword [esp + 8], eax
call fcn.0045bef0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x1ba
call fcn.0045b740
mov dword [esp + 8], 0x76d020
mov dword [esp + 4], str.couldnt_create_volume_label___s__n
mov dword [esp], 0
call fcn.0045bef0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x2890]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
jmp 0x4663b4
mov eax, 0x136
call fcn.0045b740
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 8], 0x76d020
mov dword [esp + 4], str.couldnt_create_file___s___err_ld__n
mov dword [esp + 0xc], eax
mov dword [esp], 0
call fcn.0045bef0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x1bf
call fcn.0045b740
mov dword [esp + 8], 0x76d020
mov dword [esp + 4], str.file___s__not_found_n
mov dword [esp], 0
call fcn.0045bef0
jmp 0x466a84