Function at 0xc4e687
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4b4
push ebx
push esi
push edi
mov esi, 0xc7008c
mov dword [ebp - 0x178], edx
lea edi, [ebp - 0x184]
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x18], 0x43d9a8c0
mov dword [ebp - 0x14], 0x1861f603
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x98b7556b
mov dword [ebp - 0xc], 0xd81b498f
mov dword [ebp - 8], 0xb6ef57b1
movsw word es:[edi], word [esi]
mov dword [ebp - 4], 0xc6fc41a5
movsb byte es:[edi], byte [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x298], al
inc eax
cmp eax, 0x100
jb 0xc4e6dc
push 6
xor esi, esi
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x298]
mov eax, esi
div ecx
movzx ecx, bl
push 6
movzx eax, byte [ebp + edx - 0x184]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x298]
mov byte [ebp + esi - 0x298], al
inc esi
mov byte [ebp + edi - 0x298], bl
cmp esi, 0x100
jb 0xc4e6f0
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x298]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x298]
mov byte [ebp + edi - 0x298], al
mov byte [ebp + ebx - 0x298], cl
movzx eax, byte [ebp + edi - 0x298]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x298]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x2d0], al
inc esi
cmp esi, 0x18
jb 0xc4e736
push 0x12
pop eax
push 0xa
mov byte [ebp - 0x112], al
xor edx, edx
pop eax
mov byte [ebp - 0x2b8], dl
mov dword [ebp - 0x170], 0xf6e78155
mov dword [ebp - 0x16c], 0x5e91eca7
mov dword [ebp - 0x168], 0x2c8caece
mov dword [ebp - 0x164], 0x5a60630e
mov dword [ebp - 0x160], 0x69e9b1fb
mov dword [ebp - 0x15c], 0xd6ec061f
mov dword [ebp - 0x158], 0x5438f339
mov dword [ebp - 0x154], 0x5ee7d8f8
mov dword [ebp - 0x150], 0xf5d01cf6
mov dword [ebp - 0x14c], 0xdccda028
mov dword [ebp - 0x148], 0xfb683272
mov dword [ebp - 0x144], 0x62f0dc28
mov dword [ebp - 0x140], 0x637432bf
mov dword [ebp - 0x13c], 0x920c2abe
mov dword [ebp - 0x138], 0x9d06d9d9
mov dword [ebp - 0x134], 0xc50022ad
mov dword [ebp - 0x130], 0x5396eaad
mov dword [ebp - 0x12c], 0xe7d1fbbf
mov dword [ebp - 0x128], 0xe5339559
mov dword [ebp - 0x124], 0x182271a9
mov dword [ebp - 0x120], 0xcd872d80
mov dword [ebp - 0x11c], 0x5f5364f1
mov dword [ebp - 0x118], 0x7aced179
mov word [ebp - 0x114], 0x957f
mov dword [ebp - 0x111], 0x90eb838e
mov dword [ebp - 0x10d], 0xd52cd329
mov dword [ebp - 0x109], 0x1e076778
mov dword [ebp - 0x105], 0x7d553e3f
mov dword [ebp - 0x101], 0x7b357a52
mov dword [ebp - 0xfd], 0x34d4f82f
mov dword [ebp - 0xf9], 0xc321c71d
mov dword [ebp - 0xf5], 0xf87f2eb1
mov dword [ebp - 0xf1], 0x365edf19
mov dword [ebp - 0xed], 0x191acfdf
mov dword [ebp - 0xe9], 0x55c616b8
mov dword [ebp - 0xe5], 0x72b216d6
mov dword [ebp - 0xe1], 0x5827f1d9
mov dword [ebp - 0xdd], 0xab04fc08
mov dword [ebp - 0xd9], 0x6ebf767e
mov dword [ebp - 0xd5], 0x37a2f4c6
mov dword [ebp - 0xd1], 0x60655b34
mov dword [ebp - 0xcd], 0xd8e3f9c1
mov dword [ebp - 0xc9], 0xedd03dbc
mov dword [ebp - 0xc5], 0xec19dd76
mov dword [ebp - 0xc1], 0x4d90f27c
mov dword [ebp - 0xbd], 0x62ec4626
mov dword [ebp - 0xb9], 0xc944be1
mov dword [ebp - 0xb5], 0xdcebc57c
mov dword [ebp - 0xb1], 0x918be69d
mov dword [ebp - 0xad], 0xb9df7d02
mov dword [ebp - 0xa9], 0x9d740d74
mov dword [ebp - 0xa5], 0xbbb4ea8f
mov dword [ebp - 0xa1], 0x1c69baa0
mov dword [ebp - 0x9d], 0xa384da14
mov dword [ebp - 0x99], 0xec5f6f81
mov dword [ebp - 0x95], 0x61e93fc9
mov dword [ebp - 0x91], 0x3e988a88
mov dword [ebp - 0x8d], 0x6eab11b0
mov dword [ebp - 0x89], 0x673c7edc
mov dword [ebp - 0x85], 0x6f18e239
mov dword [ebp - 0x81], 0x4a69b532
mov dword [ebp - 0x7d], 0xaf035526
mov dword [ebp - 0x79], 0x3aad95b7
mov dword [ebp - 0x75], 0x9ea12911
mov dword [ebp - 0x71], 0x3f0cd88f
mov dword [ebp - 0x6d], 0x87211dfa
mov dword [ebp - 0x69], 0xe209070f
mov dword [ebp - 0x65], 0x7e4093e3
mov dword [ebp - 0x61], 0xc7c70024
mov dword [ebp - 0x5d], 0x8d99e3d4
mov dword [ebp - 0x59], 0x6bc4a0fd
mov byte [ebp - 0x55], 0xf0
mov byte [ebp - 0x54], al
mov dword [ebp - 0x53], 0xb480f2bd
mov esi, str.operation_canceled
mov ecx, dword [0xc78550]
lea edi, [ebp - 0x190]
mov dword [ebp - 0x4f], 0x6995aa79
mov dword [ebp - 0x4b], 0x3cd0e396
mov eax, edx
mov dword [ebp - 0x47], 0xd74ba863
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x43], 0xf74670d0
mov dword [ebp - 0x3f], 0xb44e74ef
mov dword [ebp - 0x3b], 0x458a7dbe
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x37], 0xe4d737bb
mov dword [ebp - 0x33], 0x67608b9a
mov dword [ebp - 0x2f], 0xdc40b905
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x2b], 0x8f39c0cf
mov dword [ebp - 0x27], 0x8fe2b7a6
mov dword [ebp - 0x23], 0xc29a0fd5
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1f], 0xcc7eddc7
mov word [ebp - 0x1b], 0x54ec
mov byte [ebp - 0x19], 0xa8
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0x595b5086
mov byte [ebp + eax - 0x298], al
inc eax
cmp eax, 0x100
jb 0xc4ead0
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x298]
push 0x12
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x190]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x298]
mov byte [ebp + esi - 0x298], al
inc esi
mov byte [ebp + edi - 0x298], bl
cmp esi, 0x100
jb 0xc4eae7
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x298]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x298]
mov byte [ebp + edi - 0x298], al
mov byte [ebp + ebx - 0x298], cl
movzx eax, byte [ebp + edi - 0x298]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x298]
xor al, byte [ebp + esi - 0x170]
mov byte [ebp + esi - 0x4b0], al
inc esi
cmp esi, 0x158
jb 0xc4eb2d
mov esi, 0xc6f308
mov byte [ebp - 0x358], 0
lea edi, [ebp - 0x188]
mov dword [ebp - 0x18], 0x56ba8ec0
mov dword [ebp - 0x14], 0x756d62a5
mov dword [ebp - 0x10], 0x3da814dc
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc], 0x63b87651
mov dword [ebp - 8], 0x6046ef28
mov dword [ebp - 4], 0x19d86570
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x298], al
inc eax
cmp eax, 0x100
jb 0xc4ebc8
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x298]
push 0xa
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x188]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x298]
mov byte [ebp + esi - 0x298], al
inc esi
mov byte [ebp + edi - 0x298], bl
cmp esi, 0x100
jb 0xc4ebd9
mov eax, dword [0xc78548]
xor ebx, ebx
xor edi, edi
xor esi, esi
xor eax, 0xfec5cf7d
mov dword [0xc78550], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x298]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x298]
mov byte [ebp + edi - 0x298], al
mov byte [ebp + ebx - 0x298], cl
movzx eax, byte [ebp + edi - 0x298]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x298]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x2ec], al
inc esi
cmp esi, 0x18
jb 0xc4ec2e
push 6
pop ecx
mov esi, str.SrchCollatorCatalogInfo
mov byte [ebp - 0x2d4], 0
lea edi, [ebp - 0x194]
mov dword [ebp - 0x18], 0xb72c3f6f
rep movsd dword es:[edi], dword [esi]
xor edi, edi
mov dword [ebp - 0x14], 0xb21499bd
mov dword [ebp - 0x10], 0x6e76a4a9
xor eax, eax
mov dword [ebp - 0xc], 0xa7b00de9
mov dword [ebp - 8], 0x8c2234af
mov dword [ebp - 4], 0x6ce21be8
mov byte [ebp + eax - 0x298], al
inc eax
cmp eax, 0x100
jb 0xc4ecc3
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x298]
push 0x17
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x194]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x298]
mov byte [ebp + esi - 0x298], al
inc esi
mov byte [ebp + edi - 0x298], bl
cmp esi, 0x100
jb 0xc4ecd4
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x298]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x298]
mov byte [ebp + edi - 0x298], al
mov byte [ebp + ebx - 0x298], cl
movzx eax, byte [ebp + edi - 0x298]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x298]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x308], al
inc esi
cmp esi, 0x18
jb 0xc4ed1a
and dword [ebp - 0x174], 0
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 0x2f0], 0
call fcn.00c4d02f
lea ecx, [ebp - 0x4b0]
mov ebx, eax
call fcn.00c4d02f
lea ecx, [ebp - 0x2ec]
mov edi, eax
call fcn.00c4d02f
mov esi, eax
lea edx, [ebp - 0x308]
push esi
push edi
push ebx
push dword [ebp + 0x10]
push 2
pop ecx
call fcn.00c4ba1b
call eax
mov ecx, ebx
call fcn.00c4d309
push eax
push 0
push ebx
call fcn.00c4cf49
add esp, 0x1c
mov ecx, edi
call fcn.00c4d309
push eax
push 0
push edi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4d309
push eax
push 0
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, ebx
call fcn.00c4ba07
mov ecx, edi
call fcn.00c4ba07
mov ecx, esi
call fcn.00c4ba07
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
call fcn.00c4d3a6
cmp dword [ebp + 0x14], 0
je 0xc4ef7d
push 5
pop ecx
mov esi, 0xc6f33c
mov dword [ebp - 0x18], 0x85a49b94
lea edi, [ebp - 0x194]
mov dword [ebp - 0x14], 0xd53e6302
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x4c5baf59
mov dword [ebp - 0xc], 0xcec8e9c
mov dword [ebp - 8], 0xbb94dfa3
movsw word es:[edi], word [esi]
xor edi, edi
mov dword [ebp - 4], 0x8c5d58c0
xor eax, eax
mov byte [ebp + eax - 0x298], al
inc eax
cmp eax, 0x100
jb 0xc4ee58
xor esi, esi
push 0x15
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x298]
mov eax, esi
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x194]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x298]
mov byte [ebp + esi - 0x298], al
call fcn.00c4e38a
inc esi
mov byte [ebp + edi - 0x298], bl
cmp esi, 0x100
jb 0xc4ee69
mov ecx, dword [0xc78548]
xor edi, edi
xor edx, edx
xor esi, esi
lea eax, [edx + 1]
mov ebx, 0xc72ccc
movzx edx, al
mov al, byte [ebp + edx - 0x298]
mov byte [ebp + 0x17], al
movzx eax, al
mov dword [ebp - 0x180], eax
add eax, edi
movzx edi, al
push ecx
push ecx
call fcn.00c4e4ec
add esp, 8
xor ecx, 0x703ea818
inc ebx
cmp byte [ebx], 0
jne 0xc4eedd
mov al, byte [ebp + edi - 0x298]
add ecx, 0xb8fa901b
mov byte [ebp + edx - 0x298], al
mov al, byte [ebp + 0x17]
mov byte [ebp + edi - 0x298], al
movzx eax, byte [ebp + edx - 0x298]
add eax, dword [ebp - 0x180]
movzx eax, al
mov al, byte [ebp + eax - 0x298]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x2b4], al
inc esi
cmp esi, 0x18
jb 0xc4eeba
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x174]
push esi
push eax
push dword [ebp + 0x10]
mov dword [0xc78548], ecx
lea edx, [ebp - 0x2b4]
push dword [ebp - 0x178]
or ecx, 0x7d231f17
mov byte [ebp - 0x29c], 0
mov dword [0xc78550], ecx
mov ecx, dword [ebp - 0x17c]
call fcn.00c53561
jmp 0xc4f0a4
push 0x12
pop eax
push 0x10
pop ecx
mov esi, 0xc72ab0
add dword [0xc78550], 0xde56b5d
lea edi, [ebp - 0x350]
mov byte [ebp - 2], al
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0x8fd6538e
mov dword [ebp - 0x14], 0x960be1a9
mov dword [ebp - 0x10], 0x63e5d064
movsw word es:[edi], word [esi]
mov dword [ebp - 0xc], 0x39720f7e
mov dword [ebp - 8], 0x46e9fd2
mov word [ebp - 4], 0xd5e8
movsb byte es:[edi], byte [esi]
xor edi, edi
mov byte [ebp - 1], 0xa9
xor eax, eax
mov byte [ebp + eax - 0x298], al
inc eax
cmp eax, 0x100
jb 0xc4efd1
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x298]
push 0x42
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x350]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x298]
mov byte [ebp + esi - 0x298], al
inc esi
mov byte [ebp + edi - 0x298], bl
cmp esi, 0x100
jb 0xc4efe2
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x298]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x298]
mov byte [ebp + edi - 0x298], al
mov byte [ebp + ebx - 0x298], cl
movzx eax, byte [ebp + edi - 0x298]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x298]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x2b4], al
inc esi
cmp esi, 0x18
jb 0xc4f028
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x174]
mov ecx, dword [ebp - 0x17c]
lea edx, [ebp - 0x2b4]
push esi
push eax
push dword [ebp + 0x10]
mov byte [ebp - 0x29c], 0
push dword [ebp - 0x178]
call fcn.00c50f3e
mov edi, eax
add esp, 0x10
test edi, edi
jne 0xc4f0c3
mov edx, dword [ebp - 0x174]
cmp edx, 0x28
jbe 0xc4f0c3
test esi, esi
je 0xc4f0c3
mov ecx, esi
call fcn.00c4a289
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret