Function at 0x41ded0
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 + 0x20], 0xb5e0d61
mov dword [esp + 0x24], 0x17b909bb
mov dword [esp + 0x28], 0x13a615b5
mov dword [esp + 0x2c], 0x1fae1151
mov dword [esp + 0x30], 0x1b561dac
mov dword [esp + 0x34], 0x67da19b9
mov dword [esp + 0x38], 0x630f65c5
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0x6160
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x1f
ja 0x41dfb8
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
movzx edx, byte [esp + edx + 0x20]
lea esi, [ecx + 0x28f33eaa]
and esi, edx
mov edi, 0xd70cc155
sub edi, ecx
or edi, edx
add edi, ecx
add edi, 0x28f33eab
mov ebx, edi
and ebx, esi
xor esi, edi
add ecx, edx
add ecx, 0x28f33eaa
lea edx, [esi + ebx*2]
sub ecx, edx
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc0]
mov edx, ecx
xor edx, 0x59
and ecx, 0x59
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp + 0x8c]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x20
jb 0x41df40
lea esi, [esp + 0x8c]
lea edx, [esp + 0x20]
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 edi, [esp + 0x78]
push edi
push 0
push 0
push 0xe
push esi
push 0
call dword [0x44c2e0]
mov ebx, dword [esp + 0x78]
test ebx, ebx
jns 0x41e004
mov eax, 0xffffffff
jmp 0x41e007
lea eax, [ebx + ebx]
push eax
call fcn.00408cc0
add esp, 4
push edi
push ebx
mov ebx, eax
push eax
push 0xe
push esi
push 0
call dword [0x44c2e0]
mov dword [esp + 0x20], 0x73226d30
mov dword [esp + 0x24], 0x77117111
mov dword [esp + 0x28], 0x7b1b751b
mov dword [esp + 0x2c], 0x7f1b7913
mov dword [esp + 0x30], 0x83827d0b
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
mov dword [esp + 0x37], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x1a
ja 0x41e0c9
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x20]
lea esi, [ecx + 0x6e]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add ecx, esi
add ecx, 0x7e08806d
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc0]
mov edx, ecx
or edx, 0xfd
and ecx, 0xfd
add ecx, edx
inc cl
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x1b
jb 0x41e070
lea edi, [esp + 0xac]
lea edx, [esp + 0x20]
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 + 0x78]
mov ecx, eax
add ecx, 9
jns 0x41e0ff
mov eax, 0xffffffff
jmp 0x41e104
add eax, eax
add eax, 0x12
push eax
call fcn.00408cc0
add esp, 4
mov edi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x41e131
lea edx, [ebx + 2]
mov eax, edi
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41e120
mov word [eax], 0
movzx ecx, word [esp + 0xac]
test cx, cx
je 0x41e161
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 0x41e150
mov esi, dword [ebp + 8]
mov word [eax], 0
lea eax, [esp + 0x88]
push eax
push edi
call fcn.0043d820
add esp, 8
not eax
shr eax, 0x1f
mov eax, dword [eax*4 + 0x4461a4]
mov ecx, 0x4cb6e266
xor ecx, dword [0x4461ac]
add eax, ecx
inc eax
mov dword [esp + 0x80], ebx
jmp eax