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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100050c0
push 0x100019e8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor edi, edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x34], 0
xor eax, eax
mov dword [ebp - 0x33], eax
mov dword [ebp - 0x2f], eax
mov dword [ebp - 0x2b], eax
mov dword [ebp - 0x27], eax
mov word [ebp - 0x23], ax
mov byte [ebp - 0x21], al
mov dword [ebp - 4], edi
push 0x10001300
call fcn.100013a0
add esp, 4
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x40
push 0x1000
push esi
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x48], eax
cmp eax, edi
je 0x10001867
cmp dword [ebp + 0x18], edi
jne 0x100014d8
mov dword [ebp + 0x18], 0x100012e0
cmp dword [ebp + 0x1c], edi
jne 0x100014e4
mov dword [ebp + 0x1c], 0x100012e0
cmp dword [ebp + 0x20], edi
jne 0x100014f0
mov dword [ebp + 0x20], 0x100012f0
cmp dword [ebp + 0x24], edi
jne 0x100014fc
mov dword [ebp + 0x24], 0x100012f0
mov ecx, dword [ebp + 0xc]
cmp ecx, edi
je 0x10001524
mov edx, dword [ebp + 8]
mov dword [ecx], edx
mov dword [ecx + 4], eax
add ecx, 8
mov edi, dword [edx]
mov dword [ecx], edi
mov edi, dword [edx + 4]
mov dword [ecx + 4], edi
mov edi, dword [edx + 8]
mov dword [ecx + 8], edi
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, esi
mov esi, 0x10001300
mov edi, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, eax
mov dword [ebp - 0x44], ebx
xor esi, esi
mov dword [ebp - 0x4c], esi
push 5
push 0x10006864
sub eax, ebx
add eax, dword [ebp - 0x1c]
push eax
push ebx
call fcn.10001400
add esp, 0x10
mov ebx, eax
mov dword [ebp - 0x44], ebx
test ebx, ebx
je 0x100017d8
test esi, esi
jne 0x10001589
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x34], 0x83
mov byte [ebp - 0x33], 0xc4
mov al, byte [ebp + 0x10]
sub eax, dword [ebp + 0x14]
lea eax, [eax*4 - 4]
jmp 0x10001744
cmp esi, 1
jne 0x100015b9
mov byte [ebp - 0x34], 0x8d
mov byte [ebp - 0x33], 0x54
mov byte [ebp - 0x32], 0x24
mov al, byte [ebp + 0x10]
neg eax
shl eax, 2
mov byte [ebp - 0x31], al
mov ecx, dword [ebp - 0x34]
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 0x44], ebx
inc esi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x48]
jmp 0x10001545
cmp esi, 2
jne 0x100015ed
mov byte [ebp - 0x34], 0x83
mov byte [ebp - 0x33], 0xec
mov al, byte [ebp + 0x10]
shl eax, 2
mov byte [ebp - 0x32], al
mov edx, ebx
mov cx, word [ebp - 0x34]
mov word [edx], cx
mov byte [edx + 2], al
add ebx, 3
mov dword [ebp - 0x44], ebx
inc esi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x48]
jmp 0x10001545
cmp esi, 3
jne 0x10001603
mov byte [ebp - 0x34], 0xe8
mov edx, dword [ebp + 0x1c]
sub edx, ebx
sub edx, 5
jmp 0x100017b6
cmp esi, 4
jne 0x10001615
mov byte [ebp - 0x34], 0x83
mov byte [ebp - 0x33], 0xc4
jmp 0x1000173e
cmp esi, 5
jne 0x10001626
mov byte [ebp - 0x34], 0xe8
mov eax, dword [ebp + 0x24]
jmp 0x100016fb
cmp esi, 6
jne 0x10001660
mov byte [ebp - 0x34], 0xc2
mov ecx, dword [ebp + 0x14]
and ecx, 0xff
shl ecx, 2
mov word [ebp - 0x33], cx
mov edx, ebx
mov ax, word [ebp - 0x34]
mov word [edx], ax
mov cl, byte [ebp - 0x32]
mov byte [edx + 2], cl
add ebx, 3
mov dword [ebp - 0x44], ebx
inc esi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x48]
jmp 0x10001545
cmp esi, 7
jne 0x10001696
mov byte [ebp - 0x34], 0xe8
mov edx, dword [ebp + 0x20]
sub edx, ebx
sub edx, 5
mov dword [ebp - 0x33], edx
mov eax, ebx
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov dl, byte [ebp - 0x30]
mov byte [eax + 4], dl
mov dword [ebp - 0x38], ebx
add ebx, 5
mov dword [ebp - 0x44], ebx
inc esi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x48]
jmp 0x10001545
cmp esi, 8
jne 0x100016a9
mov byte [ebp - 0x34], 0xb9
mov eax, dword [ebp + 0x10]
and eax, 0xff
jmp 0x10001700
cmp esi, 9
jne 0x100016dc
mov byte [ebp - 0x34], 0x8d
mov byte [ebp - 0x33], 0x54
mov byte [ebp - 0x32], 0x24
mov cl, byte [ebp + 0x10]
neg ecx
shl ecx, 2
mov byte [ebp - 0x31], cl
mov edx, dword [ebp - 0x34]
mov dword [ebx], edx
add ebx, 4
mov dword [ebp - 0x44], ebx
inc esi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x48]
jmp 0x10001545
cmp esi, 0xa
jne 0x100016ea
mov byte [ebp - 0x34], 0xb9
mov eax, dword [ebp - 0x3c]
jmp 0x10001700
cmp esi, 0xb
je 0x10001736
cmp esi, 0xc
jne 0x10001722
mov byte [ebp - 0x34], 0xe8
mov eax, dword [ebp + 0x18]
sub eax, ebx
sub eax, 5
mov dword [ebp - 0x33], eax
mov ecx, ebx
mov edx, dword [ebp - 0x34]
mov dword [ecx], edx
mov al, byte [ebp - 0x30]
mov byte [ecx + 4], al
add ebx, 5
mov dword [ebp - 0x44], ebx
inc esi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x48]
jmp 0x10001545
cmp esi, 0xd
jne 0x10001731
mov byte [ebp - 0x34], 0x83
mov byte [ebp - 0x33], 0xc4
jmp 0x1000173e
cmp esi, 0xe
jne 0x10001765
mov byte [ebp - 0x34], 0x83
mov byte [ebp - 0x33], 0xec
mov al, byte [ebp + 0x10]
shl eax, 2
mov byte [ebp - 0x32], al
mov ecx, ebx
mov dx, word [ebp - 0x34]
mov word [ecx], dx
mov byte [ecx + 2], al
add ebx, 3
mov dword [ebp - 0x44], ebx
inc esi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x48]
jmp 0x10001545
cmp esi, 0xf
jne 0x100017a1
push 5
mov esi, dword [ebp + 8]
push esi
call fcn.10001260
add esp, 8
mov dword [ebp - 0x40], eax
mov ecx, eax
mov edi, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add ebx, eax
mov dword [ebp - 0x44], ebx
mov esi, dword [ebp - 0x4c]
inc esi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x48]
jmp 0x10001545
cmp esi, 0x10
jne 0x100017cc
mov byte [ebp - 0x34], 0xe9
mov eax, dword [ebp - 0x40]
sub eax, ebx
mov ecx, dword [ebp + 8]
lea edx, [eax + ecx - 5]
mov dword [ebp - 0x33], edx
mov eax, ebx
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov dl, byte [ebp - 0x30]
mov byte [eax + 4], dl
add ebx, 5
mov dword [ebp - 0x44], ebx
inc esi
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x48]
jmp 0x10001545
mov byte [ebp - 0x34], 0xe9
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp + 8]
sub eax, esi
sub eax, 5
mov dword [ebp - 0x33], eax
lea eax, [ebp - 0x20]
push eax
push 0x40
mov ebx, dword [ebp - 0x40]
push ebx
push esi
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
call edi
test eax, eax
jne 0x10001813
push 0x8000
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
jmp 0x10001867
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10001828
add eax, 0x18
mov edx, dword [ebp - 0x34]
mov dword [eax], edx
mov cl, byte [ebp - 0x30]
mov byte [eax + 4], cl
mov edx, esi
mov eax, dword [ebp - 0x34]
mov dword [edx], eax
mov cl, byte [ebp - 0x30]
mov byte [edx + 4], cl
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x20]
push eax
push ebx
push esi
call edi
mov dword [ebp - 4], 0xffffffff
mov eax, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret