Function at 0x100079b0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x4c
mov eax, dword [0x100ab018]
xor eax, esp
mov dword [esp + 0x48], eax
push esi
push str.win32u.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x100079f0
push str.NtUserSendInput
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x100ace58], eax
test eax, eax
jne 0x10007a07
push str.____NtUserSendInput_is_null
jmp 0x100079f5
push str.____win32u.dll_is_null
push 0x10073d54
push 0x100abc10
call fcn.1000ace0
add esp, 0xc
push dword [esp + 0x48]
call fcn.100086b0
add esp, 4
push dword [esp + 0x48]
call fcn.10008740
add esp, 4
push dword [esp + 0x48]
call fcn.100087d0
mov eax, dword [0x100acd94]
add esp, 4
test eax, eax
je 0x10007a80
cmp dword [eax], 2
jne 0x10007a80
mov eax, dword [0x100ace58]
test eax, eax
je 0x10007a80
cmp byte [eax], 0xe9
jne 0x10007a80
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea ecx, [esp + 0x48]
push ecx
push 0x40
push 5
push eax
call esi
mov ecx, dword [0x100ace58]
mov eax, dword [ecx + 1]
mov dword [0x100ace04], eax
mov eax, dword [0x100ab8dc]
mov byte [ecx], 0xb8
mov dword [ecx + 1], eax
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x4c]
push 5
push ecx
call esi
cmp byte [0x100acf51], 0
jne 0x10007ab1
cmp byte [0x100acf50], 0
jne 0x10007ab1
cmp byte [0x100acf52], 0
jne 0x10007ab1
cmp byte [0x100acf55], 0
jne 0x10007ab1
cmp byte [0x100acf54], 0
jne 0x10007ab1
xor dl, dl
jmp 0x10007ab3
mov dl, 1
mov ecx, dword [0x100ace2c]
mov byte [esp + 0xf], dl
test ecx, ecx
je 0x10007b36
mov dword [esp + 0x10], ecx
mov esi, 6
mov dword [esp + 0x14], 0x100080b0
xorps xmm1, xmm1
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], esi
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x30]
mov dword [0x100ae280], eax
movups xmm0, xmmword [esp + 0x10]
movups xmmword [0x100ae270], xmm1
movups xmmword [0x100ae260], xmm0
test dl, dl
je 0x10007b36
push esi
push ecx
push 0x100ae270
call fcn.1004f070
mov edx, dword [0x100ae264]
add esp, 0xc
mov ecx, dword [0x100ae260]
push dword [0x100ae26c]
call fcn.10002f40
add esp, 4
mov byte [0x100ae280], 1
mov eax, dword [0x100ace54]
test eax, eax
je 0x10007b93
add eax, 0xf
mov dword [esp + 0x14], 0x100080d0
cmp byte [esp + 0xf], 0
xorps xmm1, xmm1
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0x100ace4c
mov dword [esp + 0x1c], 5
movups xmm0, xmmword [esp + 0x10]
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x30]
movups xmmword [0x100ae2a8], xmm0
mov dword [0x100ae2c8], eax
movups xmmword [0x100ae2b8], xmm1
je 0x10007b93
mov ecx, 0x100ae2a8
call fcn.100010c0
mov eax, dword [0x100ace34]
test eax, eax
je 0x10007c01
cmp byte [0x100ab8e0], 0
xorps xmm1, xmm1
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x10008100
mov dword [esp + 0x18], 0x100ace48
mov dword [esp + 0x1c], 5
movups xmm0, xmmword [esp + 0x10]
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x30]
movups xmmword [0x100ae2cc], xmm0
mov dword [0x100ae2ec], eax
movups xmmword [0x100ae2dc], xmm1
jne 0x10007bf7
cmp byte [0x100ab930], 0
jne 0x10007bf7
cmp byte [0x100ab908], 0
je 0x10007c01
mov ecx, 0x100ae2cc
call fcn.100010c0
call fcn.10002fa0
call fcn.10008dc0
mov eax, dword [0x100acf28]
test eax, eax
je 0x10007cf7
cmp dword [0x100acf38], 0
je 0x10007cf7
cmp byte [0x100acf56], 0
xorps xmm1, xmm1
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x1000a320
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0xa
movups xmm0, xmmword [esp + 0x10]
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x30]
mov dword [0x100ae50c], eax
mov eax, dword [0x100acf30]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x1000a350
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 6
movups xmmword [0x100ae4ec], xmm0
mov byte [esp + 0x30], 0
movups xmm0, xmmword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov dword [0x100ae4e8], eax
mov eax, dword [0x100acf2c]
mov dword [esp + 0x10], eax
movups xmmword [0x100ae4c8], xmm0
mov dword [esp + 0x14], 0x1000a360
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 6
movups xmm0, xmmword [esp + 0x10]
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x30]
movups xmmword [0x100ae4fc], xmm1
mov dword [0x100ae4c4], eax
movups xmmword [0x100ae4d8], xmm1
movups xmmword [0x100ae4a4], xmm0
movups xmmword [0x100ae4b4], xmm1
je 0x10007cf7
call fcn.1000a170
mov eax, dword [0x100acf20]
test eax, eax
je 0x10007d4e
cmp byte [0x100ae159], 0
xorps xmm1, xmm1
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x1000a160
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 5
movups xmm0, xmmword [esp + 0x10]
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x30]
movups xmmword [0x100ae480], xmm0
mov dword [0x100ae4a0], eax
movups xmmword [0x100ae490], xmm1
je 0x10007d4e
call fcn.1000a0b0
call fcn.10009950
mov ecx, dword [0x100acf14]
test ecx, ecx
je 0x10007dd7
cmp byte [0x100acf52], 0
mov edx, 7
mov dword [esp + 0x10], ecx
xorps xmm1, xmm1
mov dword [esp + 0x14], 0x1000a090
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], edx
movups xmm0, xmmword [esp + 0x10]
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x30]
movups xmmword [0x100ae45c], xmm0
mov dword [0x100ae47c], eax
movups xmmword [0x100ae46c], xmm1
je 0x10007dd7
push edx
push ecx
push 0x100ae46c
call fcn.1004f070
mov edx, dword [0x100ae460]
add esp, 0xc
mov ecx, dword [0x100ae45c]
push dword [0x100ae468]
call fcn.10002f40
add esp, 4
mov byte [0x100ae47c], 1
cmp dword [0x100acf4c], 0
je 0x10007dee
cmp byte [0x100acf54], 0
je 0x10007dee
call fcn.1000a370
mov eax, dword [0x100aceec]
test eax, eax
je 0x10007e4d
add eax, 7
mov dword [esp + 0x14], 0x10009c30
cmp byte [0x100acf55], 0
xorps xmm1, xmm1
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0x100acef4
mov dword [esp + 0x1c], 6
movups xmm0, xmmword [esp + 0x10]
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x30]
movups xmmword [0x100ae434], xmm0
mov dword [0x100ae454], eax
movups xmmword [0x100ae444], xmm1
je 0x10007e4d
mov ecx, 0x100ae434
call fcn.100010c0
mov ecx, dword [esp + 0x4c]
pop esi
xor ecx, esp
call fcn.1004d2bc
mov esp, ebp
pop ebp
ret