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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x42c
push ebx
push esi
push edi
push 0x15
pop eax
push 0x21
mov byte [ebp - 0x28], al
lea edi, [ebp - 0x190]
pop eax
push 0xb
mov byte [ebp - 0x26], al
mov esi, 0xc76134
pop eax
mov dword [ebp - 0x158], ecx
push 7
pop ecx
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x1b], al
mov eax, ecx
mov dword [ebp - 0x154], edx
movsw word es:[edi], word [esi]
mov byte [ebp - 0x27], 0x4b
mov dword [ebp - 0x25], 0xc3b53e87
mov dword [ebp - 0x21], 0xa995ff82
movsb byte es:[edi], byte [esi]
mov word [ebp - 0x1d], 0x50f8
mov edi, ecx
mov dword [ebp - 0x1a], 0x3285201c
mov dword [ebp - 0x16], 0x91ebfbed
mov word [ebp - 0x12], 0x20ee
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0xc69358
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
push 0x1e
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 - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0xc69369
mov esi, dword [0xc78bc8]
mov eax, esi
and eax, 0xcf36b2a4
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 4], eax
mov ebx, eax
mov edi, eax
lea eax, [ebx + 1]
imul esi, esi, 0x531a9e53
movzx ebx, al
mov eax, dword [ebp - 4]
push 0x18
mov cl, byte [ebp + ebx - 0x290]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + ebx - 0x290], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x290], cl
movzx eax, byte [ebp + ebx - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + edi - 0x28]
mov byte [ebp + edi - 0x3ac], al
inc edi
pop eax
cmp edi, eax
jb 0xc693c2
mov dword [ebp - 4], esi
lea edi, [ebp - 0x24]
mov esi, 0xc7016c
mov dword [ebp - 0x98], 0xe1fe47e2
push 0x68
xor ecx, ecx
mov dword [ebp - 0x94], 0xebca7c45
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x6a], al
mov eax, ecx
mov byte [ebp - 0x394], cl
mov dword [ebp - 0x90], 0xec2ee6c
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x8c], 0x50ebfabb
mov dword [ebp - 0x88], 0xb119738a
mov dword [ebp - 0x84], 0x611350af
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x80], 0xf72fad8d
mov dword [ebp - 0x7c], 0x94340385
mov dword [ebp - 0x78], 0x616e8cf9
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x74], 0x33df55de
mov dword [ebp - 0x70], 0x9569fc93
mov word [ebp - 0x6c], 0xa7ba
movsw word es:[edi], word [esi]
mov dword [ebp - 0x69], 0x5940c5fa
mov edi, ecx
mov dword [ebp - 0x65], 0x54f5079c
mov dword [ebp - 0x61], 0x813696a9
mov dword [ebp - 0x5d], 0x1bfadeda
mov dword [ebp - 0x59], 0x5e7f8fc3
mov dword [ebp - 0x55], 0x2aca2ee6
mov dword [ebp - 0x51], 0xe3e18c08
mov dword [ebp - 0x4d], 0xcfc8e346
mov dword [ebp - 0x49], 0x33e2f2ae
mov dword [ebp - 0x45], 0xa0dba185
mov byte [ebp - 0x41], 2
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0xc694f4
push 0x11
mov esi, ecx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
mov eax, esi
div ecx
movzx ecx, bl
push 0x11
movzx eax, byte [ebp + edx - 0x24]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0xc69508
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0x98]
mov byte [ebp + esi - 0x428], al
inc esi
cmp esi, 0x58
jb 0xc6954d
push 5
pop ecx
mov esi, 0xc71f28
mov dword [ebp - 0x58], 0x7c691d1f
lea edi, [ebp - 0x28]
mov dword [ebp - 0x54], 0x87523148
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0x50], 0x888301b4
mov byte [ebp - 0x3d0], dl
mov eax, edx
mov dword [ebp - 0x4c], 0xa795de39
movsw word es:[edi], word [esi]
mov dword [ebp - 0x48], 0x609908d3
mov edi, edx
mov dword [ebp - 0x44], 0xe42d0ad1
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0xc695e5
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
push 0x15
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x28]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0xc695f6
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
push 0x18
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0x58]
mov byte [ebp + esi - 0x3c8], al
inc esi
pop eax
cmp esi, eax
jb 0xc6963b
push 0x68
mov byte [ebp - 0x136], al
lea edi, [ebp - 0x190]
pop eax
push 0x21
mov byte [ebp - 0x126], al
mov esi, str.SOFTWAREMicrosoftWindows_Search
pop eax
push 8
pop ecx
rep movsd dword es:[edi], dword [esi]
push 6
pop ecx
push 0x68
movsw word es:[edi], word [esi]
xor edx, edx
mov byte [ebp - 0xbe], al
lea edi, [ebp - 0x58]
mov esi, 0xc6feb0
mov byte [ebp - 0x3b0], dl
pop eax
rep movsd dword es:[edi], dword [esi]
mov ebx, edx
mov dword [ebp - 0x150], 0x5fdde4e9
mov dword [ebp - 0x14c], 0xebbfeef
mov dword [ebp - 0x148], 0x1deee69d
mov dword [ebp - 0x144], 0x8925dd8a
mov dword [ebp - 0x140], 0xc28e561c
mov dword [ebp - 0x13c], 0xfbb77dd
mov word [ebp - 0x138], 0x5724
mov dword [ebp - 0x135], 0x89f3d573
mov dword [ebp - 0x131], 0x7aec0cea
mov dword [ebp - 0x12d], 0xb679d7a4
mov word [ebp - 0x129], 0x466a
mov byte [ebp - 0x127], 0x4f
mov dword [ebp - 0x125], 0x5a5fefc0
mov dword [ebp - 0x121], 0x4be51204
mov dword [ebp - 0x11d], 0x2b4b8ac3
mov dword [ebp - 0x119], 0x78b8994f
mov dword [ebp - 0x115], 0xdf35a85f
mov dword [ebp - 0x111], 0x34f8e8a9
mov dword [ebp - 0x10d], 0x2c51d6c8
mov dword [ebp - 0x109], 0xd9f7996a
mov dword [ebp - 0x105], 0x50c6dcd1
mov dword [ebp - 0x101], 0x6d29b5fa
mov dword [ebp - 0xfd], 0x4953afe4
mov dword [ebp - 0xf9], 0x52f8da57
mov dword [ebp - 0xf5], 0x1dc8a255
mov dword [ebp - 0xf1], 0xdf301a94
mov dword [ebp - 0xed], 0xb394be50
mov dword [ebp - 0xe9], 0x873e931c
mov dword [ebp - 0xe5], 0x7183fb7a
mov dword [ebp - 0xe1], 0xc3b8bf8f
mov dword [ebp - 0xdd], 0x83a9611b
mov dword [ebp - 0xd9], 0xe311adbd
mov dword [ebp - 0xd5], 0x4d931cd9
mov dword [ebp - 0xd1], 0x9773a2fa
mov dword [ebp - 0xcd], 0xe2f7e25f
mov dword [ebp - 0xc9], 0xbdc023e6
mov dword [ebp - 0xc5], 0x2f795ead
mov word [ebp - 0xc1], 0x827e
mov byte [ebp - 0xbf], 0xfa
mov dword [ebp - 0xbd], 0x674edf9a
mov dword [ebp - 0xb9], 0xe026b3ca
mov dword [ebp - 0xb5], 0xa77e0f3b
mov dword [ebp - 0xb1], 0xddda4e23
mov dword [ebp - 0xad], 0xa1eae529
mov dword [ebp - 0xa9], 0x4cdb6b26
mov byte [ebp - 0xa5], 0xe8
cmp ax, word [ebp - 0x58]
jne 0xc698f2
mov ecx, eax
mov eax, edx
test cx, cx
je 0xc698b9
cmp word [ebp + eax - 0x58], dx
je 0xc698b9
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + str.https]
cmp cx, word [ebp + eax - 0x58]
je 0xc6989b
mov edi, dword [ebp - 0x9c]
cmp edi, ebx
jae 0xc698f2
mov eax, dword [ebp - 8]
lea esi, [eax + 0x2aeb3f86]
mov dword [ebp - 4], esi
cmp edi, 0x26aa
jne 0xc698e3
mov edx, eax
mov ecx, str.https
call fcn.00c67de7
call fcn.00c6710f
mov eax, dword [ebp - 8]
inc edi
cmp edi, ebx
jb 0xc698cf
xor edx, edx
mov edi, edx
mov eax, edx
mov byte [ebp + eax - 0x390], al
inc eax
cmp eax, 0x100
jb 0xc698f6
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x390]
push 0x21
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 - 0x390]
mov byte [ebp + esi - 0x390], al
inc esi
mov byte [ebp + edi - 0x390], bl
cmp esi, 0x100
jb 0xc69907
xor eax, eax
sub dword [ebp - 4], 0x63e81a30
mov edi, eax
mov esi, eax
mov ebx, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x390]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x390]
mov byte [ebp + edi - 0x390], al
mov byte [ebp + ebx - 0x390], cl
movzx eax, byte [ebp + edi - 0x390]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x390]
xor al, byte [ebp + esi - 0x150]
mov byte [ebp + esi - 0x240], al
inc esi
cmp esi, 0xac
jb 0xc69956
mov ebx, dword [ebp - 4]
lea edi, [ebp - 0x1c]
mov esi, 0xc7254c
mov dword [ebp - 0x58], 0xcf7636c2
xor ecx, ecx
mov dword [ebp - 0x54], 0x9afe952a
mov byte [ebp - 0x194], cl
mov eax, ecx
mov dword [ebp - 0x50], 0x9797500
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x4c], 0x7f1a8a34
mov dword [ebp - 0x48], 0xb0f769ae
mov dword [ebp - 0x44], 0x228a35ea
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ecx
mov byte [ebp + eax - 0x390], al
inc eax
cmp eax, 0x100
jb 0xc699f0
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x390]
mov eax, esi
mov byte [ebp - 9], cl
div dword [ebp - 0x10]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x1c]
add eax, edi
add ecx, eax
movzx edi, cl
call fcn.00c67f6c
xor ecx, ecx
mov eax, ecx
or ebx, 0xe94fccc4
inc eax
cmp byte [eax + str.SrchPHMatrix], cl
jne 0xc69a2a
cmp eax, 0x1c56
jbe 0xc69a4b
mov ebx, dword [ebp - 8]
add ebx, 0xbf94da2c
jmp 0xc69a61
mov eax, str.https
mov edx, eax
mov ecx, eax
call fcn.00c66dcd
xor ebx, 0x160b5777
xor ecx, ecx
mov al, byte [ebp + edi - 0x390]
mov byte [ebp + esi - 0x390], al
inc esi
mov al, byte [ebp - 9]
mov byte [ebp + edi - 0x390], al
cmp esi, 0x100
jb 0xc69a01
mov dword [ebp - 4], ecx
mov edi, ecx
mov esi, ecx
lea eax, [edi + 1]
or ebx, 0xf107dec7
movzx edi, al
mov eax, dword [ebp - 4]
push 0x18
mov cl, byte [ebp + edi - 0x390]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x390]
mov byte [ebp + edi - 0x390], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x390], cl
mov eax, dword [ebp - 8]
and eax, 0x26ae055b
mov dword [ebp - 8], eax
mov dword [0xc78c80], eax
movzx eax, byte [ebp + edi - 0x390]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x390]
xor al, byte [ebp + esi - 0x58]
mov byte [ebp + esi - 0x188], al
inc esi
pop eax
cmp esi, eax
jb 0xc69a8d
mov esi, 0xc6f060
mov dword [0xc78bc8], ebx
lea edi, [ebp - 0x24]
xor edx, edx
push 0x68
pop eax
movsd dword es:[edi], dword [esi]
mov ebx, edx
mov byte [ebp - 0x170], dl
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp ax, word [ebp - 0x24]
jne 0xc69b46
mov ecx, eax
mov eax, edx
test cx, cx
je 0xc69b46
cmp word [ebp + eax - 0x24], dx
je 0xc69b46
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + str.https]
cmp cx, word [ebp + eax - 0x24]
je 0xc69b28
call fcn.00c6710f
mov esi, dword [ebp - 0x9c]
cmp esi, ebx
jae 0xc69b79
mov eax, dword [ebp - 8]
add eax, 0x26ded80f
mov dword [0xc78bc8], eax
cmp esi, 0xa80
jne 0xc69b6f
call fcn.00c67611
call fcn.00c6710f
inc esi
cmp esi, ebx
jb 0xc69b62
lea ecx, [ebp - 0x3ac]
call fcn.00c4d02f
mov ebx, eax
xor ecx, ecx
mov edx, ebx
call fcn.00c4d470
mov edx, ebx
mov dword [ebp - 0x15c], eax
xor ecx, ecx
call fcn.00c4d470
mov edx, ebx
mov dword [ebp - 0x164], eax
xor ecx, ecx
call fcn.00c4d470
or dword [0xc78c80], 0xfb899d0
mov edx, ebx
xor ecx, ecx
mov edi, eax
call fcn.00c4d470
mov edx, ebx
mov dword [ebp - 0x160], eax
xor ecx, ecx
call fcn.00c4d470
mov edx, ebx
xor ecx, ecx
mov esi, eax
call fcn.00c4d470
mov ecx, ebx
mov dword [ebp - 8], eax
call fcn.00c4d309
push eax
push 0
push ebx
call fcn.00c4cf49
add esp, 0xc
mov ecx, ebx
call fcn.00c4ba07
mov ebx, dword [0xc78bc8]
mov ecx, edi
imul eax, ebx, 0x78df8651
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x10], eax
mov dword [0xc78c80], eax
call fcn.00c4d5c1
mov ecx, esi
mov dword [ebp - 0x16c], eax
call fcn.00c4d5c1
and dword [ebp - 4], 0
lea edi, [ebp - 0x80]
push 0x10
pop ecx
mov esi, str.EventThrottleMaxControlPeriodMs
mov dword [ebp - 0x168], eax
rep movsd dword es:[edi], dword [esi]
push 0x77
pop ecx
cmp cx, word [ebp - 0x80]
jne 0xc69c73
xor ebx, ebx
mov eax, ebx
test cx, cx
je 0xc69c70
cmp word [ebp + eax - 0x80], bx
je 0xc69c70
call fcn.00c67611
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
add eax, eax
movzx ecx, word [eax + str.wilActivity]
cmp cx, word [ebp + eax - 0x80]
je 0xc69c48
mov ebx, dword [ebp - 0x40]
mov ecx, ebx
call fcn.00c670ac
mov edi, dword [ebp - 0x9c]
cmp edi, dword [ebp - 4]
jae 0xc69cc8
mov esi, dword [ebp - 0x10]
call fcn.00c671ed
cmp edi, 0x15c4
jne 0xc69ca8
mov esi, ebx
and esi, 0xe627150a
mov dword [0xc78c80], esi
call fcn.00c67500
mov ebx, esi
mov edx, esi
mov ecx, str.wilActivity
or ebx, 0x401d116e
call fcn.00c67de7
inc edi
cmp edi, dword [ebp - 4]
jb 0xc69c88
mov dword [0xc78bc8], ebx
mov ecx, dword [ebp - 8]
call fcn.00c4d5c1
mov esi, 0x208
mov dword [ebp - 0x9c], eax
mov ecx, esi
call fcn.00c4b9d3
mov ecx, esi
mov dword [ebp - 8], eax
call fcn.00c4b9d3
mov ebx, eax
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00c4b9d3
mov edi, eax
mov ecx, 0x800
mov dword [ebp - 0x10], edi
call fcn.00c4b9d3
mov esi, eax
mov dword [ebp - 0x40], esi
test edi, edi
je 0xc6a060
test ebx, ebx
mov ebx, dword [ebp - 8]
je 0xc6a063
test ebx, ebx
je 0xc6a063
test esi, esi
je 0xc6a063
mov edx, dword [ebp - 0x15c]
mov ecx, edx
sub dword [0xc78bc8], 0x11680b65
call fcn.00c4d309
mov ecx, dword [ebp - 4]
push eax
call fcn.00c4d13f
mov edx, dword [ebp - 0x160]
pop ecx
mov ecx, edx
call fcn.00c4d309
push eax
mov ecx, ebx
call fcn.00c4d13f
pop ecx
lea ecx, [ebp - 0x428]
call fcn.00c4d02f
push dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lea edx, [ebp - 0x3c8]
push dword [ebp - 0x164]
mov esi, eax
push dword [ebp - 0x154]
push esi
push edi
push 2
pop ecx
call fcn.00c4ba1b
call eax
add esp, 0x14
call fcn.00c67500
mov ecx, esi
call fcn.00c4d309
push eax
xor ebx, ebx
push ebx
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
mov ecx, edi
call fcn.00c4d309
mov edx, dword [ebp + 0x14]
push eax
call fcn.00c4a061
pop ecx
mov ecx, dword [ebp - 0x158]
lea edx, [ebp - 0x240]
push 1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
call fcn.00c4e687
push 0x100000
push ebx
push dword [ebp + 0xc]
mov edi, eax
call fcn.00c4cf49
add esp, 0x1c
test edi, edi
jne 0xc69f7d
push 0x68
pop eax
push 6
pop ecx
mov esi, 0xc72a90
mov byte [ebp - 0x33], al
lea edi, [ebp - 0x5c]
mov dword [ebp - 0x3c], 0x22069b39
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x38], 0x87e3dc8
mov eax, ebx
mov byte [ebp - 0x34], 0xd6
mov dword [ebp - 0x32], 0x577e7dad
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x2e], 0xbfaac534
mov edi, ebx
mov dword [ebp - 0x2a], 0xba4d972b
mov dword [ebp - 0x26], 0x644cba07
mov dword [ebp - 0x22], 0x934a59f8
mov dword [ebp - 0x1e], 0x41249857
mov dword [ebp - 0x1a], 0x2c27ddee
mov dword [ebp - 0x16], 0xc134b456
mov word [ebp - 0x12], 0x133a
mov byte [ebp + eax - 0x390], al
inc eax
cmp eax, 0x100
jb 0xc69e68
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x390]
push 0x18
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x5c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x390]
mov byte [ebp + esi - 0x390], al
inc esi
mov byte [ebp + edi - 0x390], bl
cmp esi, 0x100
jb 0xc69e79
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x390]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x390]
mov byte [ebp + edi - 0x390], al
mov byte [ebp + ebx - 0x390], cl
movzx eax, byte [ebp + edi - 0x390]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x390]
xor al, byte [ebp + esi - 0x3c]
mov byte [ebp + esi - 0x70], al
inc esi
cmp esi, 0x2c
jb 0xc69ebe
mov esi, dword [ebp - 0x10]
lea edx, [ebp - 0x70]
push 0x400
push esi
push dword [ebp - 4]
xor ecx, ecx
xor ebx, ebx
inc ecx
mov byte [ebp - 0x44], bl
call fcn.00c4ba1b
call eax
mov eax, dword [ebp - 0x168]
cmp eax, 1
jne 0xc69f4b
push dword [ebp - 8]
mov edx, dword [ebp + 0x10]
mov ecx, esi
push dword [ebp - 0x16c]
call fcn.00c61a52
pop ecx
pop ecx
jmp 0xc69f6a
cmp eax, 2
jne 0xc69f60
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp + 0x10]
call fcn.00c627f3
jmp 0xc69f6a
cmp eax, 3
jne 0xc69f6e
call fcn.00c628cc
mov edi, eax
jmp 0xc69f80
xor dword [0xc78bc8], 0x8f49684
push 0x10
pop edi
jmp 0xc69f80
mov esi, dword [ebp - 0x10]
push 0x208
push ebx
push dword [ebp - 8]
call fcn.00c4cf49
add esp, 0xc
push 0x208
push ebx
push dword [ebp - 4]
call fcn.00c4cf49
add esp, 0xc
push 0x208
push ebx
push esi
call fcn.00c4cf49
add esp, 0xc
push 0x100000
push ebx
push dword [ebp + 0x10]
call fcn.00c4cf49
add esp, 0xc
lea ecx, [ebp - 0x188]
call fcn.00c4d02f
mov esi, eax
mov ecx, esi
call fcn.00c4d309
push eax
push esi
push dword [ebp - 0x40]
call fcn.00c4cef6
add esp, 0xc
mov ecx, esi
call fcn.00c4d309
push eax
push ebx
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
mov esi, dword [ebp - 0x40]
mov ecx, esi
call fcn.00c4d309
mov edx, dword [ebp + 0x14]
push eax
call fcn.00c4a061
mov edx, dword [ebp - 0x154]
pop ecx
push dword [ebp + 0x14]
mov ecx, dword [ebp - 0x158]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
push esi
push dword [ebp + 8]
call fcn.00c4faec
mov edi, 0x100000
push edi
push ebx
push dword [ebp + 0xc]
call fcn.00c4cf49
add esp, 0x24
push edi
push ebx
push dword [ebp + 0x14]
call fcn.00c4cf49
add esp, 0xc
push 0x800
push ebx
push esi
call fcn.00c4cf49
mov edi, dword [ebp - 0x10]
add esp, 0xc
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00c4ba07
mov ecx, dword [ebp - 4]
call fcn.00c4ba07
mov ecx, edi
call fcn.00c4ba07
mov ecx, esi
call fcn.00c4ba07
pop edi
pop esi
pop ebx
leave
ret