Function at 0x100771b0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push esi
push edi
lea edi, [ebp - 0x64]
mov ecx, 0x19
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
jne 0x100771db
xor eax, eax
jmp 0x100773a8
mov esi, esp
lea eax, [ebp - 8]
push eax
push 0x40
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp esi, esp
call fcn.10118e91
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.100f0650
add esp, 0xc
mov byte [ebp - 0x18], 0xe9
mov byte [ebp - 0x17], 0x90
mov byte [ebp - 0x16], 0x90
mov byte [ebp - 0x15], 0x90
mov byte [ebp - 0x14], 0x90
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
sub eax, 5
mov dword [ebp - 0x24], eax
push 4
lea ecx, [ebp - 0x24]
push ecx
mov edx, 1
shl edx, 0
lea eax, [ebp + edx - 0x18]
push eax
call fcn.100f0650
add esp, 0xc
push 5
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.100f0650
add esp, 0xc
mov esi, esp
push 0x40
push 0x3000
mov eax, dword [ebp + 0x14]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
cmp esi, esp
call fcn.10118e91
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x10077285
xor eax, eax
jmp 0x100773a8
mov byte [ebp - 0x38], 0xe9
mov byte [ebp - 0x37], 0x90
mov byte [ebp - 0x36], 0x90
mov byte [ebp - 0x35], 0x90
mov byte [ebp - 0x34], 0x90
cmp dword [ebp + 0x14], 5
jbe 0x1007734a
mov byte [ebp - 0x41], 0x90
mov byte [ebp - 0x49], 0
jmp 0x100772b6
mov cl, byte [ebp - 0x49]
add cl, 1
mov byte [ebp - 0x49], cl
movzx edx, byte [ebp - 0x49]
mov eax, dword [ebp + 0x14]
sub eax, 5
cmp edx, eax
jae 0x100772e0
push 1
lea ecx, [ebp - 0x41]
push ecx
movzx edx, byte [ebp - 0x49]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 5]
push ecx
call fcn.100f0650
add esp, 0xc
jmp 0x100772ad
mov edx, dword [ebp + 0x14]
sub edx, 3
push edx
mov eax, 1
imul ecx, eax, 3
add ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
call fcn.100f0650
add esp, 0xc
mov eax, dword [ebp + 8]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x2c]
lea ecx, [edx + ecx + 2]
sub eax, ecx
mov dword [ebp - 0x54], eax
push 4
lea edx, [ebp - 0x54]
push edx
mov eax, 1
shl eax, 0
lea ecx, [ebp + eax - 0x38]
push ecx
call fcn.100f0650
add esp, 0xc
push 5
lea edx, [ebp - 0x38]
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x2c]
lea edx, [ecx + eax - 3]
push edx
call fcn.100f0650
add esp, 0xc
jmp 0x10077388
mov eax, dword [ebp + 8]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x2c]
add ecx, 5
sub eax, ecx
mov dword [ebp - 0x60], eax
push 4
lea edx, [ebp - 0x60]
push edx
mov eax, 1
shl eax, 0
lea ecx, [ebp + eax - 0x38]
push ecx
call fcn.100f0650
add esp, 0xc
push 5
lea edx, [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call fcn.100f0650
add esp, 0xc
mov esi, esp
push 0
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp esi, esp
call fcn.10118e91
mov eax, dword [ebp - 0x2c]
push edx
mov ecx, ebp
push eax
lea edx, [0x100773cc]
call fcn.10118e3d
pop eax
pop edx
pop edi
pop esi
add esp, 0x64
cmp ebp, esp
call fcn.10118e91
mov esp, ebp
pop ebp
ret