Function at 0x840b3c
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
lea eax, [ebp - 4]
push eax
call fcn.0083bdc4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], esp
push dword [ebp - 0x10]
push 0x40
push 4
push dword [ebp + 8]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x840b9f
push 0x3c
push 0x40110cd
push 6
call fcn.0084269f
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
cmp dword [ebp + 0x14], 0
jne 0x840d1e
push 0x80000301
push 0
push dword [ebp + 0x10]
push 1
mov ebx, 0x9dc
call fcn.00842ad0
add esp, 0x10
mov dword [ebp - 0x10], eax
push 0x80000301
push 0
push 0x33b43dd
push 0x80000301
push 0
push 0x53c5d3f
push 0x80000301
push 0
push 0x5df9fc8
push 0x80000301
push 0
push 0x419c93e
push 0x80000301
push 0
push 0x1ea5590
push 0x80000301
push 0
push 0x419c7cd
push 0x80000301
push 0
push 0x4719019
push 0x80000301
push 0
push 0x514c286
push 0x80000301
push 0
push 0xbc614e
push 0x80000301
push 0
push dword [ebp - 0x10]
push 0xa
mov ebx, 0xcc
call fcn.00843980
add esp, 0x7c
mov dword [ebp - 0x14], eax
push 0x80000301
push 0
push dword [ebp + 0xc]
push 1
mov ebx, 0x9dc
call fcn.00842ad0
add esp, 0x10
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 0x3d9875c
push 0x80000301
push 0
push 0xf8784b
push 0x80000301
push 0
push 0x3bed2a6
push 0x80000301
push 0
push 0x21c9c58b
push 0x80000301
push 0
push 0x507890
push 0x80000301
push 0
push 0x256bfd14
push 0x80000301
push 0
push 0x4acd104
push 0x80000301
push 0
push 0x4709fd
push 0x80000301
push 0
push 0x341f6bb
push 0x80000301
push 0
push dword [ebp - 0x18]
push 0xa
mov ebx, 0xcc
call fcn.00843980
add esp, 0x7c
mov dword [ebp - 0x1c], eax
push 0x1314520
push 0x5201314
push dword [ebp + 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
call fcn.00840fed
mov dword [ebp - 8], eax
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
call fcn.0083807f
xor ecx, ecx
push eax
lea eax, [ebp - 0xc]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x840fdc
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
call fcn.0083805f
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x840d68
push 0x436
push 0x40110cd
push 4
call fcn.0084269f
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x840d85
push 0x436
push 0x40110cd
push 1
call fcn.0084269f
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
cmp dword [ebp + 8], eax
jne 0x840fd4
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
call fcn.0083805f
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x840dc9
push 0x47f
push 0x40110cd
push 4
call fcn.0084269f
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x840de6
push 0x47f
push 0x40110cd
push 1
call fcn.0084269f
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 1
jne 0x840e5c
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
call fcn.0083805f
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x840e28
push 0x4b3
push 0x40110cd
push 4
call fcn.0084269f
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x840e45
push 0x4b3
push 0x40110cd
push 1
call fcn.0084269f
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x10], ebx
push dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
push dword [ebx]
call fcn.0083ffa5
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
call fcn.0083805f
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x840e85
push 0x4fc
push 0x40110cd
push 4
call fcn.0084269f
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x840ea2
push 0x4fc
push 0x40110cd
push 1
call fcn.0084269f
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 2
jne 0x840f18
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
call fcn.0083805f
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x840ee4
push 0x530
push 0x40110cd
push 4
call fcn.0084269f
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x840f01
push 0x530
push 0x40110cd
push 1
call fcn.0084269f
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x10], ebx
push dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
push dword [ebx]
call fcn.008400de
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
call fcn.0083805f
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x840f41
push 0x579
push 0x40110cd
push 4
call fcn.0084269f
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x840f5e
push 0x579
push 0x40110cd
push 1
call fcn.0084269f
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 3
jne 0x840fd4
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
call fcn.0083805f
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x840fa0
push 0x5ad
push 0x40110cd
push 4
call fcn.0084269f
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x840fbd
push 0x5ad
push 0x40110cd
push 1
call fcn.0084269f
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x10], ebx
push dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
push dword [ebx]
call fcn.008402c3
pop eax
pop ebx
pop ecx
jmp 0x840d31
add esp, 0xc
mov eax, dword [ebp - 8]
jmp 0x840fe7
mov esp, ebp
pop ebp
ret 0x18