Function at 0x466b90
Capabilities:
Delete file

Disassembly:
push ebp
mov eax, 0x272c
mov ebp, esp
push edi
push esi
push ebx
call fcn.0057e5f0
sub esp, eax
mov dword [esp + 4], 0
mov dword [esp], 0x76d020
call dword [sym.imp.kernel32.dll__lcreat]
sub esp, 8
cmp eax, 0xffffffff
je 0x466e7a
mov ebx, eax
lea esi, [ebp - 0x271c]
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x234
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__
call dword [sym.imp.kernel32.dll__hwrite]
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
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x236
mov eax, dword [sym.imp.kernel32.dll__lclose]
mov dword [esp], ebx
mov dword [ebp - 0x2728], eax
call eax
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], 0
mov dword [esp], 0x76d020
call dword [sym.imp.kernel32.dll__lopen]
sub esp, 8
mov ebx, eax
mov dword [ebp - 0x2720], eax
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x23a
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 8], 0x76d020
mov dword [esp + 4], str.couldnt_open_file___s__again__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, dword [sym.imp.kernel32.dll__lread]
mov dword [esp], ebx
mov dword [esp + 8], 0x570
mov dword [esp + 4], esi
mov dword [ebp - 0x2724], eax
call eax
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x23e
xor eax, eax
cmp ebx, 0x2b8
sete al
mov dword [esp + 4], str.file_read_size_error_n
xor ebx, ebx
mov dword [esp], eax
call fcn.0045bef0
nop
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x242
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov edi, dword [ebp - 0x2720]
mov dword [esp], edi
call dword [sym.imp.kernel32.dll__llseek]
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
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x243
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x2724]
call eax
sub esp, 0xc
cmp eax, ebx
sete al
mov dword [esp + 4], str.erratic__hread_return_value_n
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
test ebx, ebx
je 0x466e70
xor edi, edi
lea esi, [esi]
lea esi, [esi]
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x246
movzx eax, byte [edi + str.en_larvig_liten_text_dx_e_gx_hej_84_hej_4484__]
mov dword [esp + 4], str.thats_not_whats_written_n
cmp byte [esi + edi], al
sete al
add edi, 1
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
cmp edi, ebx
jne 0x466da0
lea ebx, [edi + 1]
cmp edi, 0x2b7
jne 0x466d00
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x24a
mov eax, dword [ebp - 0x2720]
mov dword [esp], eax
mov eax, dword [ebp - 0x2728]
call eax
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], 0x76d020
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x597dfd
mov dword [eax + 4], 0x24d
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 ebx, 1
jmp 0x466d00
mov eax, 0x230
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