Function at 0xe035b0
Capabilities:
Authenticate hmac
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x264
push esi
push edi
push 0x29
xor eax, eax
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xac], edx
mov esi, eax
pop ecx
mov dword [ebp - 0x64], 9
mov dword [ebp - 0x60], 0x3ce
add ecx, dword [ebp + esi*4 - 0x64]
inc esi
cmp esi, 2
jl 0xe035dc
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x1c], 0x4d
mov dword [ebp - 0x18], 0xffffff65
mov dword [ebp - 0x24], 0x3f
movups xmm1, xmmword [ebp - 0x24]
mov dword [ebp - 0xd4], ecx
push 0x2b
movaps xmm0, xmm1
mov dword [ebp - 0x20], 0x3e
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x1c], 0xf
movups xmm0, xmm1
mov dword [ebp - 0x18], 0x388
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
pop edx
add ecx, 0x29
mov dword [ebp - 0xd0], ecx
mov ecx, eax
add edx, dword [ebp + ecx*4 - 0x20]
inc ecx
cmp ecx, 3
jl 0xe0364b
mov dword [ebp - 0xdc], edx
mov edi, eax
inc edi
cmp edi, 0x201a
jl 0xe03676
cmp byte [edi + 0xdd3278], al
jne 0xe0365d
mov esi, dword [0xe1a838]
jmp 0xe03693
mov esi, dword [0xe1a838]
mov edx, esi
push ecx
call fcn.00dfb572
add esi, 0x7bc34043
pop ecx
cmp edi, 0x10a1
jle 0xe0369b
imul esi, esi, 0xd8fa0d19
jmp 0xe036a1
xor esi, 0x42609606
lea edi, [esi + 0xb9aa392]
mov dword [ebp - 0x28], 0x41
xor esi, esi
mov dword [ebp - 0x24], 0x47
mov eax, esi
mov dword [ebp - 0x20], 0x61
mov dword [ebp - 0x1c], 0x1b
mov esi, 0x10e
mov dword [ebp - 0x18], 0xffffffec
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 5
push 0x74
mov dword [ebp - 4], 0x1a03
mov ecx, 0xdd3290
pop edx
add dword [ebp - 4], edx
lea ecx, [ecx + 2]
cmp dword [ebp - 4], 0xed6
ja 0xe03704
movzx edx, word [ecx]
test edx, edx
jne 0xe036ec
jmp 0xe03712
call fcn.00dfb6e9
mov eax, dword [ebp - 0x44]
sub edi, 0x72e60186
sub esi, dword [ebp + eax*4 - 0x28]
sub edi, 0x7ca33beb
push 5
inc eax
pop ecx
mov dword [ebp - 0x44], eax
cmp eax, ecx
jl 0xe036dd
mov ecx, 0x820
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0x48], ecx
mov eax, 0xe1a730
mov cl, byte [0xe1a730]
mov edx, 0xea1
movzx esi, cl
mov byte [ebp - 0x11], cl
test esi, esi
push 0
mov dword [ebp - 0x5c], esi
mov ecx, esi
mov dword [ebp - 0x20], 0x4f
mov dword [ebp - 0x1c], 0x15
mov dword [ebp - 0x18], 0x6b8
mov dword [ebp - 0xa4], eax
pop esi
je 0xe03797
add edx, ecx
inc eax
cmp edx, 0x72f
ja 0xe0378c
movzx ecx, byte [eax]
test ecx, ecx
jne 0xe03772
imul edi, edi, 0xd8dc2157
jmp 0xe037a2
call fcn.00dfb84c
xor edi, 0x3a3a060
call fcn.00dfb84c
imul edi, edi, 0x20153f69
and edi, 0x9e7394e4
mov dword [ebp - 0x44], esi
cmp byte [0xe1a710], 0
mov eax, esi
je 0xe037d6
inc eax
cmp eax, 0xa8b
je 0xe0386b
cmp byte [eax + 0xe1a710], 0
jne 0xe037b6
cmp eax, 0x2b5
jg 0xe03871
add edi, 0x6909cbda
imul edi, edi, 0x1e390dda
push ecx
mov edx, edi
call fcn.00dfb572
mov eax, dword [ebp - 0x48]
pop ecx
mov ecx, dword [ebp - 0x44]
sub eax, dword [ebp + ecx*4 - 0x20]
inc ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
cmp ecx, 3
jl 0xe037ab
push 0xa
pop eax
mov dword [ebp - 0x50], eax
mov ecx, 0xdd3290
mov byte [ebp - 0x69], al
mov eax, dword [0xdd1e34]
mov dword [ebp - 0x58], eax
mov ax, word [0xdd1e38]
push 0x74
mov dword [ebp - 0x74], 0x4b61d585
mov dword [ebp - 0x70], 0x6f62865f
mov word [ebp - 0x6c], 0xed8d
mov byte [ebp - 0x6a], 0xe2
mov dword [ebp - 0x68], 0x411011e1
mov dword [ebp - 0x64], 0x65c0c1e
mov dword [ebp - 0x60], 0xdb30b74d
mov word [ebp - 0x54], ax
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0xe03881
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0xe03851
jmp 0xe03887
or edi, 0x93bc8b5f
call fcn.00dfb5df
add edi, 0xa9313c03
jmp 0xe037dc
sub edi, 0xf8699a9
xor edi, 0x933e5e43
push ecx
mov edx, edi
call fcn.00dfb572
pop ecx
add edi, 0x46870124
mov dword [ebp - 4], esi
mov eax, esi
mov byte [ebp + eax - 0x1e0], al
inc eax
cmp eax, 0x100
jb 0xe038a1
mov eax, esi
mov dword [ebp - 0x4c], esi
mov cl, byte [ebp + eax - 0x1e0]
xor edx, edx
div dword [ebp - 0x10]
mov byte [ebp - 5], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x58]
add eax, dword [ebp - 4]
add ecx, eax
cmp byte [ebp - 0x11], 0
movzx eax, cl
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x1e0]
mov byte [ebp + ecx - 0x1e0], al
mov eax, esi
je 0xe0391b
inc eax
cmp eax, 0xb37
je 0xe03910
cmp byte [eax + 0xe1a730], 0
jne 0xe038f0
cmp eax, 0xdfb
jle 0xe0391b
add edi, 0x794451cf
jmp 0xe03921
call fcn.00dfb6e9
sub edi, 0x6f60c0b0
add edi, 0xe1a7ae01
and edi, 0x85136dcb
push ecx
mov edx, edi
call fcn.00dfb572
mov eax, dword [ebp - 4]
pop ecx
mov cl, byte [ebp - 5]
mov byte [ebp + eax - 0x1e0], cl
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp eax, 0x100
jb 0xe038b5
mov dword [ebp - 0xc], edi
mov edi, esi
mov dword [ebp - 4], esi
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 4]
mov cl, byte [ebp + edi - 0x1e0]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x1e0]
mov byte [ebp + edi - 0x1e0], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x1e0], cl
movzx eax, byte [ebp + edi - 0x1e0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1e0]
xor al, byte [ebp + esi - 0x74]
mov byte [ebp + esi - 0x234], al
inc esi
cmp esi, 0x18
jb 0xe03957
or dword [ebp - 0xc], 0xf494248a
lea edi, [ebp - 0x68]
mov esi, 0xdd317c
mov word [ebp - 0xa0], 0x1d8f
push 0x15
pop eax
mov byte [ebp - 0x9e], al
xor ecx, ecx
movsd dword es:[edi], dword [esi]
push 5
pop eax
mov byte [ebp - 0x86], al
mov eax, 0xd2
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x44], eax
mov eax, ecx
mov byte [ebp - 0x21c], cl
mov dword [ebp - 0x9d], 0x17f3c300
movsw word es:[edi], word [esi]
mov dword [ebp - 0x99], 0xf1651cfa
mov dword [ebp - 0x95], 0xef3dfdfb
mov dword [ebp - 0x91], 0x6184795b
mov dword [ebp - 0x8d], 0x9c774851
mov word [ebp - 0x89], 0x7b2b
mov byte [ebp - 0x87], 0xdf
mov dword [ebp - 0x85], 0xba618a88
mov dword [ebp - 0x81], 0xd2562400
mov dword [ebp - 0x7d], 0xebdf332f
mov dword [ebp - 0x79], 0xbb1a2e8e
mov byte [ebp - 0x75], 0xdd
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x11], al
je 0xe03a6d
inc eax
cmp eax, 0xa6d
jg 0xe03adb
cmp byte [eax + 0xe1a730], cl
jne 0xe03a5d
mov eax, dword [ebp - 0xc]
add eax, 0xd0195e49
mov dword [ebp - 4], ecx
and eax, 0x6f21717e
imul esi, eax, 0xe7a036f5
mov eax, ecx
mov byte [ebp + eax - 0x1e0], al
inc eax
cmp eax, 0x100
jb 0xe03a85
mov edi, ecx
xor edx, edx
mov cl, byte [ebp + edi - 0x1e0]
mov eax, edi
mov byte [ebp - 5], cl
div dword [ebp - 0x50]
movzx ecx, cl
push 0x66
movzx eax, byte [ebp + edx - 0x68]
mov edx, 0x25b8
add eax, dword [ebp - 4]
add ecx, eax
movzx eax, cl
mov dword [ebp - 4], eax
mov eax, 0xdd3278
pop ecx
add edx, ecx
inc eax
cmp edx, 0x575
ja 0xe03aec
movsx ecx, byte [eax]
test ecx, ecx
jne 0xe03ac7
jmp 0xe03af7
call fcn.00dfb84c
mov eax, dword [ebp - 0xc]
add eax, 0x61646bf1
xor ecx, ecx
jmp 0xe03a70
call fcn.00dfb5df
xor esi, 0x11d6ff14
imul esi, esi, 0x41648ead
xor esi, 0x24cb44d
call fcn.00dfb6e9
mov ecx, dword [ebp - 4]
mov al, byte [ebp + ecx - 0x1e0]
mov byte [ebp + edi - 0x1e0], al
inc edi
mov al, byte [ebp - 5]
mov byte [ebp + ecx - 0x1e0], al
cmp edi, 0x100
jb 0xe03a96
mov dword [ebp - 0xc], esi
xor esi, esi
mov dword [ebp - 4], esi
mov edi, esi
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 4]
mov cl, byte [ebp + edi - 0x1e0]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x1e0]
mov byte [ebp + edi - 0x1e0], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x1e0], cl
movzx eax, byte [ebp + edi - 0x1e0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1e0]
xor al, byte [ebp + esi - 0xa0]
mov byte [ebp + esi - 0x264], al
inc esi
cmp esi, 0x2c
jb 0xe03b3a
push 5
pop ecx
mov esi, 0xdd1040
mov dword [ebp - 0x40], 0x94a1aca8
lea edi, [ebp - 0x74]
mov dword [ebp - 0x3c], 0xcf79500a
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x38], 0x71559c79
mov byte [ebp - 0x238], al
mov ecx, eax
mov dword [ebp - 0x34], 0x5bf28fbb
mov dword [ebp - 0x30], 0xb9a8d8d8
test al, 0xb9