Function at 0x497451
Capabilities:
Create process on windows
Execute command

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x34
mov eax, dword [0x59828c]
test eax, eax
jne 0x497d5b
mov eax, dword [0x6a8b4c]
test eax, eax
je 0x49747f
mov dword [esp], 0x106
call fcn.00472788
jmp 0x497d5c
mov eax, dword [0x6c8948]
mov dword [0xa58698], eax
mov eax, dword [0xa58698]
test eax, eax
je 0x4974bb
mov dword [0x54b570], 0
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x6c8948]
test eax, eax
setne al
test al, al
jne 0x49749c
mov dword [0xa5869c], 0
mov eax, dword [0x6a8c7c]
test eax, eax
je 0x4974e1
mov eax, dword [0x54b2dc]
test eax, eax
je 0x4974e1
mov dword [0xa5869c], 1
mov eax, dword [0xa586a0]
test eax, eax
jne 0x497503
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00473ea2
mov dword [0xa586a0], eax
mov eax, dword [0xa586a4]
test eax, eax
jne 0x497525
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00473ea2
mov dword [0xa586a4], eax
mov eax, dword [0xa586a8]
test eax, eax
jne 0x497547
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00473ea2
mov dword [0xa586a8], eax
mov eax, dword [0xa586ac]
test eax, eax
jne 0x497569
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00473ea2
mov dword [0xa586ac], eax
mov eax, dword [0xa586b0]
test eax, eax
jne 0x49758b
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00473ea2
mov dword [0xa586b0], eax
cmp dword [ebp + 0xc], 0
je 0x4975a2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
test eax, eax
jne 0x4975a2
mov dword [ebp + 0xc], 0
cmp dword [ebp + 0xc], 0
je 0x497cae
mov eax, dword [0xa5869c]
test eax, eax
je 0x497613
mov dword [esp + 4], 1
mov dword [esp], 0x567887
call fcn.00473d1f
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004747cd
mov edx, eax
mov eax, dword [0xa586a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [0xa43c50], 1
mov eax, dword [0xa586a0]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_system
mov dword [0xa43c50], 0
jmp 0x497d27
call fcn.00495745
test eax, eax
setne al
test al, al
je 0x497b47
mov eax, dword [0xa586a4]
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [esp], 0x560506
call fcn.00473c8e
mov edx, eax
mov eax, dword [0xa586ac]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov eax, dword [0xa586a4]
mov eax, dword [eax + 4]
test eax, eax
je 0x497d1a
mov eax, dword [0xa586a4]
mov dword [esp], eax
call fcn.00495858
test eax, eax
sete al
test al, al
je 0x49776b
mov dword [esp + 4], 1
mov dword [esp], 0x567887
call fcn.00473d1f
mov edx, eax
mov eax, dword [0xa586a4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004747cd
mov edx, eax
mov eax, dword [0xa586a8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [esp + 8], 0x3c
mov dword [esp + 4], 0
mov dword [esp], 0xa586c0
call sub.msvcrt.dll_memset
mov dword [0xa586c0], 0x3c
mov eax, dword [0xa586a8]
mov eax, dword [eax]
mov dword [0xa586d0], eax
mov dword [0xa586d4], 0
mov dword [0xa586c4], 0x440
mov dword [0xa586dc], 5
mov dword [esp], 0xa586c0
mov eax, dword [sym.imp.SHELL32.DLL_ShellExecuteExA]
call eax
sub esp, 4
test eax, eax
setne al
test al, al
je 0x49776b
mov dword [0xa43c50], 1
mov eax, dword [0xa586f8]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call eax
sub esp, 8
mov eax, dword [0xa586f8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov dword [0xa43c50], 0
jmp 0x497d27
mov dword [0xa586fc], 0
mov dword [0xa58700], 0
jmp 0x497849
mov eax, dword [0xa586a4]
mov edx, dword [eax]
mov eax, dword [0xa586fc]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x22
jne 0x4977b8
mov eax, dword [0xa58700]
test eax, eax
jne 0x4977ae
mov dword [0xa58700], 1
jmp 0x4977b8
mov dword [0xa58700], 0
mov eax, dword [0xa586a4]
mov edx, dword [eax]
mov eax, dword [0xa586fc]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x20
jne 0x49783c
mov eax, dword [0xa58700]
test eax, eax
jne 0x49783c
mov eax, dword [0xa586a4]
mov edx, dword [eax + 4]
mov eax, dword [0xa586fc]
mov ecx, edx
sub ecx, eax
mov eax, ecx
lea edx, [eax - 1]
mov eax, dword [0xa586a4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474c17
mov edx, eax
mov eax, dword [0xa586ac]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov edx, dword [0xa586fc]
mov eax, dword [0xa586a4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474b4f
mov edx, eax
mov eax, dword [0xa586a4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
jmp 0x497863
mov eax, dword [0xa586fc]
add eax, 1
mov dword [0xa586fc], eax
mov eax, dword [0xa586a4]
mov edx, dword [eax + 4]
mov eax, dword [0xa586fc]
cmp edx, eax
setg al
test al, al
jne 0x497784
mov eax, dword [0xa586a4]
mov eax, dword [eax + 4]
test eax, eax
je 0x497d1d
mov eax, dword [0xa586ac]
mov eax, dword [eax + 4]
test eax, eax
je 0x4979c2
mov eax, dword [0xa586a4]
mov dword [esp], eax
call fcn.00495858
test eax, eax
sete al
test al, al
je 0x4979c2
mov dword [esp + 4], 1
mov dword [esp], 0x567887
call fcn.00473d1f
mov edx, eax
mov eax, dword [0xa586a4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004747cd
mov edx, eax
mov eax, dword [0xa586a8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [esp + 4], 1
mov dword [esp], 0x567887
call fcn.00473d1f
mov edx, eax
mov eax, dword [0xa586ac]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004747cd
mov edx, eax
mov eax, dword [0xa586b0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [esp + 8], 0x3c
mov dword [esp + 4], 0
mov dword [esp], 0xa586c0
call sub.msvcrt.dll_memset
mov dword [0xa586c0], 0x3c
mov eax, dword [0xa586a8]
mov eax, dword [eax]
mov dword [0xa586d0], eax
mov eax, dword [0xa586b0]
mov eax, dword [eax]
mov dword [0xa586d4], eax
mov dword [0xa586c4], 0x440
mov dword [0xa586dc], 5
mov dword [esp], 0xa586c0
mov eax, dword [sym.imp.SHELL32.DLL_ShellExecuteExA]
call eax
sub esp, 4
test eax, eax
setne al
test al, al
je 0x4979c2
mov dword [0xa43c50], 1
mov eax, dword [0xa586f8]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call eax
sub esp, 8
mov eax, dword [0xa586f8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov dword [0xa43c50], 0
jmp 0x497d27
mov eax, dword [0xa586ac]
mov eax, dword [eax + 4]
test eax, eax
je 0x4979ff
mov ebx, dword [0xa586ac]
mov dword [esp], 0x5678fa
call fcn.00473c8e
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004747cd
mov edx, eax
mov eax, dword [0xa586ac]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov edx, dword [0xa586ac]
mov eax, dword [0xa586a4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004747cd
mov edx, eax
mov eax, dword [0xa586a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov ebx, dword [0xa586a0]
mov dword [esp], str.__c
call fcn.00473c8e
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004747cd
mov edx, eax
mov eax, dword [0xa586a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [esp + 4], 1
mov dword [esp], 0x567887
call fcn.00473d1f
mov edx, eax
mov eax, dword [0xa586a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004747cd
mov edx, eax
mov eax, dword [0xa586a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [esp + 8], 0x3c
mov dword [esp + 4], 0
mov dword [esp], 0xa586c0
call sub.msvcrt.dll_memset
mov dword [0xa586c0], 0x3c
mov dword [0xa586d0], 0x54b936
mov eax, dword [0xa586a0]
mov eax, dword [eax]
mov dword [0xa586d4], eax
mov dword [0xa586c4], 0x440
mov dword [0xa586dc], 5
mov dword [esp], 0xa586c0
mov eax, dword [sym.imp.SHELL32.DLL_ShellExecuteExA]
call eax
sub esp, 4
test eax, eax
setne al
test al, al
je 0x497d20
mov dword [0xa43c50], 1
mov eax, dword [0xa586f8]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call eax
sub esp, 8
mov eax, dword [0xa586f8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov dword [0xa43c50], 0
jmp 0x497d27
mov dword [esp], str.command.com__c
call fcn.00473c8e
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004747cd
mov edx, eax
mov eax, dword [0xa586a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [esp + 4], 1
mov dword [esp], 0x567887
call fcn.00473d1f
mov edx, eax
mov eax, dword [0xa586a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004747cd
mov edx, eax
mov eax, dword [0xa586a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [esp + 8], 0x44
mov dword [esp + 4], 0
mov dword [esp], 0xa58720
call sub.msvcrt.dll_memset
mov dword [0xa58720], 0x44
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
mov dword [esp], 0xa58764
call sub.msvcrt.dll_memset
mov eax, dword [0xa586a0]
mov eax, dword [eax]
mov dword [esp + 0x24], 0xa58764
mov dword [esp + 0x20], 0xa58720
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_CreateProcessA]
call eax
sub esp, 0x28
test eax, eax
setne al
test al, al
je 0x497d23
mov dword [0xa43c50], 1
mov eax, dword [0xa58764]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call eax
sub esp, 8
mov eax, dword [0xa58764]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, dword [0xa58768]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov dword [0xa43c50], 0
jmp 0x497d27
mov eax, dword [0xa5869c]
test eax, eax
jne 0x497cbe
mov eax, dword [sym.imp.KERNEL32.dll_AllocConsole]
call eax
mov dword [esp + 4], 4
mov dword [esp], 0x567c4c
call fcn.00473d1f
mov edx, eax
mov eax, dword [0xa586a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [0xa43c50], 1
mov eax, dword [0xa586a0]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_system
mov dword [0xa43c50], 0
mov eax, dword [0xa5869c]
test eax, eax
jne 0x497d26
mov eax, dword [sym.imp.KERNEL32.dll_FreeConsole]
call eax
jmp 0x497d26
nop
jmp 0x497d27
nop
jmp 0x497d27
nop
jmp 0x497d27
nop
jmp 0x497d27
nop
mov eax, dword [0xa58698]
test eax, eax
je 0x497d5c
mov eax, dword [0xa58698]
mov dword [0x54b570], eax
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x6c8948]
test eax, eax
sete al
test al, al
jne 0x497d3a
jmp 0x497d5c
nop
mov ebx, dword [ebp - 4]
leave
ret