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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x290
push ebx
push esi
push edi
push 0x3b
pop eax
push 0xb
mov byte [ebp - 0x41], al
lea edi, [ebp - 0x1b0]
pop eax
mov byte [ebp - 0x3a], al
mov esi, 0xc701b0
push 0xf
mov dword [ebp - 0x50], ecx
pop eax
mov ecx, eax
mov dword [ebp - 0x58], edx
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0x4c], 0x51cb18ae
mov dword [ebp - 0x48], 0x29239492
mov edi, ecx
mov word [ebp - 0x44], 0x902a
mov eax, ecx
mov byte [ebp - 0x42], 0x51
mov dword [ebp - 0x40], 0xb53355b5
mov word [ebp - 0x3c], 0xd15c
mov dword [ebp - 0x39], 0x87156252
mov byte [ebp - 0x35], 0x8b
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0xc6d57c
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x174]
push 0x3b
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x1b0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + edi - 0x174], bl
cmp esi, 0x100
jb 0xc6d58d
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x174]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x174]
mov byte [ebp + edi - 0x174], al
mov byte [ebp + ebx - 0x174], cl
movzx eax, byte [ebp + edi - 0x174]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + esi - 0x4c]
mov byte [ebp + esi - 0x1cc], al
inc esi
cmp esi, 0x18
jb 0xc6d5d5
xor eax, eax
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 0x1b4], al
call fcn.00c4d02f
mov ebx, eax
xor ecx, ecx
mov edx, ebx
mov dword [ebp - 0x60], ebx
call fcn.00c4d470
mov dword [ebp - 0x24], eax
test eax, eax
je 0xc6e36b
mov esi, 0xc71654
mov dword [ebp - 0x1c], 0x1abaca32
lea edi, [ebp - 0x44]
mov dword [ebp - 0x18], 0x7cc37aaa
push 0xd
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0xf], al
mov byte [ebp - 0xe], al
mov eax, dword [0xc78b94]
movsd dword es:[edi], dword [esi]
or eax, 0x55d30784
xor ebx, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0x8a4cf826
mov eax, ebx
mov byte [ebp - 0x10], 0x9d
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xd], 0x17d97569
mov dword [ebp - 9], 0x7d28e1aa
mov byte [ebp - 5], 0xa3
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0xc6d6a5
mov esi, ebx
mov dl, byte [ebp + esi - 0x174]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + edi - 0x174], dl
cmp esi, 0x100
jb 0xc6d6b6
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
call fcn.00c67500
mov ecx, dword [ebp - 0x20]
lea eax, [esi + 1]
movzx esi, al
or ecx, 0x404b19b4
add ecx, 0xac30bba1
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x20], ecx
mov cl, byte [ebp + esi - 0x174]
movzx edx, cl
lea eax, [edx + edi]
movzx edi, al
mov dword [ebp - 0x28], edi
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
mov byte [ebp + edi - 0x174], cl
movzx eax, byte [ebp + esi - 0x174]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x174]
mov byte [ebp - 0x29], al
call fcn.00c66b7a
push 0xc
pop ecx
mov esi, 0xc72d40
lea edi, [ebp - 0x1a4]
rep movsd dword es:[edi], dword [esi]
push 0x63
xor edx, edx
pop ecx
mov eax, edx
cmp cx, word [ebp - 0x1a4]
jne 0xc6d7de
xor ebx, ebx
mov edx, ecx
mov ecx, ebx
test dx, dx
je 0xc6d7a4
cmp word [ebp + ecx - 0x1a4], bx
je 0xc6d7a4
inc eax
lea ecx, [eax + eax]
movzx edx, word [ecx + 0xc763f0]
cmp dx, word [ebp + ecx - 0x1a4]
je 0xc6d780
mov ecx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x30]
cmp ecx, eax
jae 0xc6d7dc
mov ebx, dword [ebp - 0x20]
mov esi, eax
mov edi, ebx
mov dword [ebp - 0x54], eax
xor edi, 0xa11ec11b
sub esi, ecx
call fcn.00c66c96
push str.HostProcessExecutionStop
push ebx
mov ecx, edi
call fcn.00c67779
pop ecx
pop ecx
sub esi, 1
jne 0xc6d7c0
mov ebx, dword [ebp - 0x30]
xor edx, edx
mov al, byte [ebp + ebx - 0x1c]
xor al, byte [ebp - 0x29]
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x28]
mov byte [ebp + ebx - 0x1e8], al
inc ebx
mov dword [ebp - 0x30], ebx
cmp ebx, 0x18
jb 0xc6d6f6
mov esi, 0xc76204
mov byte [ebp - 0x1d0], dl
lea edi, [ebp - 0x40]
mov word [ebp - 0x1c], 0x6c5e
push 0xf
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1a], al
mov eax, edx
mov dword [ebp - 0x19], 0xd7ba7af3
mov dword [ebp - 0x15], 0x3a3dec24
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x11], 0x21864726
mov dword [ebp - 0xd], 0x27598568
mov dword [ebp - 9], 0x120e043c
movsd dword es:[edi], dword [esi]
mov byte [ebp - 5], 0xb5
mov edi, edx
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0xc6d847
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x174]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x40]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + edi - 0x174], bl
cmp esi, 0x100
jb 0xc6d858
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x174]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x174]
mov byte [ebp + edi - 0x174], al
mov byte [ebp + ebx - 0x174], cl
movzx eax, byte [ebp + edi - 0x174]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x204], al
inc esi
cmp esi, 0x18
jb 0xc6d89d
mov esi, 0xc6f2ac
mov dword [ebp - 0x1c], 0x6a1af028
lea edi, [ebp - 0x44]
mov dword [ebp - 0x18], 0x7f15ab5e
push 0xc
xor ebx, ebx
mov dword [ebp - 0x14], 0x202ad738
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0xe], al
mov eax, ebx
mov byte [ebp - 0x1ec], bl
movsd dword es:[edi], dword [esi]
mov word [ebp - 0x10], 0x4ce6
mov dword [ebp - 0xd], 0xe09ade08
mov dword [ebp - 9], 0xb4d576f1
movsd dword es:[edi], dword [esi]
mov byte [ebp - 5], 0x78
mov dword [ebp - 0x28], ebx
movsw word es:[edi], word [esi]
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0xc6d93a
call fcn.00c67f6c
mov edi, ebx
mov ebx, dword [ebp - 0x20]
add ebx, 0xb8cb8b74
mov dword [ebp - 0x54], ebx
xor ebx, ebx
call fcn.00c67f6c
inc edi
cmp word [edi*2 + 0xc763f0], bx
jne 0xc6d95e
mov esi, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x54]
jmp 0xc6d99a
mov eax, str.HostProcessExecutionStop
mov edx, eax
mov ecx, eax
call fcn.00c66dcd
cmp esi, 0x1b6f
jne 0xc6d993
and dword [ebp - 0x20], 0x4f9265f1
xor ebx, 0x4e79a209
inc esi
cmp esi, edi
jb 0xc6d976
xor eax, eax
push 0xd
mov esi, eax
pop edi
xor edx, edx
mov bl, byte [ebp + esi - 0x174]
mov eax, esi
movzx ecx, bl
div edi
movzx eax, byte [ebp + edx - 0x44]
add eax, dword [ebp - 0x28]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x28], ecx
mov al, byte [ebp + ecx - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + ecx - 0x174], bl
cmp esi, 0x100
jb 0xc6d9a5
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x174]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x174]
mov byte [ebp + edi - 0x174], al
mov byte [ebp + ebx - 0x174], cl
movzx eax, byte [ebp + edi - 0x174]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x220], al
inc esi
cmp esi, 0x18
jb 0xc6d9eb
mov esi, 0xc71654
mov dword [ebp - 0x1c], 0x28e4f52e
lea edi, [ebp - 0x44]
mov dword [ebp - 0x18], 0x79f17c91
xor ebx, ebx
mov dword [ebp - 0x14], 0x847dcd03
mov byte [ebp - 0x208], bl
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x2d185f96
mov dword [ebp - 0xc], 0xb539d766
mov dword [ebp - 8], 0xa37d0ec6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0xc6da7e
mov eax, dword [ebp - 0x20]
mov esi, ebx
add eax, 0x1267b307
mov dword [ebp - 0x20], eax
mov dword [0xc78ca0], eax
mov dl, byte [ebp + esi - 0x174]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + edi - 0x174], dl
cmp esi, 0x100
jb 0xc6da9f
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x174]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x174]
mov byte [ebp + edi - 0x174], al
mov byte [ebp + ebx - 0x174], cl
movzx eax, byte [ebp + edi - 0x174]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x23c], al
inc esi
cmp esi, 0x18
jb 0xc6dade
mov esi, 0xc730a4
mov byte [ebp - 0x1c], 0xe6
lea edi, [ebp - 0x40]
mov dword [ebp - 0x1a], 0x66f6693d
push 0xd
xor ecx, ecx
mov dword [ebp - 0x16], 0x6343b92b
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x1b], al
mov eax, ecx
mov byte [ebp - 0x224], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x12], 0x684658c8
mov dword [ebp - 0xe], 0x72bc06c
mov dword [ebp - 0xa], 0x2fe6bfad
movsd dword es:[edi], dword [esi]
mov word [ebp - 6], 0x5af7
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0xc6db79
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x174]
push 0xc
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x40]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + edi - 0x174], bl
cmp esi, 0x100
jb 0xc6db8a
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x174]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x174]
mov byte [ebp + edi - 0x174], al
mov byte [ebp + ebx - 0x174], cl
movzx eax, byte [ebp + edi - 0x174]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x258], al
inc esi
cmp esi, 0x18
jb 0xc6dbcf
mov esi, 0xc7392c
mov dword [ebp - 0x1c], 0x7d7944da
lea edi, [ebp - 0x40]
mov dword [ebp - 0x18], 0xcecbc365
xor ecx, ecx
mov dword [ebp - 0x14], 0x8be3335c
or dword [ebp - 0x20], 0xe5a6773d
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x240], cl
mov dword [ebp - 0x10], 0x68dc5394
mov dword [ebp - 0xc], 0x77a52bde
movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], 0xabf094a2
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0xc6dc69
push 0xa
mov esi, ecx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x174]
mov eax, esi
div ecx
movzx ecx, bl
push 0xa
movzx eax, byte [ebp + edx - 0x40]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + edi - 0x174], bl
cmp esi, 0x100
jb 0xc6dc7d
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x174]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x174]
mov byte [ebp + edi - 0x174], al
mov byte [ebp + ebx - 0x174], cl
movzx eax, byte [ebp + edi - 0x174]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x274], al
inc esi
cmp esi, 0x18
jb 0xc6dcc2
mov esi, 0xc71654
mov dword [ebp - 0x1c], 0x25c6de6a
lea edi, [ebp - 0x44]
mov dword [ebp - 0x18], 0x70fe4191
xor ebx, ebx
mov dword [ebp - 0x14], 0x9c72fb29
mov byte [ebp - 0x25c], bl
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x29690485
mov dword [ebp - 0xc], 0x9b2d936f
mov dword [ebp - 8], 0xa37d1ede
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0xc6dd55
mov esi, ebx
mov dl, byte [ebp + esi - 0x174]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + edi - 0x174], dl
cmp esi, 0x100
jb 0xc6dd66
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x174]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x174]
mov byte [ebp + edi - 0x174], al
mov byte [ebp + ebx - 0x174], cl
movzx eax, byte [ebp + edi - 0x174]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x290], al
inc esi
cmp esi, 0x18
jb 0xc6dda5
mov esi, 0xc75828
mov dword [ebp - 0x1c], 0xf7b947e1
lea edi, [ebp - 0x44]
mov dword [ebp - 0x18], 0x648fde8e
xor ebx, ebx
mov dword [ebp - 0x14], 0x799a452e
add dword [ebp - 0x20], 0x6a090aca
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x278], bl
mov dword [ebp - 0x10], 0x4cd340d9
mov dword [ebp - 0xc], 0xdb633932
movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], 0xa3d9498a
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0xc6de3f
mov esi, ebx
mov dl, byte [ebp + esi - 0x174]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + edi - 0x174], dl
cmp esi, 0x100
jb 0xc6de50
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x174]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x174]
mov byte [ebp + edi - 0x174], al
mov byte [ebp + ebx - 0x174], cl
movzx eax, byte [ebp + edi - 0x174]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x190], al
inc esi
cmp esi, 0x18
jb 0xc6de8f
mov ebx, dword [ebp - 0x20]
lea edi, [ebp - 0x44]
mov esi, str.string_too_long
mov dword [ebp - 0x1c], 0xd02533de
xor eax, eax
mov dword [ebp - 0x18], 0x4e24ee2b
mov byte [ebp - 0x178], al
mov dword [ebp - 0x14], 0x1f70f51e
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x50b4c10a
mov dword [ebp - 0xc], 0x82b5fb77
mov dword [ebp - 8], 0xe2a66970
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
add ebx, 0x79098156
inc esi
cmp word [esi*2 + 0xc763f0], ax
jne 0xc6df22
mov dword [0xc78b94], ebx
call fcn.00c66b7a
cmp dword [ebp - 0x60], esi
jae 0xc6df5b
sub esi, dword [ebp - 0x60]
lea eax, [ebx + 0x27f82c22]
mov dword [0xc78ca0], eax
call fcn.00c67500
sub esi, 1
jne 0xc6df51
xor ecx, ecx
mov edi, ecx
mov eax, ecx
mov byte [ebp + eax - 0x174], al
inc eax
cmp eax, 0x100
jb 0xc6df61
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x174]
push 0xf
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x174]
mov byte [ebp + esi - 0x174], al
inc esi
mov byte [ebp + edi - 0x174], bl
cmp esi, 0x100
jb 0xc6df72
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x174]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x174]
mov byte [ebp + edi - 0x174], al
mov byte [ebp + ebx - 0x174], cl
movzx eax, byte [ebp + edi - 0x174]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x174]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x4c], al
inc esi
cmp esi, 0x18
jb 0xc6dfb7
mov edi, dword [ebp - 0x60]
xor ebx, ebx
mov edx, edi
mov byte [ebp - 0x34], bl
xor ecx, ecx
call fcn.00c4d470
mov esi, eax
test esi, esi
jne 0xc6e031
mov ecx, edi
call fcn.00c4d309
push eax
push ebx
push edi
call fcn.00c4cf49
mov ecx, edi
jmp 0xc6e37e
mov ecx, 0x208
call fcn.00c4b9d3
mov edi, eax
mov ecx, esi
mov dword [ebp - 0x6c], edi
call fcn.00c4d309
push eax
push esi
push edi
call fcn.00c4cef6
add esp, 0xc
lea ecx, [ebp - 0x1e8]
call fcn.00c4d02f
lea ecx, [ebp - 0x204]
mov dword [ebp - 0x30], eax
call fcn.00c4d02f
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x5c], eax
call fcn.00c4d02f
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x54], eax
call fcn.00c4d02f
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x20], eax
call fcn.00c4d02f
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x64], eax
call fcn.00c4d02f
mov dword [ebp - 0x28], eax
call fcn.00c6710f
mov esi, dword [0xc78b94]
mov edi, dword [0xc78ca0]
mov edx, esi
mov ecx, str.HostProcessExecutionStop
call fcn.00c67de7
add edi, 0x30b72bdb
xor eax, eax
inc ebx
cmp word [ebx*2 + str.HostProcessExecutionStop], ax
jne 0xc6e0b7
mov dword [0xc78ca0], edi
cmp ebx, 0xb4a
jne 0xc6e0ec
xor esi, 0x224b51da
jmp 0xc6e0f2
xor esi, 0xa032f50
lea ecx, [ebp - 0x290]
mov dword [0xc78b94], esi
call fcn.00c4d02f
lea ecx, [ebp - 0x190]
mov esi, eax
call fcn.00c4d02f
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x70], eax
call fcn.00c4d02f
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x68], eax
call fcn.00c4d364
mov edi, dword [ebp - 0x6c]
test eax, eax
jne 0xc6e150
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x58]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x50]
push dword [ebp + 0xc]
push edi
call fcn.00c6a085
mov ebx, dword [ebp - 0x5c]
add esp, 0x10
jmp 0xc6e26f
mov ebx, dword [ebp - 0x5c]
mov edx, ebx
mov ecx, dword [ebp - 0x24]
call fcn.00c4d364
test eax, eax
jne 0xc6e16b
call fcn.00c6bb75
jmp 0xc6e26f
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
call fcn.00c4d364
test eax, eax
jne 0xc6e191
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x58]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x50]
push dword [ebp + 0xc]
push edi
call fcn.00c692e6
jmp 0xc6e1db
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
call fcn.00c4d364
test eax, eax
je 0xc6e254
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x24]
call fcn.00c4d364
test eax, eax
je 0xc6e254
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
call fcn.00c4d364
test eax, eax
jne 0xc6e1e3
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x58]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x50]
push dword [ebp + 0xc]
push edi
call fcn.00c6a838
add esp, 0x10
jmp 0xc6e26f
mov ecx, dword [ebp - 0x24]
mov edx, esi
call fcn.00c4d364
test eax, eax
jne 0xc6e215
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x58]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x50]
push dword [ebp + 0xc]
and dword [0xc78b94], 0x10099dd
push dword [ebp + 8]
push edi
call fcn.00c6b6ab
jmp 0xc6e26c
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x24]
call fcn.00c4d364
test eax, eax
jne 0xc6e235
push dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
call fcn.00c6bc74
pop ecx
jmp 0xc6e26f
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x24]
call fcn.00c4d364
test eax, eax
jne 0xc6e26f
push dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x50]
call fcn.00c6bf4e
jmp 0xc6e232
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x58]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x50]
push dword [ebp + 0xc]
push dword [ebp - 0x24]
push edi
call fcn.00c68168
add esp, 0x14
push 0x208
xor eax, eax
push eax
push edi
call fcn.00c4cf49
add esp, 0xc
mov ecx, edi
call fcn.00c4ba07
mov ecx, dword [ebp - 0x30]
call fcn.00c4d309
push eax
xor eax, eax
push eax
push ecx
call fcn.00c4cf49
add esp, 0xc
mov ecx, ebx
call fcn.00c4d309
push eax
xor eax, eax
push eax
push ebx
call fcn.00c4cf49
mov edi, dword [ebp - 0x54]
add esp, 0xc
mov ecx, edi
call fcn.00c4d309
push eax
xor eax, eax
push eax
push edi
call fcn.00c4cf49
mov eax, dword [0xc78ca0]
add esp, 0xc
mov ecx, dword [ebp - 0x20]
or eax, 0xa6199595
mov dword [0xc78b94], eax
call fcn.00c4d309
push eax
xor eax, eax
push eax
push ecx
call fcn.00c4cf49
mov ecx, dword [ebp - 0x64]
add esp, 0xc
call fcn.00c4d309
push eax
xor eax, eax
push eax
push ecx
call fcn.00c4cf49
add dword [0xc78b94], 0x27550f2a
add esp, 0xc
mov ecx, dword [ebp - 0x28]
call fcn.00c4d309
push eax
xor eax, eax
push eax
push ecx
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4d309
push eax
xor eax, eax
push eax
push esi
call fcn.00c4cf49
mov ecx, dword [ebp - 0x30]
add esp, 0xc
call fcn.00c4ba07
mov ecx, ebx
call fcn.00c4ba07
mov ecx, edi
call fcn.00c4ba07
mov ecx, dword [ebp - 0x20]
call fcn.00c4ba07
mov ecx, dword [ebp - 0x64]
call fcn.00c4ba07
mov ecx, dword [ebp - 0x28]
call fcn.00c4ba07
mov ecx, esi
call fcn.00c4ba07
mov ebx, dword [ebp - 0x60]
mov ecx, ebx
call fcn.00c4d309
push eax
xor eax, eax
push eax
push ebx
call fcn.00c4cf49
mov ecx, ebx
add esp, 0xc
call fcn.00c4ba07
pop edi
pop esi
pop ebx
leave
ret