Function at 0x408fb0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x3c
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [eax + 0x11]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x15]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 5]
mov dword [esp + 4], eax
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x1000
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
sub esp, 0x10
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x34], 0x69fed97c
mov edi, dword [sym.imp.ADVAPI32.dll_AddAccessAllowedAceEx]
jmp 0x409030
mov dword [ebp - 0x34], 0x54c6dd93
mov eax, dword [ebp - 0x34]
cmp eax, 0xa97474a6
jg 0x409050
cmp eax, 0x8ad35403
jne 0x409030
jmp 0x409029
cmp eax, 0xb0ba11ea
jg 0x409090
cmp eax, 0xa97474a7
jne 0x409030
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x11]
mov ecx, dword [ecx + 0xd]
mov edx, dword [ebp - 0x28]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.00408b00
test eax, eax
mov eax, 0x8ad35403
js 0x40908b
mov eax, 0x4da543f4
mov dword [ebp - 0x34], eax
jmp 0x409030
cmp eax, 0xcd58599e
jg 0x4090c1
cmp eax, 0xb0ba11eb
jne 0x409030
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 1]
add ecx, eax
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00408490
mov dword [ebp - 0x34], 0x639506a5
jmp 0x409030
cmp eax, 0xf9209ae8
jg 0x4090e1
cmp eax, 0xcd58599f
jne 0x409030
mov esi, dword [edi]
mov dword [ebp - 0x34], 0x54c6dd93
jmp 0x409030
cmp eax, 0x2def969
jg 0x40912b
cmp eax, 0xf9209ae9
jne 0x409030
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 5]
mov edx, dword [ebp - 0x28]
add edx, dword [eax + 1]
add eax, 0xd
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00402860
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 5]
lea eax, [eax + ecx + 0xd]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], 0x5691391a
jmp 0x409030
cmp eax, 0xddc7d7b
jg 0x40915a
cmp eax, 0x2def96a
jne 0x409030
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
mov eax, 0xf9209ae9
cmp ecx, dword [edx + 0xd]
jb 0x409152
mov eax, 0xddc7d7c
mov dword [ebp - 0x34], eax
jmp 0x409030
cmp eax, 0x295bb22e
jg 0x4091ab
cmp eax, 0xddc7d7c
jne 0x409030
mov eax, dword [ebp - 0x24]
inc eax
mov ecx, dword [ebp - 0x14]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0x20
call fcn.00402860
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
mov ecx, eax
xor ecx, 0xfe
test eax, ecx
mov eax, 0xb0ba11eb
jne 0x4091a3
mov eax, 0x639506a5
mov dword [ebp - 0x34], eax
jmp 0x409030
cmp eax, 0x4ab5ea2e
jg 0x4091c2
cmp eax, 0x295bb22f
jne 0x409030
jmp 0x409351
cmp eax, 0x4da543f3
jg 0x4091e7
cmp eax, 0x4ab5ea2f
jne 0x409030
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x34], 0x295bb22f
jmp 0x409030
cmp eax, 0x54c6dd92
jg 0x40920b
cmp eax, 0x4da543f4
jne 0x409030
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x34], 0x295bb22f
jmp 0x409030
cmp eax, 0x56913919
jg 0x409235
cmp eax, 0x54c6dd93
jne 0x409030
mov eax, 0x6f90aec9
cmp dword [ebp - 0x28], 0
jne 0x40922d
mov eax, 0x4ab5ea2f
mov dword [ebp - 0x34], eax
jmp 0x409030
cmp eax, 0x5a6e265f
jg 0x409262
cmp eax, 0x5691391a
jne 0x409030
xor eax, eax
sub eax, dword [ebp - 0x2c]
mov ecx, 1
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], 0x2def96a
jmp 0x409030
cmp eax, 0x639506a4
jg 0x4092a7
cmp eax, 0x5a6e2660
jne 0x409030
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 1]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x19]
add edx, ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004087c0
mov dword [ebp - 0x34], 0xa97474a7
jmp 0x409030
cmp eax, 0x69fed97b
jg 0x4092e2
cmp eax, 0x639506a5
jne 0x409030
call fcn.0040b1c0
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
mov ecx, eax
xor ecx, 0xfc
test eax, ecx
mov eax, 0x5a6e2660
jne 0x4092da
mov eax, 0xa97474a7
mov dword [ebp - 0x34], eax
jmp 0x409030
cmp eax, 0x6f90aec9
je 0x409303
cmp eax, 0x6f2361ca
jne 0x40932e
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x34], 0x2def96a
jmp 0x409030
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 0
call dword [sym.imp.KERNEL32.dll_VirtualFree]
sub esp, 0xc
mov dword [ebp - 0x34], 0x4ab5ea2f
jmp 0x409030
cmp eax, 0x69fed97c
jne 0x409030
mov eax, 0x6f2361ca
cmp dword [ebp - 0xc], 0
jne 0x409349
mov eax, 0xcd58599f
mov dword [ebp - 0x34], eax
jmp 0x409030
mov eax, dword [ebp - 0x10]
add esp, 0x3c
pop esi
pop edi
pop ebp
ret