Function at 0x1001db09
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1044a964]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
test eax, eax
je 0x1001da5c
jne 0x1001da5b
call 0x9305cae3
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
out 0x74, eax
sti
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1001da6a
jmp 0x1001da6c
je 0x1001da67
clc
jae 0x1001da71
salc
out 0x83, eax
invalid
xor eax, 0x5e
xor edx, eax
add eax, edx
sub edx, 0x5e
push eax
pop edx
xor edx, 0x11a
nop
nop
xor ecx, ecx
xor eax, eax
mov ecx, 0x5e
add ecx, 3
sub ecx, eax
nop
push eax
pop ecx
xor eax, eax
nop
nop
push eax
xor eax, eax
pop eax
xor edx, edx
xor eax, edx
push ecx
pop ecx
xor eax, eax
nop
pushf
push 0xa
jae 0x1001dab4
jmp 0x1001daaf
call 0x1001dab6
jae 0x1001daaf
add esp, 4
jmp 0x1001dabb
dec dword [esp]
jno 0x1001dac0
jns 0x1001daab
jp 0x1001dac4
add esp, 4
popf
jmp 0x1001dacb
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001dae4
jne 0x1001dae4
call 0x1fc20e38
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
clc
jae 0x1001dafa
xor byte [eax + 0xa6a9c66], 0x73
pop es
pushf
push 0xa
jae 0x1001db07
jmp 0x1001db02
call 0x1001db09
jae 0x1001db02
add esp, 4
jmp 0x1001db0e
dec dword [esp]
jno 0x1001db13
jns 0x1001dafe
jp 0x1001db17
add esp, 4
popf
jmp 0x1001db1e
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
xor eax, 0x60
xor edx, eax
add eax, edx
sub edx, 0x60
push eax
pop edx
xor edx, 0x120
nop
nop
xor ecx, ecx
xor eax, eax
mov ecx, 0x60
add ecx, 3
sub ecx, eax
nop
push eax
pop ecx
xor eax, eax
nop
nop
push eax
xor eax, eax
pop eax
xor edx, edx
xor eax, edx
push ecx
pop ecx
xor eax, eax
nop
jl 0x1001db6d
jmp 0x1001db6f
je 0x1001db6a
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1001db89
jne 0x1001db88
call 0x9305cc10
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1001db97
jne 0x1001db97
call 0x60fa2128
lea eax, [ebp - 8]
push eax
push 0x40
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
xor eax, eax
test eax, eax
je 0x1001dbb4
jne 0x1001dbb3
call 0x9305cc3b
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
jns 0x1001dc37
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1001dbc2
jmp 0x1001dbc4
je 0x1001dbbf
sti
clc
jae 0x1001dbc9
sub bh, byte [ecx - 0x7d]
invalid
xor eax, 0x62
xor edx, eax
add eax, edx
sub edx, 0x62
push eax
pop edx
xor edx, 0x126
nop
nop
xor ecx, ecx
xor eax, eax
mov ecx, 0x62
add ecx, 3
sub ecx, eax
nop
push eax
pop ecx
xor eax, eax
nop
nop
push eax
xor eax, eax
pop eax
xor edx, edx
xor eax, edx
push ecx
pop ecx
xor eax, eax
nop
pushf
push 0xa
jae 0x1001dc0c
jmp 0x1001dc07
call 0x1001dc0e
jae 0x1001dc07
add esp, 4
jmp 0x1001dc13
dec dword [esp]
jno 0x1001dc18
jns 0x1001dc03
jp 0x1001dc1c
add esp, 4
popf
jmp 0x1001dc23
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001dc3c
jne 0x1001dc3c
call 0x1fc20f90
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.1004eb90
add esp, 0xc
clc
jae 0x1001dc66
jl 0x1001dc92
pushf
push 0xa
jae 0x1001dc73
jmp 0x1001dc6e
call 0x1001dc75
jae 0x1001dc6e
add esp, 4
jmp 0x1001dc7a
dec dword [esp]
jno 0x1001dc7f
jns 0x1001dc6a
jp 0x1001dc83
add esp, 4
popf
jmp 0x1001dc8a
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
xor eax, 0x64
xor edx, eax
add eax, edx
sub edx, 0x64
push eax
pop edx
xor edx, 0x12c
nop
nop
xor ecx, ecx
xor eax, eax
mov ecx, 0x64
add ecx, 3
sub ecx, eax
nop
push eax
pop ecx
xor eax, eax
nop
nop
push eax
xor eax, eax
pop eax
xor edx, edx
xor eax, edx
push ecx
pop ecx
xor eax, eax
nop
jl 0x1001dcd9
jmp 0x1001dcdb
je 0x1001dcd6
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1001dcf5
jne 0x1001dcf4
call 0x9305cd7c
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1001dd03
jne 0x1001dd03
call 0x60fa2294
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
xor eax, eax
test eax, eax
je 0x1001dd22
jne 0x1001dd21
call 0x9305cda9
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
bnd je 0x1001dd2d
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1001dd30
jmp 0x1001dd32
je 0x1001dd2d
clc
jae 0x1001dd37
xor eax, 0x66
xor eax, 0x66
xor edx, eax
add eax, edx
sub edx, 0x66
push eax
pop edx
xor edx, 0x132
nop
nop
xor ecx, ecx
xor eax, eax
mov ecx, 0x66
add ecx, 3
sub ecx, eax
nop
push eax
pop ecx
xor eax, eax
nop
nop
push eax
xor eax, eax
pop eax
xor edx, edx
xor eax, edx
push ecx
pop ecx
xor eax, eax
nop
pushf
push 0xa
jae 0x1001dd7a
jmp 0x1001dd75
call 0x1001dd7c
jae 0x1001dd75
add esp, 4
jmp 0x1001dd81
dec dword [esp]
jno 0x1001dd86
jns 0x1001dd71
jp 0x1001dd8a
add esp, 4
popf
jmp 0x1001dd91
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001ddaa
jne 0x1001ddaa
call 0x1fc210fe
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ce42
mov esp, ebp
pop ebp
ret