Function at 0x41db30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x190
mov dword [esp + 0x10], 0x59e45b35
mov dword [esp + 0x14], 0x5def5fed
mov dword [esp + 0x18], 0x515253ee
mov word [esp + 0x1c], 0
mov eax, 0x219138ef
mov ecx, 0x9e6ec710
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x219138df]
mov edi, ecx
and edi, 0x9864c406
mov edx, eax
and edx, 0x20103019
or edx, edi
lea edi, [eax - 0x21913800]
and edi, esi
xor edx, esi
xor edx, 0xd9e5cce6
or edx, edi
lea esi, [edi + edi]
not esi
add esi, edi
and esi, edx
mov edx, esi
and edx, 0x54
xor esi, 0x54
lea edx, [esi + edx*2]
inc dl
mov byte [esp + eax - 0x219138df], dl
inc eax
dec ecx
cmp eax, 0x219138fd
jne 0x41db70
mov dword [esp + 0x30], 0xf19a0fa4
mov dword [esp + 0x34], 0xf562f364
mov dword [esp + 0x38], 0xf927f72e
mov dword [esp + 0x3c], 0xfd56fb29
mov dword [esp + 0x40], 0xe15bff6d
mov dword [esp + 0x44], 0xe54ee343
mov dword [esp + 0x48], 0xe977e74c
mov dword [esp + 0x4c], 0xed7eeb7d
mov dword [esp + 0x50], 0xd1eeef36
mov eax, 0x35cf2efd
mov ecx, 0x4a30d102
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x35cf2ecd]
mov edx, ecx
xor edx, 0x8000018
mov edi, ecx
or edi, 0x4230d1e7
and edi, edx
mov edx, eax
and edx, 0x20062418
or edx, edi
xor edx, esi
mov ebx, edx
xor ebx, 0xd7f9dbe7
xor edx, 0x16
and edx, ebx
or ebx, 0xe
add ebx, edx
inc bl
mov byte [esp + eax - 0x35cf2ecd], bl
inc eax
dec ecx
cmp eax, 0x35cf2f21
jne 0x41dc20
movzx ecx, word [esp + 0x30]
lea eax, [esp + 0x14c]
test cx, cx
je 0x41dca3
lea edx, [esp + 0x32]
mov esi, dword [ebp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41dc90
jmp 0x41dca6
mov esi, dword [ebp + 0x10]
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x41dcd1
lea edx, [esi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41dcc0
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x41dd01
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41dcf0
mov word [eax], 0
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
mov dword [esp + 0x30], 0x959090ca
mov byte [esp + 0x34], 0x38
mov dword [esp + 0x35], 0
mov word [esp + 0x39], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
mov edx, ecx
xor edx, 0x3960a77
mov esi, eax
and esi, 0x10
sub esi, edx
add esi, 0x263fc04b
mov edx, esi
and edx, 0x77
xor esi, 0x77
lea edx, [esi + edx*2]
xor dl, byte [esp + ecx + 0x30]
add dl, 0x89
mov byte [esp + ecx + 0x30], dl
inc ecx
add eax, 2
cmp ecx, 0xb
jne 0x41dd30
movzx eax, byte [esp + 0x30]
test al, al
je 0x41dd8b
lea ecx, [esp + 0x31]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41dd80
mov byte [edi], 0
lea eax, [esp + 0x140]
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x14c]
push eax
push ecx
push edx
call fcn.0040b210
add esp, 0xc
movzx eax, al
mov eax, dword [eax*4 + 0x446bc4]
mov ecx, 0x7ed0f5dc
xor ecx, dword [0x446bcc]
add eax, ecx
inc eax
jmp eax