Function at 0x42a639
Capabilities:
Copy file
Delete file
Move file

Disassembly:
mov eax, 0x45bfdc
call fcn.004423d0
sub esp, 0x824
push ebx
push esi
push edi
push 1
pop ebx
push 0x518
mov dword [ebp - 0x20], ebx
call fcn.00442735
pop ecx
mov dword [ebp - 0x24], eax
xor esi, esi
cmp eax, esi
mov dword [ebp - 4], esi
je 0x42a675
mov ecx, eax
call fcn.004504d6
mov dword [ebp - 0x18], eax
jmp 0x42a678
mov dword [ebp - 0x18], esi
push dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
or dword [ebp - 4], 0xffffffff
call fcn.00450591
test eax, eax
jne 0x42a6a8
cmp dword [ebp - 0x18], esi
je 0x42a6a1
mov ecx, dword [ebp - 0x18]
call fcn.004504ef
push dword [ebp - 0x18]
call fcn.004423ef
pop ecx
mov eax, ebx
jmp 0x42af54
mov ecx, dword [0x54c740]
push 0
call fcn.00454038
mov ecx, dword [0x54c740]
call fcn.004538d8
push dword [0x4905e8]
push dword [0x54c740]
call fcn.0044eec1
pop ecx
pop ecx
push dword [ebp + 8]
mov esi, eax
push 0x467914
call fcn.00401ab9
pop ecx
push eax
push 0xc8
push 0x64
push esi
call fcn.0042b03f
push 0x4678fc
call fcn.00401ab9
add esp, 0x18
push eax
push 0xd9
push 0x64
push esi
call fcn.0042b03f
push esi
push dword [0x54c740]
call fcn.0044eef0
movzx eax, byte [0x54c574]
push 0x46c5c0
push eax
xor eax, eax
mov al, byte [0x467948]
push eax
call fcn.00453d14
mov dl, byte [0x46ce4c]
xor eax, eax
push 0x3f
pop ecx
mov byte [ebp - 0x230], dl
lea edi, [ebp - 0x22f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0x11], 0
push 0x3f
xor eax, eax
pop ecx
mov byte [ebp - 0x130], dl
lea edi, [ebp - 0x12f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x3f
mov byte [ebp - 0x330], dl
xor eax, eax
pop ecx
lea edi, [ebp - 0x32f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x1c
stosb byte es:[edi], al
call fcn.00442735
mov ecx, eax
add esp, 0x28
mov dword [ebp - 0x24], ecx
test ecx, ecx
mov dword [ebp - 4], ebx
je 0x42a7a0
push 0x800
call fcn.00458076
jmp 0x42a7a2
xor eax, eax
mov ecx, dword [ebp - 0x18]
or dword [ebp - 4], 0xffffffff
push 0
mov dword [ebp - 0x10], eax
call fcn.00450503
test eax, eax
je 0x42af1a
mov edi, dword [ebp - 0x18]
mov ebx, 0x464a60
cmp byte [edi + 0x418], 0
lea esi, [edi + 0x418]
je 0x42af09
push 0x467660
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42a852
cmp byte [ebp - 0x230], al
je 0x42a7fe
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x230]
push eax
call fcn.00458a12
cmp dword [ebp - 0x10], 0
je 0x42a815
mov ecx, dword [ebp - 0x10]
call fcn.004580b8
push dword [ebp - 0x10]
call fcn.004423ef
pop ecx
push 0x1c
call fcn.00442735
pop ecx
mov dword [ebp - 0x10], eax
test eax, eax
mov dword [ebp - 4], 2
je 0x42a839
push 0x800
mov ecx, eax
call fcn.00458076
jmp 0x42a83b
xor eax, eax
or dword [ebp - 4], 0xffffffff
and byte [ebp - 0x230], 0
and byte [ebp - 0x11], 0
mov dword [ebp - 0x10], eax
jmp 0x42af03
movsx eax, byte [ebp - 0x11]
sub eax, 0
je 0x42a923
sub eax, 0x61
je 0x42a8d0
sub eax, 3
je 0x42a8c2
dec eax
je 0x42a8b4
sub eax, 0xb
jne 0x42af03
push ebx
push esi
call fcn.00442e54
test eax, eax
pop ecx
pop ecx
je 0x42af03
push eax
call fcn.00442dde
pop ecx
mov ecx, dword [ebp - 0x10]
push esi
call fcn.0045888e
test eax, eax
push esi
je 0x42a8a6
call fcn.00443b8f
pop ecx
jmp 0x42af03
lea eax, [ebp - 0x230]
push eax
push str.Patching_Fail__s:_s
jmp 0x42a90d
mov ecx, dword [ebp - 0x10]
push esi
call fcn.0045870a
jmp 0x42af03
mov ecx, dword [ebp - 0x10]
push esi
call fcn.00458694
jmp 0x42af03
push ebx
push esi
call fcn.00442e54
test eax, eax
pop ecx
pop ecx
je 0x42af03
push eax
call fcn.00442dde
pop ecx
mov ecx, dword [ebp - 0x10]
push esi
call fcn.004587b4
test eax, eax
push esi
je 0x42a901
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x42af03
lea eax, [ebp - 0x230]
push eax
push str.Adding_Fail__s:_s
push str.Error
call fcn.00457f48
add esp, 0x10
and dword [ebp - 0x20], 0
jmp 0x42af03
push 0x4675bc
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42a973
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x11]
push eax
push str._c__s
push dword [edi + 0x10]
call fcn.00443418
mov ecx, dword [ebp - 0x10]
add esp, 0x10
lea eax, [ebp - 0x230]
push eax
call fcn.00458151
test eax, eax
je 0x42af63
mov ecx, dword [ebp - 0x10]
call fcn.004588d7
jmp 0x42af03
push str.chmod
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42a9e8
lea eax, [ebp - 0x630]
push eax
lea eax, [ebp - 0x130]
push eax
push str._s__s
push dword [edi + 0x10]
xor esi, esi
call fcn.00443418
lea eax, [ebp - 0x630]
push 0x72
push eax
call fcn.00442ca0
add esp, 0x18
test eax, eax
je 0x42a9bb
mov esi, 0x100
lea eax, [ebp - 0x630]
push 0x77
push eax
call fcn.00442ca0
test eax, eax
pop ecx
pop ecx
je 0x42a9d5
or esi, 0x80
lea eax, [ebp - 0x130]
push esi
push eax
call fcn.00444173
pop ecx
jmp 0x42a8a0
push 0x4675b0
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42aa21
lea eax, [ebp - 0x130]
push eax
push 0x4649ac
push dword [edi + 0x10]
call fcn.00443418
lea eax, [ebp - 0x130]
push eax
call fcn.00443b8f
add esp, 0x10
jmp 0x42af03
push str.copy
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42aa87
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x130]
push eax
push str._s__s
push dword [edi + 0x10]
call fcn.00443418
lea eax, [ebp - 0x130]
push ebx
push eax
call fcn.00442e54
add esp, 0x18
test eax, eax
je 0x42af03
push eax
call fcn.00442dde
pop ecx
push 0
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
jmp 0x42af03
push str.move
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42aaed
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x130]
push eax
push str._s__s
push dword [edi + 0x10]
call fcn.00443418
lea eax, [ebp - 0x130]
push ebx
push eax
call fcn.00442e54
add esp, 0x18
test eax, eax
je 0x42af03
push eax
call fcn.00442dde
pop ecx
push 0
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
jmp 0x42adbf
push 0x467594
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42ab5e
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x130]
push eax
push str._s__s
push dword [edi + 0x10]
call fcn.00443418
lea eax, [ebp - 0x130]
push ebx
push eax
call fcn.00442e54
add esp, 0x18
test eax, eax
je 0x42af03
push eax
call fcn.00442dde
pop ecx
lea eax, [ebp - 0x330]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
jmp 0x42af03
push 0x4678c8
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42ac8e
and byte [ebp - 0x19], al
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x19]
push eax
push str._c__s
push dword [edi + 0x10]
call fcn.00443418
add esp, 0x10
cmp byte [ebp - 0x19], 0x6f
jne 0x42af03
push 0x64
call fcn.00442735
pop ecx
mov dword [ebp - 0x28], eax
test eax, eax
mov dword [ebp - 4], 3
je 0x42abbc
mov ecx, eax
call fcn.00437713
mov esi, eax
jmp 0x42abbe
xor esi, esi
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x130]
push ebx
push eax
call fcn.00442e54
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x42af76
push edi
mov ecx, esi
call fcn.00436aff
push edi
call fcn.00442dde
lea eax, [ebp - 0x130]
mov dword [esp], 0x4671bc
push eax
call fcn.00442e54
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x42af76
and byte [esi + 1], 0
push edi
mov ecx, esi
call fcn.0043734c
push edi
call fcn.00442dde
lea eax, [ebp - 0x130]
push ebx
push eax
call fcn.00442e54
mov edi, eax
add esp, 0xc
test edi, edi
je 0x42af76
push edi
mov ecx, esi
call fcn.00436aff
push edi
call fcn.00442dde
lea eax, [ebp - 0x130]
mov dword [esp], 0x4671bc
push eax
call fcn.00442e54
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x42af76
push edi
mov ecx, esi
mov byte [esi + 1], 1
call fcn.0043734c
push edi
call fcn.00442dde
test esi, esi
pop ecx
je 0x42af00
mov ecx, esi
call fcn.0043775d
push esi
call fcn.004423ef
jmp 0x42aeff
push str.chkani
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42ad7e
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x830]
push eax
push str._s__s__d
push dword [edi + 0x10]
call fcn.00443418
add esp, 0x14
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x730]
push 0x4678ac
push eax
call fcn.00442a3e
push 0x1c
call fcn.00442735
add esp, 0x14
mov dword [ebp - 0x28], eax
test eax, eax
mov dword [ebp - 4], 4
je 0x42ad0c
push 0x800
mov ecx, eax
call fcn.00458076
mov esi, eax
jmp 0x42ad0e
xor esi, esi
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x730]
push eax
mov ecx, esi
call fcn.00458151
test eax, eax
je 0x42afd1
lea eax, [ebp - 0x130]
push 0x4678a8
push eax
call fcn.00450b64
pop ecx
pop ecx
lea eax, [ebp - 0x130]
push eax
push esi
call fcn.004585e1
test eax, eax
pop ecx
pop ecx
jne 0x42ad64
lea eax, [ebp - 0x730]
push eax
call fcn.0042a4bb
cmp eax, dword [ebp - 0x30]
pop ecx
jne 0x42af89
test esi, esi
je 0x42af03
mov ecx, esi
call fcn.004580b8
push esi
call fcn.004423ef
jmp 0x42a8a0
push str.chksize
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42adcb
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x130]
push eax
push str._s__d
push dword [edi + 0x10]
call fcn.00443418
lea eax, [ebp - 0x130]
push eax
call fcn.0042a4bb
add esp, 0x14
cmp eax, dword [ebp - 0x2c]
jne 0x42af89
lea eax, [ebp - 0x130]
push eax
jmp 0x42a89b
push str.gather
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42ae0b
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x130]
push eax
push str._s__d
push dword [edi + 0x10]
call fcn.00443418
push dword [ebp - 0x24]
lea eax, [ebp - 0x130]
push eax
call fcn.0042a564
add esp, 0x18
jmp 0x42af03
push str.anihd
push esi
call fcn.00442c00
test eax, eax
pop ecx
pop ecx
jne 0x42af03
lea eax, [ebp - 0x530]
push eax
lea eax, [ebp - 0x430]
push eax
push str._s__s
push dword [edi + 0x10]
call fcn.00443418
push 0x64
call fcn.00442735
add esp, 0x14
mov dword [ebp - 0x28], eax
test eax, eax
mov dword [ebp - 4], 5
je 0x42ae5e
mov ecx, eax
call fcn.00437713
mov edi, eax
jmp 0x42ae60
xor edi, edi
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x430]
push ebx
push eax
call fcn.00442e54
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x42af9c
push esi
mov ecx, edi
call fcn.00436aff
push esi
call fcn.00442dde
lea eax, [ebp - 0x530]
push ebx
push eax
call fcn.00442e54
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42afaa
push esi
mov ecx, edi
call fcn.00437229
push esi
call fcn.00442dde
lea eax, [ebp - 0x430]
mov dword [esp], 0x4671bc
push eax
call fcn.00442e54
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x42afb8
push esi
mov ecx, edi
call fcn.0043734c
push esi
call fcn.00442dde
test edi, edi
pop ecx
je 0x42aef3
mov ecx, edi
call fcn.0043775d
push edi
call fcn.004423ef
pop ecx
lea eax, [ebp - 0x530]
push eax
call fcn.00443b8f
pop ecx
mov edi, dword [ebp - 0x18]
cmp dword [ebp - 0x20], 0
je 0x42af1a
push 0
mov ecx, edi
call fcn.00450503
test eax, eax
jne 0x42a7c3
cmp dword [ebp - 0x10], 0
je 0x42af31
mov ecx, dword [ebp - 0x10]
call fcn.004580b8
push dword [ebp - 0x10]
call fcn.004423ef
pop ecx
cmp dword [ebp - 0x18], 0
je 0x42af48
mov ecx, dword [ebp - 0x18]
call fcn.004504ef
push dword [ebp - 0x18]
call fcn.004423ef
pop ecx
push dword [ebp + 8]
call fcn.00443b8f
mov eax, dword [ebp - 0x20]
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
lea eax, [ebp - 0x230]
push eax
push 0x4671c0
push str.Error
jmp 0x42afc9
lea eax, [ebp - 0x130]
push eax
push 0x4671c0
push str.Script_Error
jmp 0x42afc9
push str.File_Error._Reinstall__
push str.Error
call fcn.00457f48
pop ecx
pop ecx
jmp 0x42afd1
lea eax, [ebp - 0x430]
push eax
push str.load__s__1_
jmp 0x42afc4
lea eax, [ebp - 0x530]
push eax
push str.load__s__2_
jmp 0x42afc4
lea eax, [ebp - 0x430]
push eax
push str.save__s
push str.error
call fcn.00457f48
add esp, 0xc
xor eax, eax
jmp 0x42af54