Function at 0x401c20
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [0x4f4e40]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, 0xa46fb39d
jmp 0x401c40
mov eax, 0xd75fe87c
nop
cmp eax, 0xd75fe87b
jle 0x401d20
cmp eax, 0x2fd25061
jle 0x401f10
cmp eax, 0x2fd25062
je 0x401c3a
cmp eax, 0x4dbb71cd
jne 0x4024aa
mov ecx, dword [0x4f618c]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
not edx
mov esi, eax
and esi, 0xda77203e
mov ecx, edx
and ecx, 0x2588dfc0
and edx, 0x965c02ad
or esi, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
and eax, 0x69a3fd52
xor esi, 0xda77203e
or eax, edx
or ecx, esi
mov esi, 0xd75fe87c
mov edx, eax
xor edx, 0x69a3fd52
xor eax, 0x965c02ad
andn edx, ecx, edx
and eax, ecx
not ecx
or eax, edx
xor ecx, eax
test ecx, eax
setne cl
sete dl
cmp dword [0x4f6188], 0xa
setge al
mov ah, al
inc ah
and ah, cl
mov ecx, eax
and al, dl
xor cl, dl
or al, ah
and cl, dl
mov edx, ecx
mov ch, cl
xor dl, 1
and dl, al
xor al, 1
xor ch, al
and al, cl
or al, dl
and ch, cl
mov edx, 0x2fd25062
mov cl, al
xor cl, ch
test al, al
mov eax, 0x2fd25062
cmovne eax, esi
test ch, ch
cmove eax, edx
test cl, cl
cmovne eax, esi
jmp 0x401c40
cmp eax, 0xc6cb7d83
jg 0x4022d0
cmp eax, 0xa46fb39d
je 0x4022f0
cmp eax, 0xbdaf10a5
jne 0x401c40
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
imul eax
rol edx, 0x7f
imul edi
rcr ebx, 0x42
not edi
imul ebx
sub edx, 0xd3
sub edx, 0x93
inc esi
imul esi
inc edx
inc edi
dec edx
rcl ebx, 0x9f
rol ebx, 0xea
rcr ebx, 0x9b
sbb edx, 0xed
sub edi, 0x39
not eax
imul esi
bswap edx
not eax
rcr ebx, 0xc1
rol eax, 0xd9
rol edi, 0x3b
rcr eax, 0x75
rol ebx, 0xd9
imul edx
bswap esi
rcl eax, 0xf6
add edx, 0x2e
rcl ebx, 0xe8
or edi, 0x1e
not esi
not edx
rcr ebx, 0x13
neg ebx
neg esi
inc eax
bswap eax
imul ebx
inc esi
neg ebx
or edx, 0x27
and ebx, 0x11
sub eax, 3
rcl edi, 0xc8
neg edx
and edx, 0xe5
bswap esi
rcr eax, 0x5a
inc eax
sub eax, 0xe9
sub edx, 0x96
not esi
or ebx, 0xdd
sbb esi, 0x5e
sub eax, 0x3a
add eax, 0x49
bswap edi
neg esi
sub ebx, 0x45
add edi, 0x51
dec edi
neg esi
imul ebx
imul ebx
sbb ebx, 0xe3
mov edi, 0x3d
and ebx, 0x61
and edx, 0x9d
sbb edi, 0x3b
mov edi, 0x87
not ebx
imul edi
rcl edi, 0x47
rcl esi, 0x6b
inc edi
ror edi, 0xa0
bswap edi
imul edi
and eax, 0x40
add esi, 0x85
rol edx, 0x62
ror edx, 0xa3
rol ebx, 6
ror eax, 0x74
inc esi
bswap edx
dec esi
ror edx, 0xdd
sbb ebx, 0xb9
rcl ebx, 0xb8
not eax
rol edi, 0xcf
rcl edx, 0x59
rcl edi, 0x53
sub ebx, 0xa4
ror ebx, 0xb2
mov eax, 0xef
or edx, 0x37
sub esi, 0x56
bswap ebx
imul esi
not edi
imul edx
sub esi, 0x67
ror eax, 0x2f
add edx, 0x48
inc esi
rcl eax, 0x24
imul edi
imul ebx
and esi, 0xd6
imul ebx
imul edx
dec ebx
rcl edx, 0xc0
sbb edx, 0x39
rcr edi, 0xd5
and ebx, 0xa2
add esi, 0x85
sbb esi, 0x15
rcr ebx, 0x3f
not edi
dec edx
bswap ebx
ror eax, 0xe0
neg edi
bswap ebx
bswap edi
not edx
not edx
and eax, 8
inc esi
imul edx
not edx
inc esi
neg edi
rol edi, 0xdd
imul edi
add edi, 0xd0
and eax, 0x44
imul ebx
not edx
rol edx, 0x65
not edx
inc ebx
not eax
neg esi
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [eax]
push dword [ecx]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, 0xe8fde243
jmp 0x401c40
cmp eax, 0xd75fe87c
je 0x402300
cmp eax, 0xe8fde243
jne 0x401c40
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
imul eax
rol edx, 0x7f
imul edi
rcr ebx, 0x42
not edi
imul ebx
sub edx, 0xd3
sub edx, 0x93
inc esi
imul esi
inc edx
inc edi
dec edx
rcl ebx, 0x9f
rol ebx, 0xea
rcr ebx, 0x9b
sbb edx, 0xed
sub edi, 0x39
not eax
imul esi
bswap edx
not eax
rcr ebx, 0xc1
rol eax, 0xd9
rol edi, 0x3b
rcr eax, 0x75
rol ebx, 0xd9
imul edx
bswap esi
rcl eax, 0xf6
add edx, 0x2e
rcl ebx, 0xe8
or edi, 0x1e
not esi
not edx
rcr ebx, 0x13
neg ebx
neg esi
inc eax
bswap eax
imul ebx
inc esi
neg ebx
or edx, 0x27
and ebx, 0x11
sub eax, 3
rcl edi, 0xc8
neg edx
and edx, 0xe5
bswap esi
rcr eax, 0x5a
inc eax
sub eax, 0xe9
sub edx, 0x96
not esi
or ebx, 0xdd
sbb esi, 0x5e
sub eax, 0x3a
add eax, 0x49
bswap edi
neg esi
sub ebx, 0x45
add edi, 0x51
dec edi
neg esi
imul ebx
imul ebx
sbb ebx, 0xe3
mov edi, 0x3d
and ebx, 0x61
and edx, 0x9d
sbb edi, 0x3b
mov edi, 0x87
not ebx
imul edi
rcl edi, 0x47
rcl esi, 0x6b
inc edi
ror edi, 0xa0
bswap edi
imul edi
and eax, 0x40
add esi, 0x85
rol edx, 0x62
ror edx, 0xa3
rol ebx, 6
ror eax, 0x74
inc esi
bswap edx
dec esi
ror edx, 0xdd
sbb ebx, 0xb9
rcl ebx, 0xb8
not eax
rol edi, 0xcf
rcl edx, 0x59
rcl edi, 0x53
sub ebx, 0xa4
ror ebx, 0xb2
mov eax, 0xef
or edx, 0x37
sub esi, 0x56
bswap ebx
imul esi
not edi
imul edx
sub esi, 0x67
ror eax, 0x2f
add edx, 0x48
inc esi
rcl eax, 0x24
imul edi
imul ebx
and esi, 0xd6
imul ebx
imul edx
dec ebx
rcl edx, 0xc0
sbb edx, 0x39
rcr edi, 0xd5
and ebx, 0xa2
add esi, 0x85
sbb esi, 0x15
rcr ebx, 0x3f
not edi
dec edx
bswap ebx
ror eax, 0xe0
neg edi
bswap ebx
bswap edi
not edx
not edx
and eax, 8
inc esi
imul edx
not edx
inc esi
neg edi
rol edi, 0xdd
imul edi
add edi, 0xd0
and eax, 0x44
imul ebx
not edx
rol edx, 0x65
not edx
inc ebx
not eax
neg esi
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [eax]
push dword [ecx]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [0x4f618c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
andn ecx, edx, edx
not edx
and eax, 0x15d750ef
and edx, 0xea28af10
mov esi, ecx
not esi
and ecx, 0x2d9b36f0
or eax, edx
mov edx, eax
xor edx, 0x59310e0
xor eax, 0xea28af10
mov edi, eax
or eax, esi
and esi, 0xd264c90f
and edi, 0xd264c90f
and edx, 0x2d9b36f0
or edx, edi
or ecx, esi
not eax
xor ecx, edx
or eax, ecx
mov esi, eax
xor esi, 0xabc75ee1
mov edx, eax
and edx, 0x1c8116ee
and esi, eax
not eax
and eax, 0xe37ee911
or edx, eax
mov eax, edx
xor edx, 0xe37ee911
xor eax, 0x1c8116ee
mov ecx, edx
or ecx, 0x5438a11e
mov ebx, eax
and ebx, 0x28001860
and edx, 0xe2cbc60c
mov edi, ecx
and edi, 0x83cf4785
or ebx, edi
mov edi, esi
not edi
and esi, 0x7c30b87a
or ecx, edi
and edi, 0x83cf4785
or esi, edi
not ecx
xor esi, ebx
or ecx, esi
mov esi, ecx
not esi
and ecx, 0xabc75ee0
and esi, 0x5438a11f
or ecx, esi
mov esi, eax
and esi, 0x1d3439f3
and eax, 1
or esi, edx
mov edx, esi
xor edx, 0x80000205
xor esi, 0x81039f2
or eax, edx
and esi, 0x6adbfdfa
and eax, 0x95240205
or eax, esi
xor eax, 0x95240205
or eax, ecx
mov ecx, eax
not ecx
mov esi, eax
and esi, 0x5300060e
and eax, 0x8c5a8140
mov edx, ecx
and edx, 0x801821
or ecx, 0x4280120b
or esi, edx
and ecx, 0x62a5729b
mov edx, esi
xor edx, 0x11000404
xor esi, 0x20a57091
or eax, ecx
and esi, 0x62a5729b
and edx, 0x11000c24
or edx, esi
mov esi, 0xbdaf10a5
xor eax, edx
mov ecx, eax
not ecx
and eax, 0x5c9ee63f
and ecx, 0xa36119c0
or eax, ecx
mov ecx, eax
xor ecx, 0xa5010
xor eax, 0xf0e107ef
mov edx, eax
and edx, 0x9ff5ad8a
and ecx, 0x600a5275
or ecx, edx
xor ecx, 0x9ff5ad8a
xor eax, ecx
test eax, ecx
sete ah
setne ch
cmp dword [0x4f6188], 0xa
setge cl
setl dl
mov al, cl
and cl, ah
xor al, ch
and ch, dl
or dl, ah
or cl, ch
xor cl, 1
mov ah, cl
or cl, dl
xor ah, dl
xor cl, 1
or cl, ah
mov edx, ecx
mov ah, cl
and ah, al
xor dl, 1
xor al, 1
and dl, al
or al, cl
or dl, ah
mov ecx, eax
xor cl, dl
test al, 1
mov eax, 0x5c679c21
cmovne eax, esi
test dl, dl
mov edx, 0x5c679c21
cmove eax, esi
test cl, 1
cmove eax, edx
jmp 0x401c40
cmp eax, 0xc6cb7d84
je 0x4023ff
cmp eax, 0xc814e39f
jne 0x401c40
mov eax, 0xc6cb7d84
jmp 0x401c40
push eax
mov eax, esp
mov dword [ebp - 0x14], eax
mov eax, 0x4dbb71cd
jmp 0x401c40
push eax
mov edx, dword [0x4f618c]
mov dword [ebp - 0x1c], esp
lea eax, [edx + 1]
imul eax, edx
mov esi, eax
not esi
mov edx, eax
and edx, 0x80e44019
mov edi, esi
and edi, 0x60b31a0
and esi, 0x84eda7ba
or edx, edi
mov edi, edx
xor edi, 0xa04011
xor edx, 0x7f1bbfe6
mov ebx, edx
and ebx, 0xd64f3d88
and edi, 0xa04031
or edi, ebx
mov ebx, eax
xor ebx, 0x86ef71b9
and ebx, eax
and eax, 0x7b125845
mov ecx, ebx
not ecx
and ebx, 0x29b0c277
or eax, esi
mov esi, 0xc814e39f
or edx, ecx
and ecx, 0xd64f3d88
or ebx, ecx
not edx
xor ebx, edi
mov edi, 0x2fd25062
or edx, ebx
mov ecx, edx
not ecx
and edx, 0x86ef71b8
and ecx, 0x79108e47
or edx, ecx
mov ecx, eax
xor ecx, 0x7b125845
xor eax, 0x84eda7ba
andn ecx, edx, ecx
and eax, edx
not edx
or eax, ecx
not eax
or eax, edx
xor eax, 0xffffffff
setne al
sete ah
cmp dword [0x4f6188], 0xa
setl dl
setge dh
mov ecx, edx
and al, dl
or dl, ah
and dh, ah
xor cl, ah
xor dl, 1
or dh, al
mov eax, 0x2fd25062
or dl, cl
xor dl, 1
xor dh, dl
mov cl, dh
cmovne eax, esi
not cl
test cl, dl
cmove eax, edi
test dh, dh
cmovne eax, esi
test cl, dl
mov edx, dword [ebp - 0x1c]
cmovne eax, esi
mov dword [ebp - 0x18], edx
jmp 0x401c40
mov ecx, dword [0x4f618c]
mov edi, 0xbdaf10a5
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
xor ecx, 0xfffffffe
not edx
mov esi, edx
and ecx, eax
and esi, 0xfffffffe
and edx, 0x8cd65186
and eax, 0x7329ae79
or ecx, esi
or eax, edx
mov edx, ecx
not edx
and ecx, 0x8ccd6d0c
mov esi, edx
and esi, 0x733292f3
or ecx, esi
mov esi, eax
xor esi, 0x92c08
xor eax, 0x121082
and eax, 0x733292f3
and esi, 0x8ccd6d0c
or esi, eax
xor esi, ecx
xor edx, esi
test edx, esi
mov esi, 0xe8fde243
setne cl
cmp dword [0x4f6188], 0xa
setl dl
setge al
xor dl, cl
mov ah, dl
xor ah, al
xor al, cl
and ah, dl
xor al, 1
xor ah, 1
mov cl, ah
xor ah, al
or cl, al
mov edx, ecx
xor dl, ah
test ah, ah
mov eax, 0xbdaf10a5
cmovne eax, esi
test cl, cl
cmovne eax, edi
test dl, dl
cmove eax, esi
jmp 0x401c40
cmp eax, 0x5c679c21
jne 0x401c40
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00433bd0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret