Function at 0x4016d0
Capabilities:
Accept command line arguments
Check http status code
Check if file exists
Create thread
Get hostname
Get session user name
Manipulate console buffer
Set console window title
Terminate process
Terminate thread
Write file on windows

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x41f736
push eax
mov eax, 0x1454
mov dword fs:[0], esp
call fcn.00408450
mov eax, dword [0x428654]
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov dword [0x42ca5c], ebp
mov dword [0x42ca58], ebp
mov dword [0x42ca54], ebp
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x146c], ebp
call fcn.0041752c
lea ecx, [esp + 0x38]
push ebp
mov byte [esp + 0x1470], 1
mov dword [0x42ca60], ecx
mov byte [esp + 0xe4], 0
mov byte [esp + 0x1e8], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call fcn.0041e867
test eax, eax
jne 0x40182f
mov edx, dword [0x428654]
mov dword [esp + 0x14], edx
push 4
lea ecx, [esp + 0x18]
mov byte [esp + 0x1470], 2
call fcn.0041bb1f
mov eax, dword [esp + 0x14]
mov ecx, 0x42f0e0
push eax
call fcn.00402bd0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00402e10
mov ecx, dword [esi]
xor edi, edi
mov edx, dword [ecx + 4]
mov ecx, dword [edx + esi + 4]
test cl, 6
lea eax, [edx + esi]
jne 0x4017be
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x4017be
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
cmp edi, ebp
je 0x4017de
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
cmp edx, ebp
jne 0x4017d7
or al, 4
push ebp
push eax
call fcn.004135ec
lea ecx, [esp + 0x14]
mov byte [esp + 0x146c], 1
call fcn.0041b68b
lea ecx, [esp + 0x38]
mov byte [esp + 0x146c], 0
call fcn.0041755f
lea ecx, [esp + 0x10]
mov dword [esp + 0x146c], 0xffffffff
call fcn.0041b68b
xor eax, eax
mov ecx, dword [esp + 0x1464]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1460
ret
push 1
push 0x402a80
mov dword [0x42ca50], ebp
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x1474], 1
jne 0x401969
mov ecx, dword [esp + 0x1478]
push 0x4282bc
mov esi, dword [ecx]
push esi
call fcn.004083d0
add esp, 8
test eax, eax
je 0x4018a4
push 0x4282bc
push esi
call fcn.004083d0
add esp, 8
cmp eax, ebp
je 0x4018a4
inc eax
push 0x4282bc
push eax
mov esi, eax
call fcn.004083d0
add esp, 8
cmp eax, ebp
jne 0x40188f
push esi
lea edx, [esp + 0x14]
push 5
push edx
call fcn.00417445
mov eax, dword [esp + 0x1c]
add esp, 0xc
push eax
call fcn.0040838b
add esp, 4
lea ecx, [esp + 0x10]
push esi
push 6
push ecx
call fcn.00417445
mov edx, dword [esp + 0x1c]
add esp, 0xc
push edx
call fcn.0040838b
add esp, 4
lea eax, [esp + 0x10]
push esi
push 7
push eax
call fcn.00417445
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
call fcn.0040838b
add esp, 4
push 0x428288
call fcn.0040838b
add esp, 4
push str.__www.dameware.com_n_n
call fcn.0040838b
add esp, 4
push 0x428260
call fcn.0040838b
lea edx, [esp + 0x1e8]
push edx
call fcn.0040832a
mov al, byte [esp + 0x1ec]
add esp, 8
test al, al
jne 0x40197e
lea ecx, [esp + 0x38]
mov byte [esp + 0x146c], 0
call fcn.0041755f
lea ecx, [esp + 0x10]
mov dword [esp + 0x146c], 0xffffffff
call fcn.0041b68b
mov eax, 1
jmp 0x401816
mov eax, dword [esp + 0x1478]
lea edx, [esp + 0x1e4]
mov ecx, dword [eax + 4]
push ecx
push edx
call ebx
lea eax, [esp + 0x1e4]
lea ecx, [esp + 0xe0]
push eax
push ecx
call fcn.00406e10
add esp, 8
lea edx, [esp + 0xe0]
lea eax, [esp + 0x10]
push edx
push 8
push eax
call fcn.00417445
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
call fcn.0040838b
mov edx, dword [esp + 0x14]
add esp, 4
push edx
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push ebp
call esi
lea eax, [esp + 0xd58]
push eax
push ebp
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x42ca64], eax
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x3e8]
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x4ec]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x54]
push 0x42825c
push ecx
call ebx
push 0x428258
push 0x428254
call fcn.00408317
add esp, 8
cmp eax, ebp
jne 0x401a40
push 9
lea ecx, [esp + 0x14]
call fcn.0041bb1f
mov edx, dword [esp + 0x10]
push edx
call fcn.0040838b
push ebp
call fcn.00408180
add esp, 8
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x958]
push 0xa
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
call fcn.0041bb1f
mov eax, dword [esp + 0x10]
push eax
call fcn.0040838b
add esp, 4
lea ecx, [esp + 0x10]
push 0xb
call fcn.0041bb1f
push 0x428250
lea ecx, [esp + 0x14]
call fcn.0041b8cd
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0040838b
lea edx, [esp + 0x95c]
push edx
call fcn.0040832a
mov eax, dword [0x42ca50]
add esp, 8
cmp eax, ebp
je 0x401ab2
push 0xea60
call esi
push ebp
call dword [sym.imp.KERNEL32.dll_ExitThread]
lea eax, [esp + 0x958]
push 0x42c988
push eax
call fcn.004080b0
add esp, 8
test eax, eax
jne 0x401aea
cmp dword [0x42ca50], ebp
je 0x401cb3
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
push ebp
call fcn.00408180
lea ecx, [esp + 0x95c]
push str.Exit
push ecx
call fcn.004080b0
add esp, 0xc
test eax, eax
je 0x4017ef
lea edx, [esp + 0x958]
lea eax, [esp + 0x3e8]
push edx
push eax
call ebx
lea ecx, [esp + 0x54]
push 0x428244
push ecx
call ebx
lea edi, [esp + 0x958]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x958]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
cmp dword [0x42ca50], ebp
je 0x401b67
push 0xea60
call esi
push ebp
call dword [sym.imp.KERNEL32.dll_ExitThread]
push 0xc
lea ecx, [esp + 0x14]
call fcn.0041bb1f
push 0x428250
lea ecx, [esp + 0x14]
call fcn.0041b8cd
mov eax, dword [esp + 0x10]
push eax
call fcn.0040838b
add esp, 4
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [esp + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
lea ecx, [esp + 0x20]
push ecx
push edx
call esi
mov eax, dword [esp + 0x24]
mov edi, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
mov dword [esp + 0x14], eax
call fcn.00407f15
test eax, eax
jne 0x401bc7
call fcn.00407f15
test eax, eax
je 0x401bbe
call fcn.00407e28
mov ebx, eax
cmp ebx, 8
jne 0x401c30
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x20]
push ecx
push edx
call esi
mov ax, word [esp + 0x14]
cmp ax, word [esp + 0x24]
jge 0x401c23
dec word [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
push ecx
push edx
call edi
push 0x20
call fcn.00407dc3
mov ecx, dword [esp + 0x1c]
add esp, 4
lea eax, [esp + 0x20]
push eax
push ecx
call esi
dec word [esp + 0x24]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
push edx
push eax
call edi
test ebp, ebp
jle 0x401c28
dec ebp
mov byte [esp + ebp + 0x958], 0
push ebx
call fcn.00407d95
add esp, 4
test eax, eax
je 0x401c4f
mov byte [esp + ebp + 0x958], bl
push 0x2a
inc ebp
call fcn.00407dc3
add esp, 4
cmp ebx, 0xd
jne 0x401bb5
mov eax, dword [0x42ca50]
test eax, eax
je 0x401c74
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
lea ecx, [esp + 0x958]
lea edx, [esp + 0x4ec]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x428240
call fcn.0040838b
mov eax, dword [0x42ca50]
add esp, 4
test eax, eax
je 0x401cb3
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x68]
push 0x42825c
push eax
call esi
push 0xd
lea ecx, [esp + 0x14]
call fcn.0041bb1f
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0040838b
add esp, 4
lea ecx, [esp + 0x10]
push 0xe
call fcn.0041bb1f
push 0x428250
lea ecx, [esp + 0x14]
call fcn.0041b8cd
mov edx, dword [esp + 0x10]
push edx
call fcn.0040838b
add esp, 4
call fcn.00407f15
test eax, eax
jne 0x401d15
call fcn.00407f15
test eax, eax
je 0x401d0c
call fcn.00407e28
push eax
call fcn.00407c5a
add esp, 4
cmp eax, 0x59
je 0x401d39
cmp eax, 3
je 0x401d45
cmp eax, 0xd
je 0x401d45
cmp eax, 0x4e
je 0x401d45
jmp 0x401d03
lea eax, [esp + 0x68]
push 0x428244
push eax
call esi
mov eax, dword [0x42ca50]
test eax, eax
je 0x401d61
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00402950
add esp, 4
lea edx, [esp + 0xe0]
lea eax, [esp + 0x10]
push edx
push 0xf
push eax
call fcn.00417445
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
call fcn.0040838b
push 0x74
call fcn.0041ba2e
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esp + 0x146c], 3
je 0x401dc1
lea edx, [esp + 0xe0]
mov ecx, eax
push edx
push str.DNTUS26
call fcn.00406120
mov esi, eax
jmp 0x401dc3
xor esi, esi
test esi, esi
mov byte [esp + 0x146c], 1
jne 0x401dee
push 0x10
lea ecx, [esp + 0x14]
call fcn.0041bb1f
mov eax, dword [esp + 0x10]
push eax
call fcn.0040838b
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_ExitThread]
push str.DameWare_NT_Utilities_2.6
lea ecx, [esi + 0x1c]
call fcn.0041b7c8
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, esi
call fcn.00406350
mov ebp, dword [sym.imp.USER32.dll_MessageBoxA]
test eax, eax
jne 0x401f29
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 0x424
je 0x401f29
cmp byte [esp + 0x54], 0x59
jne 0x40212a
cmp edi, 5
je 0x401eab
cmp edi, 0x51f
je 0x401eab
cmp edi, 0x52e
je 0x401eab
cmp edi, 0x569
je 0x401eab
push 0x11
lea ecx, [esp + 0x14]
call fcn.0041bb1f
lea ecx, [esp + 0x10]
push edi
push ecx
call fcn.004027c0
add esp, 8
lea ecx, [esp + 0x10]
push 0x12
call fcn.0041bb1f
mov edx, dword [esp + 0x10]
push edx
call fcn.0040838b
push 0
call fcn.00408180
add esp, 8
call fcn.00407f15
test eax, eax
jne 0x401e9e
call fcn.00407f15
test eax, eax
je 0x401e95
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
jmp 0x4017ef
lea ecx, [esp + 0x4ec]
lea edx, [esp + 0x3e8]
push ecx
lea eax, [esp + 0xe4]
push edx
push eax
call fcn.00406cc0
add esp, 0xc
test eax, eax
jne 0x401f29
push 0x11
lea ecx, [esp + 0x14]
call fcn.0041bb1f
lea ecx, [esp + 0x10]
push edi
push ecx
call fcn.004027c0
add esp, 8
lea ecx, [esp + 0x10]
push 0x12
call fcn.0041bb1f
mov edx, dword [esp + 0x10]
push edx
call fcn.0040838b
push 0
call fcn.00408180
add esp, 8
call fcn.00407f15
test eax, eax
jne 0x401f19
call fcn.00407f15
test eax, eax
je 0x401f10
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov eax, dword [0x42ca50]
test eax, eax
je 0x401f45
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov ecx, esi
call fcn.00406350
mov eax, dword [0x42ca50]
test eax, eax
je 0x401f68
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov ecx, esi
call fcn.004064c0
test eax, eax
jne 0x402076
mov ecx, dword [0x428654]
mov dword [esp + 0x14], ecx
lea edx, [esp + 0xe0]
lea eax, [esp + 0x14]
push edx
push 0x1e
push eax
mov byte [esp + 0x1478], 4
call fcn.00417445
mov ecx, dword [esp + 0x20]
add esp, 0xc
push 0x50044
push str.DameWare_NT_Utilities___
push ecx
push 0
call ebp
cmp eax, 6
je 0x401fd2
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
push 0
call fcn.00408180
add esp, 4
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
push 0x13
lea ecx, [esp + 0x18]
call fcn.0041bb1f
mov eax, dword [esp + 0x14]
push eax
call fcn.0040838b
add esp, 4
lea ecx, [esp + 0x6f0]
push 0
call fcn.00405930
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x74c]
push ecx
push edx
mov byte [esp + 0x1474], 5
call fcn.00406e10
add esp, 8
lea ecx, [esp + 0x6f0]
mov dword [esp + 0x850], esi
call fcn.00417efb
cmp eax, 1
je 0x40204a
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
push 0
call fcn.00408180
add esp, 4
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov ecx, esi
call fcn.00406350
lea ecx, [esp + 0x6f0]
mov byte [esp + 0x146c], 4
call fcn.00417bd9
lea ecx, [esp + 0x14]
mov byte [esp + 0x146c], 1
call fcn.0041b68b
mov ecx, esi
call fcn.00406700
test eax, eax
jne 0x402122
mov ecx, dword [0x428654]
mov dword [esp + 0x14], ecx
push 0x1f
lea ecx, [esp + 0x18]
mov byte [esp + 0x1470], 6
call fcn.0041bb1f
mov edx, dword [esp + 0x14]
push 0x50044
push str.DameWare_NT_Utilities___
push edx
push 0
call ebp
cmp eax, 6
je 0x4020d4
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
push 0
call fcn.00408180
add esp, 4
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
push 0x14
lea ecx, [esp + 0x18]
call fcn.0041bb1f
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0040838b
add esp, 4
mov ecx, esi
call fcn.00406a70
test eax, eax
jne 0x402111
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
push 0
call fcn.00408180
add esp, 4
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
lea ecx, [esp + 0x14]
mov byte [esp + 0x146c], 1
call fcn.0041b68b
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov eax, dword [0x42ca50]
test eax, eax
je 0x402146
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0xe0]
push ecx
lea edx, [esp + 0x5f4]
push str._spipeDNTU26Out
push edx
call esi
add esp, 0xc
lea eax, [esp + 0xe0]
lea ecx, [esp + 0x2e8]
push eax
push str._spipeDNTU26In
push ecx
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
add esp, 0xc
lea edx, [esp + 0x2e8]
push 0xffffffffffffffff
push edx
call ebx
test eax, eax
jne 0x402242
mov eax, dword [esp + 0x18]
push eax
call fcn.00402950
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1b
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.0041bb1f
lea ecx, [esp + 0x10]
push esi
push ecx
call fcn.004027c0
mov edx, dword [esp + 0x1480]
add esp, 8
lea ecx, [esp + 0x10]
mov eax, dword [edx + 4]
push eax
push 0x20
push ecx
call fcn.00417445
mov edx, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [esp + 0x1064]
mov eax, dword [edx - 8]
push esi
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.0041b90c
push eax
call fcn.00402890
add esp, 0xc
lea edx, [esp + 0xd58]
push edx
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_BringWindowToTop]
push 0x50010
lea eax, [esp + 0x1068]
push str.DameWare_NT_Utilities_RCMD___WaitNamedPipe
push eax
push esi
call ebp
push 0
call fcn.00408180
add esp, 4
jmp 0x4017ef
mov eax, dword [0x42ca50]
test eax, eax
je 0x40225e
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
push 0x120000
push 3
push 0
push 0
lea ecx, [esp + 0x2fc]
push 0x40000000
push ecx
call edi
mov edx, dword [esp + 0x18]
mov dword [0x42ca54], eax
push edx
call fcn.00402950
mov eax, dword [0x42ca54]
add esp, 4
cmp eax, 0xffffffff
jne 0x4022ed
push 0x428240
call fcn.0040838b
add esp, 4
lea eax, [esp + 0x2e8]
push eax
call fcn.0040838b
add esp, 4
push 0x428240
call fcn.0040838b
add esp, 4
lea ecx, [esp + 0x10]
push 0x15
call fcn.0041bb1f
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.004027c0
add esp, 8
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
lea edx, [esp + 0x1c]
lea eax, [esp + 0xe5c]
mov ebp, 0x104
push edx
push eax
mov dword [esp + 0x24], ebp
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
lea ecx, [esp + 0x1c]
lea edx, [esp + 0xf60]
push ecx
push edx
mov dword [esp + 0x24], ebp
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea eax, [esp + 0xf60]
lea ecx, [esp + 0xe5c]
push eax
lea edx, [esp + 0x6c]
push ecx
lea eax, [esp + 0x5c]
push edx
lea ecx, [esp + 0x4f8]
push eax
lea edx, [esp + 0x3f8]
push ecx
push edx
lea eax, [esp + 0x86c]
push str.Console:_s:_s:_s:_s:_s:_s
push eax
call esi
add esp, 0x20
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x854]
push 0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [0x42ca54]
push eax
lea eax, [esp + 0x860]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x4023b2
push 0x16
lea ecx, [esp + 0x14]
call fcn.0041bb1f
mov edx, dword [esp + 0x10]
push edx
call fcn.0040838b
push 0
call fcn.00408180
add esp, 8
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov eax, dword [0x42ca50]
test eax, eax
je 0x4023ce
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
lea eax, [esp + 0x5f0]
push 0x2710
push eax
call ebx
mov eax, dword [0x42ca50]
test eax, eax
je 0x4023f9
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
push 0
push 0
push 3
push 0
push 0
lea ecx, [esp + 0x604]
push 0x80000000
push ecx
call edi
mov dword [0x42ca58], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, eax
xor ebp, ebp
cmp esi, 2
jne 0x40247f
cmp dword [0x42ca58], 0xffffffff
jne 0x4024c6
push 0x19
call ebx
push 0
push 0
push 3
push 0
push 0
lea edx, [esp + 0x604]
push 0x80000000
push edx
call edi
cmp esi, 2
mov dword [0x42ca58], eax
je 0x402468
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x402471
mov esi, 2
inc ebp
cmp ebp, 0xc8
jg 0x4024c6
cmp esi, 2
je 0x40242c
test esi, esi
je 0x4024dc
lea eax, [esp + 0xe0]
lea ecx, [esp + 0x10]
push eax
push 0x1d
push ecx
call fcn.00417445
lea edx, [esp + 0x1c]
push esi
push edx
call fcn.004027c0
push 0
call fcn.00408180
add esp, 0x18
call fcn.00407f15
test eax, eax
jne 0x4024be
call fcn.00407f15
test eax, eax
je 0x4024b5
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]
cmp esi, 2
jne 0x40247f
cmp dword [0x42ca58], 0xffffffff
je 0x402483
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [0x42ca54]
lea eax, [esp + 0x50]
xor ebp, ebp
push eax
push ebp
push ecx
push 0x402740
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebp
mov dword [0x42ca5c], eax
jne 0x40253f
push 0x1c
lea ecx, [esp + 0x14]
call fcn.0041bb1f
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [esp + 0x10]
push eax
push edx
call fcn.004027c0
push ebp
call fcn.00408180
add esp, 0xc
call fcn.00407f15
test eax, eax
jne 0x402538
call fcn.00407f15
test eax, eax
je 0x40252f
push ebp
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov eax, dword [0x42ca58]
push eax
call fcn.004026b0
mov edi, eax
mov eax, dword [0x42ca50]
cmp eax, ebp
je 0x402563
push 0xea60
call ebx
push ebp
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov eax, dword [0x42ca54]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebp
je 0x40257b
push eax
call esi
mov dword [0x42ca54], ebp
mov eax, dword [0x42ca5c]
cmp eax, ebp
je 0x40259c
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov ecx, dword [0x42ca5c]
push ecx
call esi
mov dword [0x42ca5c], ebp
mov eax, dword [0x42ca58]
cmp eax, ebp
je 0x4025ae
push eax
call esi
mov dword [0x42ca58], ebp
cmp dword [esp + 0x40], ebp
jle 0x402638
mov edx, dword [esp + 0x18]
push edx
call fcn.00402950
add esp, 4
lea ecx, [esp + 0x10]
push 0x17
call fcn.0041bb1f
mov eax, dword [esp + 0x10]
push eax
call fcn.0040838b
add esp, 4
lea ecx, [esp + 0x7c]
push ebp
call fcn.00401000
mov ecx, dword [0x42ca64]
mov byte [esp + 0x146c], 7
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0x7c]
call fcn.00417efb
mov ecx, dword [0x42ca60]
push 0xffffffffffffffff
push ebp
call fcn.0041758c
lea ecx, [esp + 0xdc]
mov byte [esp + 0x146c], 8
call fcn.0041b68b
lea ecx, [esp + 0x7c]
mov byte [esp + 0x146c], 1
call fcn.00417bd9
cmp dword [0x42ca50], ebp
jne 0x402694
cmp edi, ebp
je 0x402694
push 0x18
lea ecx, [esp + 0x14]
call fcn.0041bb1f
lea edx, [esp + 0x10]
push edi
push edx
call fcn.004027c0
add esp, 8
lea ecx, [esp + 0x10]
push 0x12
call fcn.0041bb1f
mov eax, dword [esp + 0x10]
push eax
call fcn.0040838b
push ebp
call fcn.00408180
add esp, 8
call fcn.00407f15
test eax, eax
jne 0x40268d
call fcn.00407f15
test eax, eax
je 0x402684
push ebp
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push ebp
call dword [sym.imp.KERNEL32.dll_ExitThread]