Function at 0x401ad0
Capabilities:
Create thread
Execute command
Inject dll
Inject thread

Disassembly:
push ebp
mov ebp, esp
push ecx
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x401b1a
push str.kernel32.dll
push str.ERROR:_Cant_get__ss_handle_
call fcn.00402af0
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ErrorCode:__u_n
call fcn.00402af0
push str.pause
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 0xc
xor al, al
mov esp, ebp
pop ebp
ret
push ebx
push str.LoadLibraryA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
jne 0x401b65
push str.LoadLibraryA
push str.ERROR:_Cant_get_function__ss_address_
call fcn.00402af0
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ErrorCode:__u_n
call fcn.00402af0
push str.pause
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 0xc
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [ebp + 8]
push edi
push esi
call fcn.00401eb0
add esp, 4
mov edi, eax
push esi
test edi, edi
jne 0x401b9b
push str.Process___u__open_is_failed._n
call fcn.00402af0
push str.pause
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str._nProcess___u__is_opened._n
call fcn.00402af0
push edi
call fcn.00402b50
movzx eax, ax
add esp, 0xc
test ax, ax
jne 0x401bd3
push str.Cant_determine_build_number._n
call fcn.00402af0
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
push eax
push str.Detected_build_number:__hu_n
call fcn.00402af0
mov ecx, dword [ebp + 0xc]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401be7
push 4
push 0x1000
sub ecx, edx
push ecx
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov esi, eax
test esi, esi
jne 0x401c43
push str.ERROR:_Virtual_memory_allocation_is_failed_
call fcn.00402af0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ErrorCode:__u._n
call fcn.00402af0
push str.pause
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 4], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401c50
sub ecx, dword [ebp - 4]
push 0
push ecx
push edx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x401cb5
push str.ERROR:_Process_memory_writing_is_failed_
call fcn.00402af0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ErrorCode:__u_n
call fcn.00402af0
push str.pause
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 0xc
push 0x8000
push 0
push esi
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push esi
push ebx
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov ebx, eax
test ebx, ebx
jne 0x401d16
push str.ERROR:_Remote_thread_creation_is_failed_
call fcn.00402af0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ErrorCode:__u_n
call fcn.00402af0
push str.pause
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 0xc
push 0x8000
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x8000
push 0
push esi
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
push edi
call esi
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret