Function at 0x40100e
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov eax, dword [0x4a3840]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0x4a4b84]
lea edx, [eax + 1]
imul edx, eax
mov ecx, edx
not ecx
and edx, 0x86d1996d
and ecx, 0x792e6692
or ecx, edx
mov eax, ecx
xor eax, 0x86d1996d
mov edx, ecx
xor edx, 0x78004402
mov esi, eax
or esi, 0x6022d5
and edx, 0x78015402
and eax, 0xfffffffe
and esi, 0x576a3fd
or edx, esi
mov esi, ecx
xor esi, 0x202290
xor ecx, 0x82800800
or esi, 0x5168128
and ecx, 0x82880800
and esi, 0x576a3fd
or ecx, esi
mov esi, 0xfdf6bae6
xor ecx, edx
mov edx, ecx
not edx
and ecx, 0xbe86ff08
and edx, 0x417900f7
or ecx, edx
xor ecx, 0xc3912a23
or eax, ecx
mov ecx, eax
not ecx
and eax, 0x51404200
mov edx, ecx
and edx, 0xa8af8459
and ecx, 0x61039a6
or eax, edx
xor eax, 0x51404200
or ecx, eax
sete dl
setne ch
cmp dword [0x4a4b80], 0xa
setge al
setl ah
mov cl, al
and ah, ch
xor cl, ch
mov dh, cl
and cl, al
and dh, ch
xor cl, 1
xor dh, 1
mov bl, dh
xor bl, cl
or cl, dh
mov dh, al
xor dh, dl
xor cl, 1
and dh, al
and al, dl
or cl, bl
mov ebx, 0x26f8c5ee
mov dl, dh
or al, ah
mov ah, cl
xor dh, al
xor dl, 1
xor al, 1
xor ah, 1
or al, dl
xor al, 1
or al, dh
mov edx, eax
not dl
and dl, ah
or ah, al
and al, cl
mov ecx, 0xb2a355cb
or al, dl
not ah
mov edx, dword [ebp + 8]
or al, ah
test al, 1
mov eax, 0xae8f49db
cmove eax, ecx
cmove esi, ecx
mov ecx, dword [ebp + 0xc]
nop word cs:[eax + eax]
cmp ebx, 0xfdf6bae5
jle 0x401170
cmp ebx, 0x7bb058f9
je 0x401192
cmp ebx, 0x26f8c5ee
je 0x401187
cmp ebx, 0xfdf6bae6
jne 0x401140
push eax
mov edi, esp
mov ebx, eax
jmp 0x401140
cmp ebx, 0xae8f49db
je 0x40118b
cmp ebx, 0xb2a355cb
jne 0x401140
mov ebx, 0xfdf6bae6
jmp 0x401140
mov ebx, esi
jmp 0x401140
mov ebx, 0x7bb058f9
jmp 0x401140
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov ebx, 0x35
bswap esi
mov ebx, 0x91
sbb edx, 0xf7
add ebx, 0xe
bswap eax
bswap edi
neg ebx
rcr eax, 0x26
mov eax, 0xd2
or edx, 0x5b
not ebx
sbb edi, 7
neg esi
ror edx, 0x7f
not eax
ror eax, 0xea
inc eax
ror esi, 0x15
neg edi
dec edi
neg eax
bswap ebx
add esi, 0x40
rol edx, 0x47
bswap edi
ror esi, 0xd7
imul edi
not esi
dec eax
bswap eax
neg esi
sbb esi, 0x8c
dec ebx
add edi, 0xff
sub edi, 0x65
not edi
bswap ebx
inc eax
bswap eax
neg eax
neg edx
neg eax
neg ebx
dec edi
add eax, 0xe2
dec edx
neg eax
dec eax
bswap edx
rcr edx, 0xdd
or ebx, 0xd5
not esi
and ebx, 0xe
rol edx, 0x7d
rcr esi, 0x4c
bswap edx
imul edx
inc eax
neg edx
ror eax, 0x5f
neg eax
rol ebx, 0xd7
sbb esi, 0x94
ror edi, 0x44
rol edi, 0x10
dec esi
inc edi
and ebx, 6
rcr esi, 0xd5
inc edi
and esi, 0x14
inc ebx
bswap eax
rol edx, 0xd2
dec esi
rol ebx, 0x76
rol edi, 0x2f
rcr esi, 0x7e
and edx, 0xe0
dec esi
imul esi
sbb esi, 0xd5
mov ebx, 0x82
ror eax, 0xfd
rol edi, 0xd1
or esi, 0x33
rcr eax, 0xc8
not edi
neg eax
dec eax
imul esi
bswap esi
dec eax
add ebx, 0x1a
inc esi
inc edx
bswap ebx
add ebx, 0x25
neg edx
rcr edi, 0x92
rcl edx, 1
mov edi, 0x87
inc esi
imul esi
not eax
rcl eax, 0xf9
and ebx, 0xd5
sbb eax, 0x32
bswap eax
inc eax
neg ebx
neg eax
dec eax
dec ebx
rol ebx, 0x95
add esi, 0x4a
mov edi, 7
mov edx, 0x6a
dec edi
or esi, 0x36
sbb edi, 0x26
imul eax
and esi, 0x3c
and eax, 0x7a
or eax, 0x76
sub esi, 0xc3
dec edx
rol edi, 0xd4
rcr eax, 0x27
sbb edi, 0x5a
imul edx
inc edx
inc ebx
bswap esi
not esi
bswap eax
sub eax, 0x90
and esi, 0x6d
imul eax
sub esi, 0x53
sub edx, 0xdc
sub edi, 0xcb
rcl eax, 9
neg esi
rcr ebx, 0xea
rcl edi, 0xf4
or eax, 0x98
mov esi, 0xb2
imul edx
mov eax, dword [ebp - 0x14]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004458d0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret