Function at 0xd2a47f0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x284
mov eax, dword [0xd2b0418]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
mov esi, edx
mov dword [ebp - 0x278], edi
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x284], ecx
test eax, eax
jne 0xd2a4834
lea edx, [ebp - 0x27c]
mov dword [ebp - 0x280], edx
movsx eax, word [ebp + 0xc]
add eax, 0x1c
cmp eax, 0x24
ja case.0xd2a484b.24
movzx eax, byte [eax + 0xd2a4bec]
jmp dword [eax*4 + 0xd2a4bac]
fild qword [edi]
jmp 0xd2a4ad3
fild dword [edi]
jmp 0xd2a4ad3
movsx ecx, word [edi]
mov dword [ebp - 0x278], ecx
fild dword [ebp - 0x278]
jmp 0xd2a4ad3
movsx edx, byte [edi]
mov dword [ebp - 0x278], edx
fild dword [ebp - 0x278]
jmp 0xd2a4ad3
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], edi
test edi, edi
jg 0xd2a4941
jl 0xd2a48ab
test eax, eax
jae 0xd2a4941
mov ecx, edi
lea edi, [ebp - 0x274]
push 0
push 0xa
push ecx
push eax
call fcn.0d2a6e80
mov dword [ebp - 0x278], ebx
mov ebx, eax
mov esi, edx
movzx eax, cx
cdq
xor eax, edx
sub eax, edx
add al, 0x30
mov byte [edi], al
mov eax, ebx
mov ecx, esi
mov edx, eax
inc edi
or edx, ecx
jne 0xd2a48b3
lea eax, [ebp - 0x274]
push eax
mov byte [edi], dl
call dword [sym.imp.msvcrt.dll__mbsrev]
lea eax, [ebp - 0x274]
add esp, 4
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0xd2a4900
sub eax, edx
movsx ecx, ax
push ecx
lea edx, [ebp - 0x274]
push edx
lea edi, [ebp - 0x27c]
call fcn.0d2a2b80
movzx ebx, ax
test bx, bx
je 0xd2a4acd
pop edi
pop esi
mov ax, bx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x10
fild qword [ebp - 0x27c]
jmp 0xd2a4ad3
mov eax, dword [edi]
fild dword [edi]
test eax, eax
jge 0xd2a4ad3
fadd qword [0xd271ab0]
jmp 0xd2a4ad3
movzx ecx, word [edi]
mov dword [ebp - 0x278], ecx
fild dword [ebp - 0x278]
jmp 0xd2a4ad3
movzx edx, byte [edi]
mov dword [ebp - 0x278], edx
fild dword [ebp - 0x278]
jmp 0xd2a4ad3
fld qword [edi]
call sub.msvcrt.dll__ftol2_sse
xor ecx, ecx
cmp esi, eax
sete cl
mov dword [ebp - 0x278], ecx
fild dword [ebp - 0x278]
jmp 0xd2a4ad3
fld qword [edi]
jmp 0xd2a4ad3
fld dword [edi]
jmp 0xd2a4ad3
cmp esi, 4
jne 0xd2a49e4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setge al
mov dword [ebp - 0x27c], edi
dec eax
mov dword [ebp - 0x278], eax
fild qword [ebp - 0x27c]
fdiv qword [0xd273b78]
jmp 0xd2a4ad3
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebp - 0x27c], edi
mov dword [ebp - 0x278], eax
fild qword [ebp - 0x27c]
fdiv qword [0xd273b78]
jmp 0xd2a4ad3
push 0x26f
lea edx, [ebp - 0x274]
push edx
call fcn.0d2a2c80
test eax, eax
je 0xd2a4b7c
lea edi, [ebp - 0x274]
mov eax, edi
mov dword [ebp - 0x278], edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0xd2a4a30
sub eax, edx
mov esi, eax
cmp word [ebp + 0xc], 0xfff8
jne case.0xd2a484b.1
lea ecx, [ebp - 0x278]
mov eax, esi
shr eax, 1
push ecx
call fcn.0d2a18b0
test eax, eax
jne 0xd2a4a6e
pop edi
pop esi
mov eax, 0x84
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x10
push 0
push 0
push 0x26f
lea edx, [ebp - 0x274]
push edx
push eax
mov eax, dword [ebp - 0x278]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
test esi, esi
jne 0xd2a4aae
pop edi
pop esi
mov eax, 0xf2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x10
lea edi, [ebp - 0x274]
push esi
push edi
lea edi, [ebp - 0x27c]
call fcn.0d2a2b80
movzx ebx, ax
test bx, bx
jne 0xd2a4b62
fld qword [ebp - 0x27c]
mov cx, word [ebp + 0x14]
movsx eax, cx
sub eax, 7
je 0xd2a4aee
sub eax, 1
jne 0xd2a4b48
mov edx, dword [ebp - 0x280]
fstp qword [edx]
jmp 0xd2a4b4a
fld qword [0xd273b98]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0xd2a4b7a
fld qword [0xd273bd8]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0xd2a4b7a
fldz
fcom st(1)
fnstsw ax
test ah, 5
jp 0xd2a4b26
fld qword [0xd273bd0]
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0xd2a4b78
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0xd2a4b3e
fld qword [0xd273bc8]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0xd2a4b7a
mov eax, dword [ebp - 0x280]
fstp dword [eax]
jmp 0xd2a4b4a
fstp st(0)
mov eax, dword [ebp - 0x284]
xor edx, edx
cmp cx, 8
sete dl
lea edx, [edx*4 + 4]
mov dword [eax], edx
pop edi
pop esi
mov ax, bx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x10
fstp st(1)
fstp st(0)
pop edi
pop esi
mov eax, 0x82
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 0x78
pop ebx
call fcn.0d2a6cd9
mov esp, ebp
pop ebp
ret 0x10