Function at 0x40bab0
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], 0xf36ca131
mov edi, dword [sym.imp.ADVAPI32.dll_BuildSecurityDescriptorA]
jmp 0x40bb30
mov dword [ebp - 0x34], eax
nop
nop
nop
nop
mov eax, dword [ebp - 0x34]
cmp eax, 0x466dc8ac
jg 0x40bb90
cmp eax, 0x4241d821
jg 0x40bba0
cmp eax, 0x3f25e5b0
jg 0x40bbd1
cmp eax, 0x37939e51
jg 0x40bbff
cmp eax, 0x29f450dc
jg 0x40bc22
cmp eax, 0x28b35d42
jg 0x40bc4a
cmp eax, 0x96f1b4ae
jg 0x40bc68
cmp eax, 0x9631747f
jne 0x40bb30
mov dword [ebp - 0x34], 0xdea110fe
jmp 0x40bb30
cmp eax, 0x466dc8ad
jne 0x40bb30
jmp 0x40bf80
cmp eax, 0x4241d822
jne 0x40bb30
call fcn.0040eda0
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
mov ecx, eax
xor ecx, 0xfc
test eax, ecx
mov eax, 0xc68bf479
jne 0x40bb29
mov eax, 0xdea110fe
jmp 0x40bb29
cmp eax, 0x3f25e5b1
jne 0x40bb30
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.0040a810
mov dword [ebp - 0x34], 0x4241d822
jmp 0x40bb30
cmp eax, 0x37939e52
jne 0x40bb30
mov eax, 0x112ac2bc
cmp dword [ebp - 0x28], 0
jne 0x40bc1a
mov eax, 0x28b35d43
mov dword [ebp - 0x34], eax
jmp 0x40bb30
cmp eax, 0x29f450dd
jne 0x40bb30
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
mov eax, 0xdec9600d
cmp ecx, dword [edx + 0xd]
jb 0x40bc42
mov eax, 0x9f49ad6
mov dword [ebp - 0x34], eax
jmp 0x40bb30
cmp eax, 0x28b35d43
jne 0x40bb30
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x34], 0x466dc8ad
jmp 0x40bb30
cmp eax, 0xa654e8f7
jg 0x40bcb9
cmp eax, 0x96f1b4af
jne 0x40bb30
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x817e741e
sub edx, dword [ecx + 1]
lea eax, [edx + eax + 0x7e818be2]
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.0040ac70
mov dword [ebp - 0x34], 0xcd4b51e0
jmp 0x40bb30
cmp eax, 0xa8e780cb
jg 0x40bcda
cmp eax, 0xa654e8f8
jne 0x40bb30
inc dword [ebp - 0x2c]
mov dword [ebp - 0x34], 0x29f450dd
jmp 0x40bb30
cmp eax, 0xb0fc3e57
jg 0x40bcfa
cmp eax, 0xa8e780cc
jne 0x40bb30
mov esi, dword [edi]
mov dword [ebp - 0x34], 0x37939e52
jmp 0x40bb30
cmp eax, 0xb2bebc09
jg 0x40bd18
cmp eax, 0xb0fc3e58
jne 0x40bb30
mov dword [ebp - 0x34], 0xa654e8f8
jmp 0x40bb30
cmp eax, 0xc68bf478
jg 0x40bd62
cmp eax, 0xb2bebc0a
jne 0x40bb30
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.00402df0
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 5]
lea eax, [eax + ecx + 0xd]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], 0xb0fc3e58
jmp 0x40bb30
cmp eax, 0xcd4b51df
jg 0x40bd80
cmp eax, 0xc68bf479
jne 0x40bb30
mov dword [ebp - 0x34], 0xcd4b51e0
jmp 0x40bb30
cmp eax, 0xdea110fd
jg 0x40bdd1
cmp eax, 0xcd4b51e0
jne 0x40bb30
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x973a5b1
sub edx, dword [ecx + 1]
lea eax, [edx + eax - 0x973a5b1]
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.0040ac70
mov dword [ebp - 0x34], 0x9631747f
jmp 0x40bb30
cmp eax, 0x1c745deb
jg 0x40be26
cmp eax, 0x1bbcda05
jg 0x40be43
cmp eax, 0xdec9600c
jg 0x40be5a
cmp eax, 0xdea110fe
jne 0x40bb30
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.0040b480
test eax, eax
mov eax, 0x1bbcda06
js 0x40be1e
mov eax, 0x1c745dec
mov dword [ebp - 0x34], eax
jmp 0x40bb30
cmp eax, 0x1c745dec
jne 0x40bb30
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x34], 0x466dc8ad
jmp 0x40bb30
cmp eax, 0x1bbcda06
jne 0x40bb30
mov dword [ebp - 0x34], 0x37939e52
jmp 0x40bb30
cmp eax, 0xe6887fb2
jg 0x40be78
cmp eax, 0xdec9600d
jne 0x40bb30
mov dword [ebp - 0x34], 0xb2bebc0a
jmp 0x40bb30
cmp eax, 0xf36ca130
jg 0x40be9d
cmp eax, 0xe6887fb3
jne 0x40bb30
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x34], 0x29f450dd
jmp 0x40bb30
cmp eax, 0x9f49ad5
jg 0x40bec7
cmp eax, 0xf36ca131
jne 0x40bb30
mov eax, 0xe6887fb3
cmp dword [ebp - 0xc], 0
jne 0x40bebf
mov eax, 0xa8e780cc
mov dword [ebp - 0x34], eax
jmp 0x40bb30
cmp eax, 0x9f49ad6
je 0x40bf00
cmp eax, 0x112ac2bc
jne 0x40bf3d
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], 0x28b35d43
jmp 0x40bb30
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.00402df0
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
mov eax, 0x3f25e5b1
jne 0x40bf35
mov eax, 0x4241d822
mov dword [ebp - 0x34], eax
jmp 0x40bb30
cmp eax, 0x1145d7f7
jne 0x40bb30
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.00402df0
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 5]
lea eax, [eax + ecx + 0xd]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], 0xb2bebc0a
jmp 0x40bb30
mov eax, dword [ebp - 0x10]
add esp, 0x3c
pop esi
pop edi
pop ebp
ret