Function at 0x40b930
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x40
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [eax + 0x11]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
add eax, dword [ecx + 0x15]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x20]
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 - 0x2c], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x38], 0x8e1ca05c
mov edi, dword [sym.imp.ADVAPI32.dll_AccessCheck]
jmp 0x40b9b0
mov dword [ebp - 0x38], 0xe343ce7d
mov eax, dword [ebp - 0x38]
cmp eax, 0x7cbbfa9e
jg 0x40b9e0
cmp eax, 0x7707fcff
jg 0x40b9f0
cmp eax, 0x5f6e9723
jg 0x40ba11
cmp eax, 0x8512d105
jg 0x40ba3b
cmp eax, 0x82dc7f79
jne 0x40b9b0
mov dword [ebp - 0x38], 0x7707fd00
jmp 0x40b9b0
cmp eax, 0x7cbbfa9f
jne 0x40b9b0
jmp 0x40b9a9
cmp eax, 0x7707fd00
jne 0x40b9b0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
mov eax, 0x9c644ebb
cmp ecx, dword [edx + 0xd]
jb 0x40ba0c
mov eax, 0xf3176d40
mov dword [ebp - 0x38], eax
jmp 0x40b9b0
cmp eax, 0x5f6e9724
jne 0x40b9b0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx + 1]
add ecx, eax
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040a650
mov dword [ebp - 0x38], 0x109c739c
jmp 0x40b9b0
cmp eax, 0x8914425b
jg 0x40ba7e
cmp eax, 0x8512d106
jne 0x40b9b0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
add eax, dword [ecx + 0x11]
mov ecx, dword [ecx + 0xd]
mov edx, dword [ebp - 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0040b390
test eax, eax
sets byte [ebp - 0xa]
mov dword [ebp - 0x38], 0xc746b1d0
jmp 0x40b9b0
cmp eax, 0x8a890093
jg 0x40baa4
cmp eax, 0x8914425c
jne 0x40b9b0
cmp dword [ebp - 0x2c], 0
setne byte [ebp - 9]
mov dword [ebp - 0x38], 0x9ed16785
jmp 0x40b9b0
cmp eax, 0x8e1ca05b
jg 0x40bac5
cmp eax, 0x8a890094
jne 0x40b9b0
inc dword [ebp - 0x30]
mov dword [ebp - 0x38], 0x7707fd00
jmp 0x40b9b0
cmp eax, 0x8edee998
jg 0x40baef
cmp eax, 0x8e1ca05c
jne 0x40b9b0
mov eax, 0x8edee999
cmp dword [ebp - 0x10], 0
jne 0x40bae7
mov eax, 0x5cb277eb
mov dword [ebp - 0x38], eax
jmp 0x40b9b0
cmp eax, 0x92f15ce5
jg 0x40bb0d
cmp eax, 0x8edee999
jne 0x40b9b0
mov dword [ebp - 0x38], 0x2dc78b7b
jmp 0x40b9b0
cmp eax, 0x9c644eba
jg 0x40bb2b
cmp eax, 0x92f15ce6
jne 0x40b9b0
mov dword [ebp - 0x38], 0x5f6e9724
jmp 0x40b9b0
cmp eax, 0x9ed16784
jg 0x40bb75
cmp eax, 0x9c644ebb
jne 0x40b9b0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 5]
mov edx, dword [ebp - 0x2c]
add edx, dword [eax + 1]
add eax, 0xd
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00402ad0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 5]
lea eax, [eax + ecx + 0xd]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], 0x8a890094
jmp 0x40b9b0
cmp eax, 0xa53ad311
jg 0x40bba0
cmp eax, 0x9ed16785
jne 0x40b9b0
mov al, byte [ebp - 9]
test al, al
mov eax, 0x5cc40a73
jne 0x40bb98
mov eax, 0xc2030beb
mov dword [ebp - 0x38], eax
jmp 0x40b9b0
cmp eax, 0xa81bb8f6
jg 0x40bbf1
cmp eax, 0xa53ad312
jne 0x40b9b0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov edx, 0xc5ba8a1c
sub edx, dword [ecx + 1]
lea eax, [edx + eax + 0x3a4575e4]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0x19]
add edx, ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0040abb0
mov dword [ebp - 0x38], 0xdc95532b
jmp 0x40b9b0
cmp eax, 0xb779f405
jg 0x40bc2e
cmp eax, 0xa81bb8f7
jne 0x40b9b0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
add eax, dword [ecx + 0x11]
mov ecx, dword [ecx + 0xd]
mov edx, dword [ebp - 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0040b390
mov dword [ebp - 0x38], 0x8512d106
jmp 0x40b9b0
cmp eax, 0xbf3970d9
jg 0x40bc7f
cmp eax, 0xb779f406
jne 0x40b9b0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov edx, 0xd4fe9d4a
sub edx, dword [ecx + 1]
lea eax, [edx + eax + 0x2b0162b6]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0x19]
add edx, ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0040abb0
mov dword [ebp - 0x38], 0xa53ad312
jmp 0x40b9b0
cmp eax, 0xbf778d9e
jg 0x40bca4
cmp eax, 0xbf3970da
jne 0x40b9b0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x38], 0x2275daf4
jmp 0x40b9b0
cmp eax, 0xc2030bea
jg 0x40bcc2
cmp eax, 0xbf778d9f
jne 0x40b9b0
mov dword [ebp - 0x38], 0xa53ad312
jmp 0x40b9b0
cmp eax, 0xc31ac8c6
jg 0x40bce0
cmp eax, 0xc2030beb
jne 0x40b9b0
mov dword [ebp - 0x38], 0x2275daf4
jmp 0x40b9b0
cmp eax, 0xc4605d66
jg 0x40bd04
cmp eax, 0xc31ac8c7
jne 0x40b9b0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], 0xc4605d67
jmp 0x40b9b0
cmp eax, 0xc746b1cf
jg 0x40bd1b
cmp eax, 0xc4605d67
jne 0x40b9b0
jmp 0x40bfc2
cmp eax, 0xc8303f90
jg 0x40bd46
cmp eax, 0xc746b1d0
jne 0x40b9b0
mov al, byte [ebp - 0xa]
test al, al
mov eax, 0x7cbbfa9f
jne 0x40bd3e
mov eax, 0xc31ac8c7
mov dword [ebp - 0x38], eax
jmp 0x40b9b0
cmp eax, 0xdc95532a
jg 0x40bd66
cmp eax, 0xc8303f91
jne 0x40b9b0
mov esi, dword [edi]
mov dword [ebp - 0x38], 0x241575bb
jmp 0x40b9b0
cmp eax, 0xe343ce7c
jg 0x40bd84
cmp eax, 0xdc95532b
jne 0x40b9b0
mov dword [ebp - 0x38], 0x399508fd
jmp 0x40b9b0
cmp eax, 0xe752e9a4
jg 0x40bda2
cmp eax, 0xe343ce7d
jne 0x40b9b0
mov dword [ebp - 0x38], 0x8914425c
jmp 0x40b9b0
cmp eax, 0xe9de63c4
jg 0x40bdc2
cmp eax, 0xe752e9a5
jne 0x40b9b0
mov esi, dword [edi]
mov dword [ebp - 0x38], 0xc8303f91
jmp 0x40b9b0
cmp eax, 0xeae70346
jg 0x40bdfb
cmp eax, 0xe9de63c5
jne 0x40b9b0
call fcn.0040ec70
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
not eax
or eax, 0xfffffffc
cmp eax, 0xffffffff
mov eax, 0xbf778d9f
jne 0x40bdf3
mov eax, 0x399508fd
mov dword [ebp - 0x38], eax
jmp 0x40b9b0
cmp eax, 0xf3176d3f
jg 0x40be19
cmp eax, 0xeae70347
jne 0x40b9b0
mov dword [ebp - 0x38], 0xc4605d67
jmp 0x40b9b0
cmp eax, 0xfdfb4f60
jg 0x40be68
cmp eax, 0xf3176d40
jne 0x40b9b0
mov eax, dword [ebp - 0x28]
inc eax
mov ecx, dword [ebp - 0x18]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0x20
call fcn.00402ad0
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
mov eax, 0x92f15ce6
jne 0x40be60
mov eax, 0xe9de63c5
mov dword [ebp - 0x38], eax
jmp 0x40b9b0
cmp eax, 0x109c739b
jg 0x40be9d
cmp eax, 0xfdfb4f61
jne 0x40b9b0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx + 1]
add ecx, eax
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040a650
mov dword [ebp - 0x38], 0x5f6e9724
jmp 0x40b9b0
cmp eax, 0x2275daf3
jg 0x40bebb
cmp eax, 0x109c739c
jne 0x40b9b0
mov dword [ebp - 0x38], 0xe9de63c5
jmp 0x40b9b0
cmp eax, 0x241575ba
jg 0x40bee0
cmp eax, 0x2275daf4
jne 0x40b9b0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x38], 0xeae70347
jmp 0x40b9b0
cmp eax, 0x2dc78b7a
jg 0x40befe
cmp eax, 0x241575bb
jne 0x40b9b0
mov dword [ebp - 0x38], 0xe343ce7d
jmp 0x40b9b0
cmp eax, 0x399508fc
jg 0x40bf23
cmp eax, 0x2dc78b7b
jne 0x40b9b0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], 0x82dc7f79
jmp 0x40b9b0
cmp eax, 0x3a0cbf79
jg 0x40bf41
cmp eax, 0x399508fd
jne 0x40b9b0
mov dword [ebp - 0x38], 0x8512d106
jmp 0x40b9b0
cmp eax, 0x40eb5493
jg 0x40bf66
cmp eax, 0x3a0cbf7a
jne 0x40b9b0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], 0x2dc78b7b
jmp 0x40b9b0
cmp eax, 0x40eb5494
je 0x40bf80
cmp eax, 0x5cb277eb
jne 0x40bf8c
mov dword [ebp - 0x38], 0xc8303f91
jmp 0x40b9b0
mov dword [ebp - 0x38], 0x8914425c
jmp 0x40b9b0
cmp eax, 0x5cc40a73
jne 0x40b9b0
mov eax, dword [ebp - 0x2c]
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 - 0x38], 0xc2030beb
jmp 0x40b9b0
mov eax, dword [ebp - 0x14]
add esp, 0x40
pop esi
pop edi
pop ebp
ret