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 0xea643adf
sub al, 0x21
mov esp, 0xd6274cae
jnp 0x41b02d
stosb byte es:[edi], al
inc ebx
cmp dword [edi], ecx
add byte [edx + edx*2 - 0x44], 0xdd
aas
push esp
salc
jnp 0x41b03c
test al, 0x3e
mov dword [edx], edi
lds ecx, [ebx - 0x73]
inc edx
mov esp, 0xd6452ecc
jnp 0x41b04b
cmpsd dword [esi], dword es:[edi]
push esi
xor al, 0x1a
lcall 0x7219, 0xfbbc745c
salc
sbb bl, byte [edx - 0x4438ba4]
sbb dword [edx - 0x2a], esi
jnp 0x41b05a
test eax, 0x3c3a703e
mov dl, 0x74
mov esp, 0xd66308ea
cmp al, 0xb2
je 0x41b0a5
mov esp, 0xd66308ea
jnp 0x41b069
and bl, byte [esp + edi + 0x3e1abba3]
pushfd
cmp al, 0xa3
mov ebx, 0xf77d3e1a
sbb bh, byte [esi]
jge 0x41b046
xor dword [edi + esi*4 - 0x15], esp
add ch, byte [ecx - 0x23]
jg 0x41b07a
clc
cmp ah, al
fild dword [ecx]
cmp eax, 0x93498f06
mov dh, 0x1c
hlt
invalid
invalid
out dx, eax
cmp dh, dl
int3
add cl, 0x1b
mov cl, 0x9a
jg 0x9556ad9
mov al, 0x11
pop esp
sbb eax, 0xf0a3a71d
mov dword [0x8ba44d8b], eax
push ecx
in al, dx
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 [0x7badba0], 0x6c
scasb al, byte es:[edi]
test eax, 0x4be49849
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