Function at 0x429847
Capabilities:
Copy file

Disassembly:
mov eax, 0x45bf94
call fcn.004423d0
sub esp, 0x30c
push ebx
push esi
push 1
pop esi
push 0x518
mov dword [ebp - 0x18], esi
call fcn.00442735
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
and dword [ebp - 4], 0
test ecx, ecx
je 0x429880
call fcn.004504d6
mov ebx, eax
jmp 0x429882
xor ebx, ebx
push dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
mov ecx, ebx
call fcn.00450591
test eax, eax
jne 0x4298ad
test ebx, ebx
je 0x4298a6
mov ecx, ebx
call fcn.004504ef
push ebx
call fcn.004423ef
pop ecx
mov eax, esi
jmp 0x429bf9
mov dl, byte [0x46ce4c]
push edi
xor eax, eax
push 0x3f
pop ecx
mov byte [ebp - 0x318], dl
lea edi, [ebp - 0x317]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0xd], 0
push 0x3f
xor eax, eax
pop ecx
mov byte [ebp - 0x118], dl
lea edi, [ebp - 0x117]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x3f
mov byte [ebp - 0x218], dl
xor eax, eax
pop ecx
lea edi, [ebp - 0x217]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x1c
stosb byte es:[edi], al
call fcn.00442735
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
mov dword [ebp - 4], esi
je 0x42991d
push 0x800
call fcn.00458076
mov dword [ebp - 0x14], eax
jmp 0x429921
and dword [ebp - 0x14], 0
or dword [ebp - 4], 0xffffffff
push 0
mov ecx, ebx
call fcn.00450503
test eax, eax
je 0x429bc3
lea esi, [ebx + 0x418]
mov edi, 0x467664
cmp byte [esi], 0
je 0x429bb2
push 0x467660
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x429982
cmp byte [ebp - 0x318], al
je 0x429972
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x318]
push eax
call fcn.00458a12
and byte [ebp - 0x318], 0
and byte [ebp - 0xd], 0
jmp 0x429bac
movsx eax, byte [ebp - 0xd]
sub eax, 0
je 0x429a21
sub eax, 0x61
je 0x429a01
sub eax, 3
je 0x4299d8
dec eax
je 0x4299ba
sub eax, 0xb
jne 0x429bac
mov ecx, dword [ebp - 0x14]
push esi
call fcn.0045888e
test eax, eax
push esi
jne 0x429a0f
push str.TarScriptInterpret:__s:_Cannot_patch
jmp 0x4299ef
mov ecx, dword [ebp - 0x14]
push esi
call fcn.0045870a
test eax, eax
jne 0x429bac
push esi
push str.TarScriptInterpret:__s:_Cannot_extract
push str.Error
jmp 0x4299f0
mov ecx, dword [ebp - 0x14]
push esi
call fcn.00458694
test eax, eax
jne 0x429bac
push esi
push str.TarScriptInterpret:__s:_Cannot_delete
push edi
call fcn.00457f48
add esp, 0xc
and dword [ebp - 0x18], 0
jmp 0x429bac
mov ecx, dword [ebp - 0x14]
push esi
call fcn.004587b4
test eax, eax
push esi
je 0x429a1a
call fcn.00443b8f
pop ecx
jmp 0x429bac
push str.TarScriptInterpret:__s:_Cannot_append
jmp 0x4299ef
push 0x4675bc
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x429a8a
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0xd]
push eax
push str._c__s
push dword [ebx + 0x10]
call fcn.00443418
mov ecx, dword [ebp - 0x14]
add esp, 0x10
lea eax, [ebp - 0x318]
push eax
call fcn.00458151
test eax, eax
jne 0x429a7d
lea eax, [ebp - 0x318]
push eax
push 0x4671c0
push str.Error
call fcn.00457f48
add esp, 0xc
and dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x14]
call fcn.004588d7
jmp 0x429bac
push 0x4675b0
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x429ac3
lea eax, [ebp - 0x118]
push eax
push 0x4649ac
push dword [ebx + 0x10]
call fcn.00443418
lea eax, [ebp - 0x118]
push eax
call fcn.00443b8f
add esp, 0x10
jmp 0x429bac
push str.copy
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x429b0d
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x118]
push eax
push str._s__s
push dword [ebx + 0x10]
call fcn.00443418
add esp, 0x10
push 0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
jmp 0x429bac
push str.move
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x429b6a
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x118]
push eax
push str._s__s
push dword [ebx + 0x10]
call fcn.00443418
lea eax, [ebp - 0x218]
push eax
call fcn.00443b8f
add esp, 0x14
push 0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x118]
push eax
jmp 0x429a0f
push 0x467594
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x429bac
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x118]
push eax
push str._s__s
push dword [ebx + 0x10]
call fcn.00443418
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.00443b61
add esp, 0x18
cmp dword [ebp - 0x18], 0
je 0x429bc3
push 0
mov ecx, ebx
call fcn.00450503
test eax, eax
jne 0x429941
cmp dword [ebp - 0x14], 0
pop edi
je 0x429bdb
mov ecx, dword [ebp - 0x14]
call fcn.004580b8
push dword [ebp - 0x14]
call fcn.004423ef
pop ecx
test ebx, ebx
je 0x429bed
mov ecx, ebx
call fcn.004504ef
push ebx
call fcn.004423ef
pop ecx
push dword [ebp + 8]
call fcn.00443b8f
mov eax, dword [ebp - 0x18]
pop ecx
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret