Function at 0x406936
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov eax, 0x50e3f6
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
push 0x539529
call fcn.00406be2
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x406976
push ebx
call fcn.0048e377
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x406990
mov eax, 0
jmp 0x406bde
mov dword [ebp - 0xc], esp
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
nop
nop
nop
nop
cmp dword [ebp - 0xc], esp
je 0x4069c0
push 6
call fcn.0048e37d
add esp, 4
mov dword [ebp - 0xc], esp
push 1
mov eax, 0x50e41a
test eax, eax
je 0x4069d4
add eax, 8
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
nop
nop
cmp dword [ebp - 0xc], esp
je 0x4069f4
push 6
call fcn.0048e37d
add esp, 4
mov dword [ebp - 0xc], esp
mov eax, 0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 8]
push 1
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
nop
nop
nop
nop
cmp dword [ebp - 0xc], esp
je 0x406a2a
push 6
call fcn.0048e37d
add esp, 4
mov eax, 0x50e423
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
push 0x539529
call fcn.00406be2
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x406a53
push ebx
call fcn.0048e377
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x406a6d
mov eax, 0
jmp 0x406bde
mov dword [ebp - 0xc], esp
lea eax, [ebp - 8]
push eax
push 0x40
push 7
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
nop
nop
nop
nop
cmp dword [ebp - 0xc], esp
je 0x406a9d
push 6
call fcn.0048e37d
add esp, 4
mov dword [ebp - 0xc], esp
push 1
mov eax, 0x50e451
test eax, eax
je 0x406ab1
add eax, 8
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
nop
nop
cmp dword [ebp - 0xc], esp
je 0x406ad1
push 6
call fcn.0048e37d
add esp, 4
fild dword [ebp - 4]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fadd qword [0x50e45a]
fstp qword [ebp - 0x18]
push 0x407776
call fcn.004045f3
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x198
call fcn.00491680
add esp, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], esp
push 4
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x406b1c
add eax, 8
push eax
fld qword [ebp - 0x18]
call fcn.004025e9
push eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
nop
nop
cmp dword [ebp - 0x24], esp
je 0x406b42
push 6
call fcn.0048e37d
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x406b52
push ebx
call fcn.0048e377
add esp, 4
fild dword [ebp - 4]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fadd qword [0x50e462]
fstp qword [ebp - 0x18]
mov dword [ebp - 0x1c], esp
push 2
mov eax, 0x50e46a
test eax, eax
je 0x406b78
add eax, 8
push eax
fld qword [ebp - 0x18]
call fcn.004025e9
push eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
nop
nop
cmp dword [ebp - 0x1c], esp
je 0x406b9e
push 6
call fcn.0048e37d
add esp, 4
mov dword [ebp - 0xc], esp
mov eax, 0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 8]
push 7
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
nop
nop
nop
nop
cmp dword [ebp - 0xc], esp
je 0x406bd4
push 6
call fcn.0048e37d
add esp, 4
call fcn.00406f61
jmp 0x406bde
mov esp, ebp
pop ebp
ret