Function at 0x41af00
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4595a0
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0xdc
mov eax, dword [0x46c008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov dword [0x487698], eax
mov dword [ebp - 0x5c], 0
mov byte [ebp - 0x5f], 0
mov ecx, 1
test ecx, ecx
je 0x41affb
movzx edx, byte [ebp - 0x5f]
test edx, edx
je 0x41afe0
mov eax, dword [ebp - 0x5c]
add eax, 0xb
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0xe4]
push ecx
push 0x40
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx - 0x14]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x6c], 0
jmp 0x41af93
mov edx, dword [ebp - 0x6c]
add edx, 1
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [eax - 0x14]
jae 0x41afde
mov edx, dword [ebp - 0x5c]
movzx eax, byte [edx - 0x15]
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x6c]
movzx edx, byte [ecx - 4]
xor eax, edx
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x6c]
movzx edx, byte [ecx - 2]
xor eax, edx
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x6c]
movzx edx, byte [ecx - 3]
xor eax, edx
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x6c]
movzx edx, byte [ecx]
xor edx, eax
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x6c]
mov byte [eax], dl
jmp 0x41af8a
jmp 0x41affb
mov byte [ebp - 0x5f], 1
jmp 0x41afee
call 0x41aff3
pop dword [ebp - 0x5c]
jmp 0x41af45
push 0x16
push 0xa826789d
outsb dx, byte [esi]
arpl si, di
in al, dx
push cs
xchg esp, eax
cmp dword [eax - 0x18], esp
jl 0x41b00f
jnp 0x41b05d
dec ebp
rol byte [esi], 0x10
invalid
jg 0x41b0a3
int 0xb
sal esp, 1
pop esi
mov dh, 0xdd
sahf
cmp eax, 0xf37acd60
out dx, al
out dx, al
jl 0x41b00e
adc al, 0xd2
sal esp, 0x4f
cmpsd dword [esi], dword es:[edi]
int3
sbb ch, byte [ebx]
rol byte [ebx + 0x4dd8f359], 0xcd
imul edi, eax, 0x51
dec ebx
push ebx
push ds
pop edi
pop edi
in eax, 0xe1
mov dl, 0xe1
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx - 0x14]
sub edx, 1
mov dword [ebp - 0x64], edx
jmp 0x41b0d0
mov eax, dword [ebp - 0x64]
sub eax, 1
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jl 0x41b116
mov ecx, dword [ebp - 0x5c]
movzx edx, byte [ecx - 0x15]
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x64]
movzx ecx, byte [eax - 4]
xor edx, ecx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x64]
movzx ecx, byte [eax - 2]
xor edx, ecx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x64]
movzx ecx, byte [eax - 3]
xor edx, ecx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x64]
movzx ecx, byte [eax]
xor ecx, edx
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x64]
mov byte [edx], cl
jmp 0x41b0c7
mov eax, 1
test eax, eax
je 0x41b8e3
mov dword [0x48769c], 0
mov dword [0x4876a4], 0
mov dword [ebp - 0x58], 0
mov byte [ebp - 0x5e], 0
mov ecx, 1
test ecx, ecx
je 0x41b1f8
movzx edx, byte [ebp - 0x5e]
test edx, edx
je 0x41b1dd
mov eax, dword [ebp - 0x58]
add eax, 0xb
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0xec]
push ecx
push 0x40
mov edx, dword [ebp - 0x58]
mov eax, dword [edx - 0x14]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x70], 0
jmp 0x41b190
mov edx, dword [ebp - 0x70]
add edx, 1
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [eax - 0x14]
jae 0x41b1db
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx - 0x15]
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x70]
movzx edx, byte [ecx - 4]
xor eax, edx
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x70]
movzx edx, byte [ecx - 2]
xor eax, edx
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x70]
movzx edx, byte [ecx - 3]
xor eax, edx
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x70]
movzx edx, byte [ecx]
xor edx, eax
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x70]
mov byte [eax], dl
jmp 0x41b187
jmp 0x41b1f8
mov byte [ebp - 0x5e], 1
jmp 0x41b1eb
call 0x41b1f0
pop dword [ebp - 0x58]
jmp 0x41b142
cmp dword [0x962b4aa0], 0xfffffffd
aas
cmp al, bl
or dword [ebp - 0x26], esi
push edi
scasb al, byte es:[edi]
jecxz 0x41b24c
xor eax, 0xfe30f67d
xor bh, byte [esi - 0x61d678d7]
push eax
push esi
xchg ebp, eax
xor eax, dword [esi - 0x19885477]
xlatb
movsb byte es:[edi], byte [esi]
iretd
add byte [ecx + ecx - 0x4768064f], 0xb1
outsd dx, dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx - 0xb], ebx
fnstsw word [ecx + 0x12]
dec edi
test byte [esi + 0xf], 0x92
mov ebp, 0x4cfa962b
inc esi
setb byte [ebp + 0x4cfa962b]
mov eax, dword [0x6867e6f3]
and bh, al
into
sal byte [esp + ecx*4 - 0x1275a348], 0xdf
pushal
les ecx, [eax + edi*8 - 0x5bf87f74]
jno 0x41b25e
test al, 0xa6
jb 0x83c6a303
xchg ebx, eax
jg 0x41b2d7
jmp 0x41b2bf
sbb dh, byte [edx - 0x7da4d518]
dec ecx
mov ch, 0x56
movsd dword es:[edi], dword [esi]
popal
test byte [edx - 0x1f8c65f9], bl
xchg esp, eax
wait
retf 0xc8f6
adc byte [edx], al
add dword [ebp + 0x5617381], eax
push edx
or byte [ebx - 0x28], dl
lodsb al, byte [esi]
lcall 0xcef0, 0x8443ce37
pop ss
fisub word [ebx - 0x4c]
rcr dh, 0x48
aaa
sub bh, bh
insb byte es:[edi], dx
out dx, al
jecxz 0x41b31d
js 0x41b2b8
mov eax, 0x9bc38285
aas
mov esp, 0xde0b7f7d
dec edi
test al, 0x6e
dec ebx
loopne 0x41b352
ja 0x41b32c
mov dh, dh
mov ecx, 0x7c01cdca
out 8, al
imul ebp, dword fs:[ecx], 0xfffffff8
mov al, 0xbc
test al, cl
pop esp
xchg ebp, eax
cmpsd dword [esi], dword es:[edi]
pushal
int3
pop es
mov eax, 0xbab4c271
jp 0x8bceabb3
xchg ebx, eax
jg 0x41b387
in eax, dx
xor ah, byte [esi - 0x7b07f8ac]
add byte [edx], al
add dword [eax + 0x6b7681], eax
pop ss
invalid
shl dword [eax - 0x4c], cl
mov edx, 0xc87bba0f
mov esp, 0x79d40fb8
cmpsb byte [esi], byte es:[edi]
mov eax, 0xa679d40f
rcl ah, 1
pop es
fdiv dword [ecx - 0x5e]
aam 0xeb
sbb dh, byte [edx - 0x7da4d518]
dec ecx
mov ch, 0x56
test eax, 0x9688fe61
pop es
xchg esi, eax
jae 0x41b366
cwde
xchg edi, eax
retf 0xc8f6
sbb al, 2
add dword [edx + 0x2667481], eax
push edx
add al, 0x53
aam 0xa0
xchg esi, eax
aaa
salc
inc ebx
pushfd
call 0x641bcb74
mov al, 0xc4
fimul dword [eax + 0x37]
sub bh, bh
insb byte es:[edi], dx
out dx, al
jecxz 0x41b3cd
js 0x41b368
mov eax, 0xcdd1484
mov bh, 0x36
mov byte [0xbf9b9654], al
shr dword [eax - 0x4ccff159], cl
outsd dx, dword [esi]
cld
jg 0x41b35b
fisubr word [edx + 0x428463f2]
fld st(4)
salc
shr dword [edx - 0x484c0952], 0x64
xchg dl, dl
stosb byte es:[edi], al
scasb al, byte es:[edi]
div byte [ebx - 0x2d799b49]
movsb byte es:[edi], byte [esi]
mov byte [0xe043a23f], al
pushfd
and dword [ebp + 0x4df636f9], ecx
inc edx
dec ebp
invalid
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041bad0
mov esp, ebp
pop ebp
ret