Function at 0x41ce30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov dword [esp + 8], 0x2b68254d
mov dword [esp + 0xc], 0x2f8d299b
mov dword [esp + 0x10], 0x33802d89
mov dword [esp + 0x14], 0x37803175
mov dword [esp + 0x18], 0x3b703586
mov dword [esp + 0x1c], 0x3f8c399d
mov dword [esp + 0x20], 0x3573d99
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0x102
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x1f
ja 0x41cef7
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + edx]
add esi, 0x83072e85
add ecx, 0x83072e85
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xc0], esi
mov ecx, dword [esp + 0xc0]
add cl, 0x5d
mov edx, dword [esp + 0x8c]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x20
jb 0x41cea0
lea esi, [esp + 0x8c]
lea edx, [esp + 8]
mov ecx, 7
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xa8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea ebx, [esp + 0x60]
push ebx
push 0
push 0
push 0xe
push esi
push 0
call dword [0x448c5c]
mov edi, dword [esp + 0x60]
test edi, edi
jns 0x41cf43
mov eax, 0xffffffff
jmp 0x41cf46
lea eax, [edi + edi]
push eax
call fcn.00408d00
add esp, 4
mov esi, eax
push ebx
push edi
push eax
push 0xe
lea eax, [esp + 0x9c]
push eax
push 0
call dword [0x448c5c]
mov dword [esp + 8], 0x2bda2dc8
mov dword [esp + 0xc], 0xd73929c9
mov dword [esp + 0x10], 0xd333d543
mov dword [esp + 0x14], 0xdf33d13b
mov dword [esp + 0x18], 0xdbdadd43
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov byte [esp + 0x24], 0
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0x68]
cmp ecx, 0x1c
ja 0x41d017
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x68]
movzx edx, byte [esp + edx + 8]
lea edi, [ecx + edx]
add edi, 0xa04502fa
add ecx, 0xa04502fa
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esp + 0xc0], edi
mov ecx, dword [esp + 0xc0]
add cl, 0x2a
mov edx, dword [esp + 0x68]
mov byte [esp + edx + 8], cl
mov ecx, dword [esp + 0x68]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x68]
cmp ecx, 0x1d
jb 0x41cfc0
lea edi, [esp + 0xac]
lea edx, [esp + 8]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc0]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x60]
mov ecx, eax
add ecx, 9
jns 0x41d04d
mov eax, 0xffffffff
jmp 0x41d052
add eax, eax
add eax, 0x12
push eax
call fcn.00408d00
add esp, 4
mov ebx, eax
movzx ecx, word [esi]
test cx, cx
je 0x41d081
lea edx, [esi + 2]
mov eax, ebx
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41d070
mov word [eax], 0
movzx ecx, word [esp + 0xac]
test cx, cx
je 0x41d0b1
lea edx, [esp + 0xae]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41d0a0
mov edi, dword [ebp + 8]
mov word [eax], 0
lea eax, [esp + 0x88]
push eax
push ebx
call fcn.0043a9e0
add esp, 8
not eax
shr eax, 0x1f
mov eax, dword [eax*4 + 0x442e64]
mov ecx, 0xc1243f64
xor ecx, dword [0x442e6c]
add eax, ecx
inc eax
jmp eax
mov dl, 0x4d
into
push ecx
mov ch, 0x3a
je 0x43d92a
mov esp, 0xbb30e2a3
aam 0x41
movsd dword es:[edi], dword [esi]
fisttp word [edx - 0x29]
xchg ebp, eax
fdivr dword [0xa4d1c46d]
sti
hlt
fidiv dword [ebx + 0x2d]
add al, 0x44
in eax, 0x1d
add esi, dword [ebx]
xor ebx, dword [edi + 0x4c]
or ch, byte [edx - 0x22f28337]
cmp al, 0x71
add eax, 0x241aa50
daa
adc byte [eax], dl
or edi, dword [esi - 0x36f3df7a]
and eax, 0xb35768b5
test dword [edi + 0x20], ebp
or esp, edx
mov cx, 0xe49f
popal
into
push cs
stc
ficomp word [esi - 0x68]
leave
fldcw word [ecx]
and bl, byte [eax - 0x574b4f30]
xlatb
invalid