Function at 0xc5b37d
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
push ebx
push esi
push edi
mov dword [ebp - 0x8c], ecx
lea edi, [ebp - 0x7c]
push 8
pop ecx
mov esi, 0xc71078
mov dword [ebp - 0x88], edx
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov dword [ebp - 0x58], 0x837dc813
mov dword [ebp - 0x54], 0x3ad4fbea
mov eax, ebx
mov dword [ebp - 0x50], 0x66ecc574
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x4c], 0x854bf24d
mov edi, ebx
mov dword [ebp - 0x48], 0xef26e34f
mov dword [ebp - 0x44], 0x3640eb28
mov byte [ebp + eax - 0x18c], al
inc eax
cmp eax, 0x100
jb 0xc5b3d3
mov esi, ebx
mov dl, byte [ebp + esi - 0x18c]
mov eax, esi
and eax, 0x1f
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x7c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x18c]
mov byte [ebp + esi - 0x18c], al
inc esi
mov byte [ebp + edi - 0x18c], dl
cmp esi, 0x100
jb 0xc5b3e4
xor eax, eax
mov edi, eax
mov esi, eax
mov eax, dword [0xc786a4]
or eax, 0xfaebdc89
mov dword [ebp - 4], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x18c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x18c]
mov byte [ebp + edi - 0x18c], al
mov byte [ebp + ebx - 0x18c], cl
movzx eax, byte [ebp + edi - 0x18c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x18c]
xor al, byte [ebp + esi - 0x58]
mov byte [ebp + esi - 0x1a8], al
inc esi
cmp esi, 0x18
jb 0xc5b430
mov esi, 0xc6f4ec
mov dword [ebp - 0x84], 0x8a93d0a1
lea edi, [ebp - 0x4c]
mov dword [ebp - 0x80], 0x719424fe
push 0x11
xor ecx, ecx
mov dword [ebp - 0x7c], 0xf2ac71ab
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x69], al
mov eax, ecx
mov byte [ebp - 0x190], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x78], 0x303ec1c3
mov dword [ebp - 0x74], 0xa1b3197e
mov dword [ebp - 0x70], 0x79422daf
movsd dword es:[edi], dword [esi]
mov word [ebp - 0x6c], 0x7cfe
mov edi, ecx
mov byte [ebp - 0x6a], 0xba
mov dword [ebp - 0x68], 0x5568c2de
mov dword [ebp - 0x64], 0xcce36220
mov dword [ebp - 0x60], 0xd8b2d282
mov dword [ebp - 0x5c], 0xa93e2f81
mov byte [ebp + eax - 0x18c], al
inc eax
cmp eax, 0x100
jb 0xc5b4f0
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x18c]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x4c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x18c]
mov byte [ebp + esi - 0x18c], al
inc esi
mov byte [ebp + edi - 0x18c], bl
cmp esi, 0x100
jb 0xc5b501
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x18c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x18c]
mov byte [ebp + edi - 0x18c], al
mov byte [ebp + ebx - 0x18c], cl
movzx eax, byte [ebp + edi - 0x18c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x18c]
xor al, byte [ebp + esi - 0x84]
mov byte [ebp + esi - 0x210], al
inc esi
cmp esi, 0x2c
jb 0xc5b546
mov esi, str.__LOG_
mov dword [ebp - 0x2c], 0x3612c99e
lea edi, [ebp - 0x48]
mov dword [ebp - 0x28], 0x2fa1cb7c
push 0x2a
pop ecx
movsd dword es:[edi], dword [esi]
xor edx, edx
push 0x77
pop eax
mov byte [ebp - 0x1e4], dl
mov ebx, edx
movsw word es:[edi], word [esi]
mov dword [ebp - 0x24], 0xf71f809f
mov dword [ebp - 0x20], 0xedb8054d
mov dword [ebp - 0x1c], 0x2bf95d0f
movsb byte es:[edi], byte [esi]
mov esi, str.S_1_15_2_128907917_1049808183_3772720920_2589851895_2273257875_2082631859_2896883434
mov dword [ebp - 0x18], 0x2eda4a2f
lea edi, [ebp - 0x138]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp ax, word [ebp - 0x138]
jne 0xc5b627
mov ecx, eax
mov eax, edx
test cx, cx
je 0xc5b627
cmp word [ebp + eax - 0x138], dx
je 0xc5b627
call fcn.00c56a87
inc ebx
push 0
pop edx
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0xc73fb0]
cmp cx, word [ebp + eax - 0x138]
je 0xc5b5fb
call fcn.00c56a87
movzx eax, byte [ebp + ebx*2 - 0x138]
movzx ecx, byte [ebx*2 + 0xc73fb0]
sub ecx, eax
cmp ecx, 0xdd1
jbe 0xc5b66a
mov ecx, dword [0xc786a4]
mov edx, 0xc73fb0
push ecx
lea eax, [ecx - 0x383e0aae]
push eax
call fcn.00c56941
mov eax, dword [ebp - 4]
pop ecx
pop ecx
add eax, 0x91731a1
jmp 0xc5b672
mov eax, dword [ebp - 4]
or eax, 0xa6b4e49c
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov dword [0xc7878c], eax
mov eax, ecx
mov byte [ebp + eax - 0x18c], al
inc eax
cmp eax, 0x100
jb 0xc5b67e
mov esi, ecx
mov edi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x18c]
push 6
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x48]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x18c]
mov byte [ebp + esi - 0x18c], al
inc esi
mov byte [ebp + edi - 0x18c], bl
cmp esi, 0x100
jb 0xc5b691
xor eax, eax
imul esi, dword [ebp - 4], 0x70fd2800
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 8], eax
mov edi, esi
mov ecx, esi
call fcn.00c56618
mov ebx, 0xc73fb0
push str.xwinhttp.dll
call fcn.00c56a34
mov esi, edi
lea ebx, [ebx + 2]
and esi, 0x48ad093f
xor eax, eax
mov edi, esi
pop ecx
cmp word [ebx], ax
jne 0xc5b6ee
mov eax, dword [ebp - 0x40]
inc eax
movzx ebx, al
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], ebx
mov cl, byte [ebp + ebx - 0x18c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x18c]
mov byte [ebp + ebx - 0x18c], al
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x18c], cl
movzx eax, byte [ebp + ebx - 0x18c]
mov ecx, dword [ebp - 8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x18c]
xor al, byte [ebp + ecx - 0x2c]
mov byte [ebp + ecx - 0x1c4], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x18
jb 0xc5b6e2
mov esi, str.cross_device_link
mov dword [ebp - 0x2c], 0x17edc5eb
lea edi, [ebp - 0x54]
mov dword [ebp - 0x28], 0x73b274f9
xor ecx, ecx
mov dword [ebp - 0x24], 0x66bdfebc
mov byte [ebp - 0x1ac], cl
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], 0xb49514f2
mov dword [ebp - 0x1c], 0x3ec6f1ac
mov dword [ebp - 0x18], 0xa56e04b2
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ecx
mov byte [ebp + eax - 0x18c], al
inc eax
cmp eax, 0x100
jb 0xc5b7b7
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x18c]
push 0x11
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x54]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x18c]
mov byte [ebp + esi - 0x18c], al
inc esi
mov byte [ebp + edi - 0x18c], bl
cmp esi, 0x100
jb 0xc5b7c8
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x18c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x18c]
mov byte [ebp + edi - 0x18c], al
mov byte [ebp + ebx - 0x18c], cl
movzx eax, byte [ebp + edi - 0x18c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x18c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x1e0], al
inc esi
cmp esi, 0x18
jb 0xc5b80d
xor ecx, ecx
mov dword [ebp - 0x2c], 0xfc937bb7
mov byte [ebp - 0x1c8], cl
mov eax, ecx
mov dword [ebp - 0x28], 0x1928cecd
mov dword [ebp - 0x24], 0x24d93d1f
mov dword [ebp - 0x20], 0x3ded0ad6
mov dword [ebp - 0x1c], 0x4bf51395
mov dword [ebp - 0x18], 0x6929a5d6
mov dword [ebp - 0x48], 0x5c536c25
mov dword [ebp - 0x44], 0x536c25
mov byte [ebp + eax - 0x18c], al
inc eax
cmp eax, 0x100
jb 0xc5b89f
mov edi, dword [ebp - 0x14]
mov esi, ecx
add edi, 0x538304b9
mov dword [0xc78790], edi
mov edi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x18c]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x48]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x18c]
mov byte [ebp + esi - 0x18c], al
inc esi
mov byte [ebp + edi - 0x18c], bl
cmp esi, 0x100
jb 0xc5b8c1
mov ebx, dword [ebp - 4]
xor eax, eax
mov ecx, ebx
call fcn.00c56618
mov edi, dword [0xc78790]
xor eax, eax
mov esi, eax
call fcn.00c56a87
xor ebx, 0x495c5ebc
xor ecx, ecx
inc esi
cmp word [esi*2 + 0xc73fb0], cx
jne 0xc5b914
mov eax, dword [ebp - 0x44]
mov ebx, ecx
cmp eax, esi
jae 0xc5b961
mov ebx, dword [0xc786a4]
cmp eax, 0x14f1
jne 0xc5b948
or ebx, 0xd9151e31
add edi, 0x50d92f99
inc eax
cmp eax, esi
jb 0xc5b93b
mov dword [0xc786a4], ebx
mov ebx, ecx
mov dword [0xc78790], edi
imul eax, dword [ebp - 0x14], 0xee9cff8f
mov esi, ecx
mov edi, ecx
mov dword [str._0hU], eax
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x18c]
movzx edx, cl
lea eax, [edx + edi]
movzx edi, al
mov al, byte [ebp + edi - 0x18c]
mov byte [ebp + ebx - 0x18c], al
mov byte [ebp + edi - 0x18c], cl
movzx eax, byte [ebp + ebx - 0x18c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x18c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x74], al
inc esi
cmp esi, 0x18
jb 0xc5b971
xor eax, eax
mov ecx, 0xf000
mov byte [ebp - 0x5c], al
call fcn.00c4b9d3
mov ecx, dword [0xc7878c]
xor ecx, 0x1b5ad8d9
mov dword [ebp - 0xc], eax
mov dword [str._0hU], ecx
mov ecx, 0x7800
call fcn.00c4b9d3
mov ecx, 0x208
mov dword [ebp - 4], eax
call fcn.00c4b9d3
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x40], eax
call fcn.00c4d02f
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x14], eax
call fcn.00c4d05e
mov dword [ebp - 0x10], eax
call fcn.00c56a87
push 0xa
pop ecx
mov esi, 0xc73b48
lea edi, [ebp - 0x3c]
rep movsd dword es:[edi], dword [esi]
push 0x77
xor edx, edx
pop ecx
mov ebx, edx
cmp cx, word [ebp - 0x3c]
jne 0xc5ba72
mov eax, edx
test cx, cx
je 0xc5ba72
cmp word [ebp + eax - 0x3c], dx
je 0xc5ba72
push dword [0xc78790]
mov edx, 0xc73fb0
push dword [0xc786a4]
call fcn.00c56941
inc ebx
pop ecx
pop ecx
push 0
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0xc73fb0]
pop edx
cmp cx, word [ebp + eax - 0x3c]
je 0xc5ba39
movzx eax, byte [ebp + ebx*2 - 0x3c]
movzx ecx, byte [ebx*2 + 0xc73fb0]
sub ecx, eax
cmp ecx, 0x25b6
jbe 0xc5baa2
mov ecx, dword [0xc7878c]
mov eax, ecx
xor eax, 0x32dc8c93
mov dword [0xc78790], eax
call fcn.00c56618
jmp 0xc5bab1
mov eax, dword [0xc7878c]
xor eax, 0x909a5093
mov dword [str._0hU], eax
lea ecx, [ebp - 0x1c4]
call fcn.00c4d05e
mov esi, eax
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 0x44], esi
call fcn.00c4d05e
mov edi, dword [ebp - 0x40]
lea edx, [ebp - 0x74]
push esi
push dword [ebp - 0x10]
mov ebx, eax
push edi
push 2
pop ecx
mov dword [ebp - 8], ebx
call fcn.00c4ba1b
call eax
mov eax, dword [ebp - 0x88]
xor ecx, ecx
add esp, 0xc
mov esi, ecx
cmp dword [eax], ecx
mov ecx, dword [ebp - 4]
jbe 0xc5bb1f
mov ebx, dword [ebp - 0x14]
mov edi, eax
mov eax, dword [ebp - 0x8c]
mov edx, dword [eax + esi*4]
call fcn.00c4d3a6
mov edx, ebx
call fcn.00c4d3a6
inc esi
cmp esi, dword [edi]
jb 0xc5baff
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 0x40]
call fcn.00c4d309
mov esi, dword [ebp - 0xc]
mov edx, ecx
push eax
mov ecx, esi
call fcn.00c4d13f
push esi
mov edx, ebx
mov ecx, edi
call fcn.00c56b86
mov ecx, dword [ebp - 0x14]
call fcn.00c4d309
push eax
xor ebx, ebx
push ebx
push ecx
call fcn.00c4cf49
mov ecx, dword [ebp - 0x10]
call fcn.00c4d317
push eax
push ebx
push ecx
call fcn.00c4cf49
add esp, 0x1c
mov edx, 0xc7049c
mov ecx, 0xc73fb0
call fcn.00c56392
pop ecx
push 0x2a
pop ecx
mov esi, 0xc73b70
lea edi, [ebp - 0x134]
rep movsd dword es:[edi], dword [esi]
push 0x77
pop ecx
xor edx, edx
cmp cx, word [ebp - 0x134]
jne 0xc5bbfe
mov eax, edx
test cx, cx
je 0xc5bbb4
cmp word [ebp + eax - 0x134], dx
je 0xc5bbb4
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0xc73fb0]
cmp cx, word [ebp + eax - 0x134]
je 0xc5bb90
mov esi, dword [ebp - 0x44]
cmp esi, ebx
jae 0xc5bbfe
mov edi, dword [str._0hU]
mov eax, edi
or eax, 0x41c82c74
mov dword [0xc7878c], eax
cmp esi, 0x1e73
jne 0xc5bbe6
and dword [0xc786a4], 0xf8551c06
mov ecx, edi
call fcn.00c56618
push edi
push dword [0xc78790]
mov edx, 0xc73fb0
call fcn.00c56941
inc esi
pop ecx
pop ecx
cmp esi, ebx
jb 0xc5bbcd
mov ebx, dword [ebp - 0x44]
mov ecx, ebx
call fcn.00c4d317
push eax
xor eax, eax
push eax
push ebx
call fcn.00c4cf49
mov esi, dword [ebp - 8]
mov ecx, esi
call fcn.00c4d317
push eax
xor eax, eax
push eax
push esi
call fcn.00c4cf49
mov ecx, dword [ebp - 0x14]
call fcn.00c4ba07
mov ecx, dword [ebp - 0x10]
call fcn.00c4ba07
mov ecx, ebx
call fcn.00c4ba07
mov ecx, esi
call fcn.00c4ba07
mov edi, dword [ebp - 0xc]
xor ebx, ebx
push 0xf000
push ebx
push edi
call fcn.00c4cf49
mov esi, dword [ebp - 4]
push 0x7800
push ebx
push esi
call fcn.00c4cf49
push 0x208
push ebx
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.00c4cf49
add esp, 0x3c
mov ecx, edi
call fcn.00c4ba07
mov ecx, esi
call fcn.00c4ba07
mov ecx, ebx
call fcn.00c4ba07
pop edi
pop esi
pop ebx
leave
ret