Function at 0x6676c4
Capabilities:
Copy file
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 8]
call fcn.00405130
xor eax, eax
push ebp
push 0x6679ba
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, ebx
call fcn.0043d774
mov eax, dword [0x681c4c]
mov eax, dword [eax + 0x304]
xor edx, edx
call fcn.0047f228
cmp dword [ebp - 4], 4
jne 0x667769
mov dl, 1
mov eax, dword [0x41c188]
call fcn.00403ec0
mov ebx, eax
mov edx, dword [ebp - 8]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
lea edx, [ebp - 0x24]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [0x681c4c]
mov eax, dword [eax + 0x304]
call fcn.005a8690
mov eax, dword [0x681c4c]
mov eax, dword [eax + 0x304]
mov dl, 1
call fcn.0047f228
mov dl, 1
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx - 4]
jmp 0x667997
cmp dword [ebp - 4], 3
jne 0x667792
push 3
push 0
mov eax, dword [ebp - 8]
call fcn.00405140
push eax
push 0x6679c8
push 0x6679d4
push 0
call sub.shell32.dll_ShellExecuteA
jmp 0x667997
mov eax, dword [ebp - 4]
add eax, 0xfffffffb
sub eax, 2
jae 0x667807
mov edx, dword [0x67d420]
mov edx, dword [edx]
lea eax, [ebp - 0xc]
mov ecx, 0x6679e4
call fcn.00404f8c
cmp dword [ebp - 4], 5
jne 0x6677c7
lea eax, [ebp - 0xc]
mov edx, 0x6679f8
call fcn.00404f48
jmp 0x6677d4
lea eax, [ebp - 0xc]
mov edx, 0x667a08
call fcn.00404f48
push 0
mov eax, dword [ebp - 0xc]
call fcn.00405140
mov ebx, eax
push ebx
mov eax, dword [ebp - 8]
call fcn.00405140
push eax
call sub.kernel32.dll_CopyFileA
push 3
push 0
push 0
push ebx
push 0x6679d4
push 0
call sub.shell32.dll_ShellExecuteA
jmp 0x667997
mov eax, dword [0x67da58]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.0049e248
xor esi, esi
mov dl, 1
mov eax, dword [0x429374]
call fcn.00430170
mov edi, eax
cmp dword [ebp - 4], 1
jne 0x667850
mov dl, 1
mov eax, dword [0x50d680]
call fcn.0050d934
mov esi, eax
mov edx, dword [ebp - 8]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x4c]
mov edx, esi
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x66785a
mov edx, dword [ebp - 8]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x4c]
test esi, esi
je 0x667874
mov edx, esi
mov eax, dword [ebx + 0x168]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, esi
call fcn.00403ef0
jmp 0x667888
mov edx, edi
mov eax, dword [ebx + 0x168]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, edi
call fcn.00403ef0
mov eax, dword [ebx + 0x168]
call fcn.0042e134
mov ecx, eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x48]
shl eax, 2
mov esi, 3
cdq
idiv esi
cmp ecx, eax
jg 0x6678d0
mov eax, dword [ebx + 0x168]
call fcn.0042e14c
mov ecx, eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x4c]
shl eax, 2
mov esi, 3
cdq
idiv esi
cmp ecx, eax
jle 0x667989
mov eax, dword [ebx + 0x168]
call fcn.0042e134
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
mov eax, dword [ebx + 0x30]
fild dword [eax + 0x48]
fdivrp st(1)
fstp qword [ebp - 0x18]
wait
mov eax, dword [ebx + 0x168]
call fcn.0042e14c
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
mov eax, dword [ebx + 0x30]
fild dword [eax + 0x4c]
fdivrp st(1)
fstp qword [ebp - 0x20]
wait
fld qword [ebp - 0x18]
fcomp qword [ebp - 0x20]
fnstsw ax
sahf
jbe 0x667921
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
xor edx, edx
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov dl, 1
mov eax, ebx
call fcn.0043d784
fild dword [ebx + 0x48]
fdiv qword [ebp - 0x20]
call fcn.00402dfc
mov edx, eax
mov eax, ebx
call fcn.0047ea9c
fild dword [ebx + 0x4c]
fdiv qword [ebp - 0x20]
call fcn.00402dfc
mov edx, eax
mov eax, ebx
call fcn.0047eac0
mov eax, dword [ebx + 0x30]
mov edx, dword [eax + 0x48]
sub edx, dword [ebx + 0x48]
sar edx, 1
jns 0x66796b
adc edx, 0
mov eax, ebx
call fcn.0047ea50
mov eax, dword [ebx + 0x30]
mov edx, dword [eax + 0x4c]
sub edx, dword [ebx + 0x4c]
sar edx, 1
jns 0x667982
adc edx, 0
mov eax, ebx
call fcn.0047ea74
mov eax, dword [0x67da58]
mov eax, dword [eax]
xor edx, edx
call fcn.0049e248
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6679c1
lea eax, [ebp - 0x24]
call fcn.00404c80
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404ca4
ret