Function at 0x41e3c1
Capabilities:
Allocate or change rwx memory
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x814
mov eax, dword [0x468cb0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
call fcn.0041b3cb
mov edx, dword [esi + 0x44]
mov ebx, eax
mov edi, 0x104
mov dword [ebx + 8], edx
mov edx, dword [esi + 0x44]
push edi
lea eax, [ebp - 0x20c]
push eax
mov dword [ebx + 0xc], edx
push dword [esi + 0x44]
pushal
pushfd
sub esi, esp
mov ecx, ecx
rol ecx, 0x11
call fcn.0040e600
xor eax, ebp
mov edx, dword [0x4682a4]
or esi, edi
and esi, edi
shr esi, 3
inc esi
rol ecx, 1
call fcn.00409b80
rol ebx, 5
sub esi, eax
or esi, edi
mov esi, eax
rol eax, 0xc
mov ecx, 0x99f28c
shr edx, 3
call fcn.0040e229
dec edi
shr esi, 0x1d
inc edx
rol esi, 1
mov dword [0x46f47a], ecx
not esi
test ebp, ebp
jo 0x41e47c
inc edx
not edi
neg ebx
rol eax, 0x1f
loop 0x41e433
rol ecx, 1
call fcn.00402c23
mov ebx, dword [0x469a0a]
mov edi, eax
mov esi, eax
or esi, edi
neg eax
dec edx
xchg eax, eax
sub esi, esp
not eax
dec esi
sub esi, eax
test eax, eax
jb 0x41e4db
pop esi
xor eax, edi
or esi, edi
mov esi, eax
not ecx
dec eax
test esp, ecx
jo 0x41e436
mov ecx, ebp
shl ebx, 0xc
xor edi, dword [0x468c8c]
mov esi, 0x1215480
shl esi, 0x15
ror edx, 0x19
call fcn.00408383
sub eax, eax
or esi, edi
and esi, edi
inc eax
mov edi, ebx
add eax, 0x1de786d8
xchg eax, eax
dec esi
test esp, edx
jo 0x41e52b
mov edx, eax
xor esi, dword [0x469f80]
xor edi, edx
and eax, 0x16f36994
and esi, edi
ror eax, 0x14
add ecx, edx
mov esi, eax
mov ecx, 0x41cc12
rol eax, 9
shr eax, 0xf
add dword [0x46f219], 0x133a031
sub edx, dword [0x4674e8]
call fcn.00401753
inc edx
xchg esi, edx
or ecx, eax
call 0x194765f1
inc esi
add byte [ecx], dh
mov al, byte [0x152b0133]
call 0xe8422b64
pop edi
xor bh, dh
inc dword [edx - 0x79]
salc
invalid
and dword [0x46f776], ebx
neg edx
rol esi, 5
xor edx, dword [str.._AVfailure_ios_base_std__]
mov dword [0x46f296], 0xef6aaa4
loop 0x41e4d9
jbe 0x41e4f2
inc esi
add bh, dh
fcmovb st(0), st(1)
mov byte [0xa2281533], 0x46
add bh, al
add eax, 0x46f296
movsb byte es:[edi], byte [esi]
stosb byte es:[edi], al
test byte [esi], 0xe2
lds eax, [ebx]
ret 0xe081
add eax, edx
and eax, 0x12d04fdc
mov esi, eax
mov ebx, eax
test eax, ecx
jo 0x41e4f9
mov edx, dword [0x468c78]
call fcn.00407c3f
ror edx, 0x1d
mov ecx, 0xcd54f9
adc byte [edi - 0x353e0002], dl
sbb eax, 0xcd54f9b9
add bh, dh
fiadd word [esi - 0x79]
ror eax, 5
neg esi
inc esi
xchg ebx, esi
ror eax, 5
neg esi
call fcn.00406606
test eax, 0xa7dae10
jb 0x41e56c
sub dword [0x46f086], 0x2f57f1c
mov dword [0x46f354], ecx
ror eax, 0x19
loop 0x41e537
inc esi
add byte [edi + edi*2], bl
cmc
add cl, byte [ecx + 0x46f3540d]
add cl, al
enter 0xffffffffffffe219, 0xffffffffffffffd4
xor edi, ecx
xchg esi, edx
dec eax
shr esi, 0x14
not esi
salc
mov ecx, esi
not esi
dec esi
sub esi, eax
call fcn.0040e600
test eax, ebp
jo 0x41e557
xor edi, ebp
mov eax, 0x9443aa
xor ecx, edx
add ebx, edx
or edx, eax
sub esi, eax
mov esi, eax
mov esi, 0xebf9fb7
dec edx
test eax, eax
jo 0x41e552
ror edx, 0xb
xor esi, eax
mov edx, edx
inc eax
neg ebx
test esi, eax
jb 0x41e610
push 0x21
dec byte [ecx + 0x2b]
invalid
and esi, edi
dec ecx
sub eax, esp
shl eax, 0x1f
neg edx
test esi, ecx
jo 0x41e5a5
push 0x40
xchg esi, esi
dec esi
xor esi, 0x131414d
add edi, eax
mov dword [0x46f70a], edi
dec eax
sub esi, eax
add ecx, eax
mov dword [0x46f81c], 0x1afcff31
xor ecx, dword [0x46995e]
call fcn.0040e600
inc eax
xor eax, 0xe0c670c
sub eax, esp
mov dword [0x46f62b], edi
sub dword [0x46f43f], edx
neg edi
mov dword [0x46f0e8], edx
or dword [0x46f611], ecx
call fcn.00404024
mov dword [0x46f7a8], 0xfeb4ffa
push 0x3000
ror esi, 0x12
neg esi
and dword [0x46f420], ebx
sub esi, eax
xor dword [0x46f7a2], edx
dec edi
jmp 0x41e622
add byte [ebx], ch
lock xor dword [0x46f7a2], edx
xor edi, dword [vtable.type_info.0]
call fcn.00406606
dec eax
xor esi, 0xe5fe784
add esi, 0x1aa5d894
xor esi, eax
xor dword [0x46f4f4], 0x2f2a7120
xor edi, ebp
inc edx
mov dword [0x46f242], edx
sub dword [0x46f3a9], esi
push 0x943
neg esi
rol ecx, 0x11
or dword [0x46f48c], 0xf3038a3
neg esi
call fcn.00401753
xor eax, eax
and dword [0x46f5b6], 0x112a0321
mov dh, 0xf5
inc esi
add byte [ecx], ah
add ebp, dword [edx]
adc edi, eax
add eax, 0x46f4fc
inc eax
jno 0x41e6ed
adc eax, dword [ebx]
shr al, cl
jo 0x41e713
invalid
inc dword [ebx]
xor eax, 0x469d00
mov dword [0x46f171], ecx
xchg esi, eax
mov dword [0x46f3a8], ebx
call fcn.0040456b
sub dword [0x46f0ec], 0x30d45f8c
call fcn.00405d83
push 0
dec edi
sub esi, dword [0x4692a4]
ror eax, 0x18
sub esi, 0x16caeeda
xor dword [0x46f2ec], 0x16141ea8
in al, dx
inc esi
add byte [eax - 0x8e9ebe2], ch
faddp st(1)
into
add al, 0x87
shr byte [ecx], 0xd
sbb al, bh
inc esi
invalid