Function at 0x470060
Capabilities:
Delete file
Move file

Disassembly:
mov eax, 0x1804
call fcn.0048db10
mov eax, dword [0x4f9114]
xor eax, esp
mov dword [esp + 0x1800], eax
push 0x4af3b4
push 0x486dbe8
call fcn.004961ba
add esp, 8
mov dword [0x4fa5dc], eax
test eax, eax
je 0x47043f
push 0x4af3ec
push str._Bcx_Temp_File_
call fcn.004961ba
add esp, 8
mov dword [0x4fa5a4], eax
test eax, eax
jne 0x4700bc
push str._Bcx_Temp_File_
jmp 0x470444
push ebx
push ebp
push esi
push edi
mov edi, dword [0x4fa5dc]
push edi
call fcn.00495e7b
mov esi, eax
push edi
push esi
call fcn.004962ca
add esp, 0xc
cmp esi, 0xffffffff
je 0x4703ce
mov ebp, 0x14
lea ebx, [ebp - 0xd]
nop dword [eax]
push dword [0x4fa5dc]
lea eax, [esp + 0x14]
mov byte [esp + 0x14], 0
push 0x800
push eax
call fcn.004960d1
push dword [0x4fa5dc]
call fcn.00495a9f
add esp, 0x10
test eax, eax
jne 0x470137
lea ecx, [esp + 0x10]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x470123
sub ecx, edx
cmp byte [esp + ecx + 0xf], 0xa
jne 0x470463
lea eax, [esp + 0x10]
push 0x4af3f0
push eax
call fcn.00490f00
add esp, 8
cmp eax, 0x800
jae 0x47043a
mov byte [esp + eax + 0x10], 0
lea esi, [esp + 0x10]
cmp byte [esp + 0x10], 0
jne 0x470168
mov edi, esi
jmp 0x4701ad
mov al, byte [esi]
cmp al, 0x20
je 0x470174
sub al, 9
cmp al, 4
ja 0x470177
inc esi
jmp 0x470168
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x470180
sub ecx, edx
push ecx
call fcn.0041b150
mov edi, eax
add esp, 4
mov edx, edi
sub edx, esi
nop dword [eax + eax]
mov cl, byte [esi]
lea esi, [esi + 1]
mov byte [edx + esi - 1], cl
test cl, cl
jne 0x4701a0
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4701b2
sub esi, ecx
cmp esi, ebp
cmovg esi, ebp
push esi
call fcn.0041b150
push esi
push edi
push eax
call fcn.0048e8f0
lea edx, [esp + 0x1020]
add esp, 0x10
sub edx, eax
nop word [eax + eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x4701e0
mov ecx, str.return_DefWindowProc
lea eax, [esp + 0x1010]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x470220
test dl, dl
je 0x47021c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x470220
add eax, 2
add ecx, 2
test dl, dl
jne 0x470200
xor eax, eax
jmp 0x470225
sbb eax, eax
or eax, 1
test eax, eax
je 0x4702d2
lea eax, [esp + 0x10]
push eax
push 0x4aedd4
push dword [0x4fa5a4]
call fcn.00447300
add esp, 0xc
lea esi, [esp + 0x10]
cmp byte [esp + 0x10], 0
jne 0x470254
mov edi, esi
jmp 0x47028d
mov al, byte [esi]
cmp al, 0x20
je 0x470260
sub al, 9
cmp al, 4
ja 0x470263
inc esi
jmp 0x470254
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x470268
sub ecx, edx
push ecx
call fcn.0041b150
mov edi, eax
add esp, 4
mov edx, edi
sub edx, esi
mov cl, byte [esi]
lea esi, [esi + 1]
mov byte [edx + esi - 1], cl
test cl, cl
jne 0x470280
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x470292
sub esi, ecx
cmp esi, ebx
cmovg esi, ebx
push esi
call fcn.0041b150
push esi
push edi
push eax
call fcn.0048e8f0
lea edx, [esp + 0x820]
add esp, 0x10
sub edx, eax
nop word [eax + eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x4702c0
jmp 0x4703ad
mov ecx, str.return
lea eax, [esp + 0x810]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x470300
test dl, dl
je 0x4702fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x470300
add eax, 2
add ecx, 2
test dl, dl
jne 0x4702e0
xor eax, eax
jmp 0x470305
sbb eax, eax
or eax, 1
test eax, eax
je 0x470321
lea eax, [esp + 0x10]
push eax
push 0x4aedd4
push dword [0x4fa5a4]
call fcn.00447300
add esp, 0xc
cmp byte [esp + 0x10], 0
lea esi, [esp + 0x10]
jne 0x470330
mov edi, esi
jmp 0x47036d
mov al, byte [esi]
cmp al, 0x20
je 0x47033c
sub al, 9
cmp al, 4
ja 0x47033f
inc esi
jmp 0x470330
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x470344
sub ecx, edx
push ecx
call fcn.0041b150
mov edi, eax
add esp, 4
mov edx, edi
sub edx, esi
nop dword [eax]
mov cl, byte [esi]
lea esi, [esi + 1]
mov byte [edx + esi - 1], cl
test cl, cl
jne 0x470360
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x470372
sub esi, ecx
cmp esi, ebx
cmovg esi, ebx
push esi
call fcn.0041b150
push esi
push edi
push eax
call fcn.0048e8f0
lea edx, [esp + 0x820]
add esp, 0x10
sub edx, eax
nop word [eax + eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x4703a0
mov edi, dword [0x4fa5dc]
push edi
call fcn.00495e7b
mov esi, eax
push edi
push esi
call fcn.004962ca
add esp, 0xc
cmp esi, 0xffffffff
jne 0x4700f0
mov eax, dword [0x4fa5dc]
test eax, eax
je 0x4703ea
push eax
call fcn.004959c4
add esp, 4
mov dword [0x4fa5dc], 0
mov eax, dword [0x4fa5a4]
test eax, eax
je 0x470406
push eax
call fcn.004959c4
add esp, 4
mov dword [0x4fa5a4], 0
push 0x486dbe8
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x486dbe8
push str._Bcx_Temp_File_
call dword [sym.imp.KERNEL32.dll_MoveFileA]
mov ecx, dword [esp + 0x1810]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0048dafd
add esp, 0x1804
ret
call fcn.0048da22
push 0x486dbe8
push 0x4af3b8
push 2
call fcn.0049581b
add esp, 4
push eax
call fcn.00447300
add esp, 0xc
push 1
call fcn.00491649
push dword [0x4fa5dc]
call fcn.00440c00
push eax
push 0x1463
push str.Error____LINE_INPUT_truncation_detected_at_PROGRAM_line:
push 0x4af430
call fcn.0048d860
push str.The_actual_truncated_line_of_text:
push 0x4aedd4
call fcn.0048d860
lea eax, [esp + 0x2c]
push eax
push 0x4af474
call fcn.0048d860
add esp, 0x24
push 1
call fcn.00491649
int3