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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdc4
push ebx
push esi
push edi
mov esi, 0xc6f258
mov dword [ebp - 0x80], ecx
lea edi, [ebp - 0x94]
mov dword [ebp - 0x5c], 0xa9c2f4d8
xor ebx, ebx
mov dword [ebp - 0x58], 0xc7bd0da5
mov dword [ebp - 0x54], 0xecb3b26e
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x50], 0x260dbc9b
mov dword [ebp - 0x4c], 0xc32a7f33
mov dword [ebp - 0x48], 0x19ffeadd
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x44], 0x1efe9a63
mov dword [ebp - 0x40], 0x34e9a791
mov dword [ebp - 0x3c], 0x79ebe1e2
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x38], 0xb759dcbc
mov edi, ebx
mov dword [ebp - 0x34], 0x57e0b612
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc63ed7
push 7
mov esi, ebx
pop ebx
mov dl, byte [ebp + esi - 0x1a0]
mov eax, esi
and eax, ebx
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x94]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], dl
cmp esi, 0x100
jb 0xc63eeb
xor ebx, ebx
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x5c]
mov byte [ebp + esi - 0x334], al
inc esi
cmp esi, 0x2c
jb 0xc63f2e
mov esi, 0xc7008c
mov dword [ebp - 0x7c], 0x3881f6c3
lea edi, [ebp - 0x94]
mov dword [ebp - 0x78], 0xa62bc79
xor ecx, ecx
mov dword [ebp - 0x74], 0xb9b75012
mov byte [ebp - 0x308], cl
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x70], 0xf80536e2
mov dword [ebp - 0x6c], 0x89df2b90
mov dword [ebp - 0x68], 0xc6fc51fd
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc63fc3
mov ebx, dword [0xc78a80]
mov esi, ecx
mov dword [ebp - 0x20], ebx
mov edx, ebx
mov ecx, 0xc78b70
call fcn.00c6322c
cmp byte [0xc78b70], 0
je 0xc64006
mov eax, 0xc78b70
xor ebx, 0xd33a073d
inc eax
cmp byte [eax], 0
jne 0xc63ff7
mov dword [ebp - 0x20], ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 6
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x94]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
mov ebx, dword [ebp - 0x20]
cmp esi, 0x100
jb 0xc63fdd
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
mov eax, dword [ebp - 0x20]
add eax, 0x31a634b
mov dword [ebp - 0x20], eax
mov dword [0xc78b0c], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x7c]
mov byte [ebp + esi - 0x288], al
inc esi
cmp esi, 0x18
jb 0xc64061
mov esi, 0xc757c8
mov dword [ebp - 0x1c], 0x8536566c
lea edi, [ebp - 0x74]
mov dword [ebp - 0x18], 0x69dc1b56
push 0xe
xor ecx, ecx
mov dword [ebp - 0x14], 0x7020676f
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0xc], al
mov eax, ecx
mov byte [ebp - 0x270], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x167463db
mov dword [ebp - 0xb], 0xb6f06286
mov word [ebp - 7], 0x602c
movsd dword es:[edi], dword [esi]
mov byte [ebp - 5], 0xb2
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc640fc
mov eax, dword [ebp - 0x20]
mov esi, ecx
xor eax, 0x7f0d75e1
push 0xc
mov dword [ebp - 0x20], eax
mov dword [0xc78a80], eax
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
mov eax, esi
div ecx
movzx ecx, bl
push 0xc
movzx eax, byte [ebp + edx - 0x74]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0xc64120
mov ebx, dword [ebp - 0x20]
xor eax, eax
mov esi, eax
mov dword [ebp - 0x24], eax
mov ecx, eax
lea eax, [ecx + 1]
mov edx, 0xc78b4c
movzx eax, al
lea edi, [ebp - 0x7c]
mov dword [ebp - 0x84], eax
push 6
pop ecx
mov al, byte [ebp + eax - 0x1a0]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x9c], eax
add eax, esi
mov esi, 0xc757d8
movzx eax, al
rep movsd dword es:[edi], dword [esi]
push 0x41
mov dword [ebp - 0x60], eax
xor eax, eax
pop ecx
mov dword [ebp - 0x20], eax
cmp cx, word [ebp - 0x7c]
jne 0xc641e0
xor esi, esi
test cx, cx
je 0xc641db
cmp word [ebp + eax - 0x7c], si
je 0xc641db
call fcn.00c62bfd
mov edx, dword [ebp - 0x20]
inc edx
mov dword [ebp - 0x20], edx
lea eax, [edx + edx]
movzx ecx, word [eax + 0xc75b80]
cmp cx, word [ebp + eax - 0x7c]
je 0xc641b2
mov edx, 0xc78b4c
push 0xc75b80
push ebx
mov ecx, edx
call fcn.00c6311d
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x30]
pop ecx
pop ecx
cmp ebx, esi
jae 0xc6424a
mov edi, 0xc78b4c
call fcn.00c6390b
cmp ebx, 0xaf9
jne 0xc6422c
mov ecx, dword [0xc78b0c]
mov eax, ecx
push 0xc75b80
and eax, 0x9af66f4b
push ecx
mov ecx, edi
mov dword [0xc78a80], eax
call fcn.00c6311d
pop ecx
pop ecx
or dword [0xc78a80], 0xb3f5ed6e
mov edx, edi
mov ecx, 0xc75b80
call fcn.00c628d2
inc ebx
cmp ebx, esi
jb 0xc641fe
mov dword [ebp - 0x30], ebx
mov esi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x24]
mov al, byte [ebp + esi - 0x1a0]
mov byte [ebp + ecx - 0x1a0], al
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x1a0], al
movzx eax, byte [ebp + ecx - 0x1a0]
add eax, dword [ebp - 0x9c]
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + edx - 0x1c]
mov byte [ebp + edx - 0x2a4], al
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x18
jae 0xc642a5
mov ebx, dword [0xc78a80]
jmp 0xc64169
push 0xb
pop eax
mov byte [ebp - 0x4c], al
xor ecx, ecx
push 0xc
pop eax
mov byte [ebp - 0x46], al
mov edi, ecx
mov byte [ebp - 0x28c], cl
mov eax, ecx
mov dword [ebp - 0x5c], 0x7ca6f797
mov dword [ebp - 0x58], 0xa439f854
mov dword [ebp - 0x54], 0xa3706950
mov dword [ebp - 0x50], 0xdd6e65f0
mov dword [ebp - 0x4b], 0xa8387af7
mov byte [ebp - 0x47], 0x2d
mov dword [ebp - 0x45], 0x4f6c2b73
mov dword [ebp - 0x41], 0xcbd951ae
mov dword [ebp - 0x3d], 0xe3f1aba2
mov dword [ebp - 0x39], 0x7e8dc64c
mov dword [ebp - 0x35], 0x2d6a1e9a
mov byte [ebp - 0x31], 0xaf
mov dword [ebp - 0x94], 0x73657268
mov dword [ebp - 0x90], 0x746c75
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc6431f
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x94]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0xc64330
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x5c]
mov byte [ebp + esi - 0x2d4], al
inc esi
cmp esi, 0x2c
jb 0xc64378
xor eax, eax
push ecx
mov byte [ebp - 0x2a8], al
call fcn.00c62de2
mov eax, dword [0xc78a80]
pop ecx
xor ecx, ecx
mov ebx, ecx
add eax, 0x81740cde
inc ebx
mov dword [0xc78a80], eax
cmp word [ebx*2 + 0xc75b80], cx
jne 0xc643e0
mov edi, dword [ebp - 0x90]
mov dword [ebp - 0x28], eax
cmp edi, ebx
jae 0xc6445a
mov esi, dword [0xc78b0c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
mov edx, esi
mov ecx, 0xc78b4c
call fcn.00c6322c
mov eax, dword [ebp - 0x20]
cmp edi, 0x6a6
jne 0xc6442e
mov eax, dword [ebp - 0x24]
and esi, 0x1a310e38
and eax, 0xb9cece5b
mov edx, esi
push 0xc75b80
mov ecx, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], eax
mov dword [0xc78a80], eax
call fcn.00c63772
mov eax, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x24], eax
pop ecx
cmp edi, ebx
jb 0xc6440e
xor ecx, ecx
mov esi, 0xc6f6a8
mov byte [ebp - 0x5c], 0x79
lea edi, [ebp - 0x70]
mov word [ebp - 0x5a], 0xf572
push 0xe
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x5b], al
push 0x28
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x57], al
mov eax, ecx
mov byte [ebp - 0x58], 0x91
mov dword [ebp - 0x56], 0x1f40b19e
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x52], 0x2e02fb58
mov edi, ecx
mov dword [ebp - 0x4e], 0x14876241
mov dword [ebp - 0x4a], 0x58c45191
mov dword [ebp - 0x46], 0x6f9871de
mov dword [ebp - 0x42], 0x6062e3ad
mov dword [ebp - 0x3e], 0xd51e8769
mov dword [ebp - 0x3a], 0x97a42c6b
mov dword [ebp - 0x36], 0xe7af977d
mov word [ebp - 0x32], 0xe083
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc644c8
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x70]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0xc644d9
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x5c]
mov byte [ebp + esi - 0x304], al
inc esi
cmp esi, 0x2c
jb 0xc6451e
mov esi, str.DebugFilters
mov dword [ebp - 0x1c], 0x39a9cb48
lea edi, [ebp - 0x74]
mov dword [ebp - 0x18], 0x5f22004
push 0xb
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0xf], al
mov byte [ebp - 9], al
mov eax, dword [ebp - 0x28]
movsd dword es:[edi], dword [esi]
add eax, 0x5b2eacab
mov dword [ebp - 0x20], eax
mov dword [0xc78b0c], eax
mov eax, ecx
mov byte [ebp - 0x2d8], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x14], 0xd4771a1e
mov byte [ebp - 0x10], 0xd9
mov dword [ebp - 0xe], 0x92735c4
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0xa], 0x9f
mov edi, ecx
mov dword [ebp - 8], 0x84f36ad0
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc645ca
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0xc
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x74]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0xc645db
mov ebx, dword [ebp - 0x28]
xor eax, eax
mov edx, eax
mov dword [ebp - 0x94], 0x73657268
mov ecx, eax
mov dword [ebp - 0x90], 0x746c75
mov edi, eax
mov al, byte [0xc78b70]
mov byte [ebp - 1], al
lea eax, [ecx + 1]
mov ecx, 0xc75b80
movzx eax, al
mov dword [ebp - 0x60], eax
mov al, byte [ebp + eax - 0x1a0]
mov byte [ebp - 0x29], al
movzx eax, al
mov dword [ebp - 0x84], eax
add eax, edx
movzx eax, al
mov dword [ebp - 0x30], eax
call fcn.00c629e3
xor eax, eax
cmp byte [ebp - 1], 0x68
mov esi, eax
jne 0xc646d1
mov al, 0x68
test al, al
je 0xc646be
cmp byte [ebp + esi - 0x94], 0
je 0xc646be
mov edx, ebx
mov ecx, 0xc78b4c
call fcn.00c635ec
mov al, byte [esi + 0xc78b71]
inc esi
mov ebx, dword [0xc78a80]
cmp al, byte [ebp + esi - 0x94]
je 0xc64679
mov dl, byte [0xc78b70]
mov eax, dword [0xc78b0c]
mov byte [ebp - 1], dl
mov edx, eax
mov dword [ebp - 0x20], eax
jmp 0xc646d4
mov al, byte [0xc78b70]
mov edx, dword [0xc78b0c]
mov dword [ebp - 0x20], edx
mov byte [ebp - 1], al
jmp 0xc646d4
mov edx, dword [ebp - 0x20]
movzx eax, byte [ebp + esi - 0x94]
movzx ecx, byte [esi + 0xc78b70]
sub ecx, eax
cmp ecx, 0x6c7
jbe 0xc6470b
and edx, 0xef39be92
mov ecx, ebx
push 0xc75b80
mov dword [ebp - 0x20], edx
mov dword [0xc78b0c], edx
call fcn.00c63772
pop ecx
jmp 0xc64717
imul ebx, ebx, 0x3923d888
mov dword [0xc78a80], ebx
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x60]
mov al, byte [ebp + edx - 0x1a0]
mov byte [ebp + ecx - 0x1a0], al
mov al, byte [ebp - 0x29]
mov byte [ebp + edx - 0x1a0], al
movzx eax, byte [ebp + ecx - 0x1a0]
add eax, dword [ebp - 0x84]
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + edi - 0x1c]
mov byte [ebp + edi - 0x1e0], al
inc edi
cmp edi, 0x18
jb 0xc6463f
mov esi, 0xc6f4a0
mov dword [ebp - 0x28], ebx
lea edi, [ebp - 0x74]
mov dword [ebp - 0x1c], 0xdc0fc91d
xor eax, eax
mov dword [ebp - 0x18], 0x249a091b
mov byte [ebp - 0x1c8], al
mov ebx, eax
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], eax
mov al, byte [ebp - 1]
mov dword [ebp - 0x14], 0x24c2522
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x5de5aa22
mov dword [ebp - 0xc], 0x121e6e9e
mov dword [ebp - 8], 0x271676ca
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x28]
test al, al
je 0xc647d1
mov eax, edi
mov esi, 0xc78b70
xor eax, 0x3cef5a65
mov dword [ebp - 0x20], eax
call fcn.00c63ab3
inc esi
cmp byte [esi], 0
jne 0xc647c3
mov al, byte [ebp - 1]
mov byte [ebp + ebx - 0x1a0], bl
inc ebx
cmp ebx, 0x100
jb 0xc647b0
xor eax, eax
push 0xe
mov esi, eax
pop edi
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
mov eax, esi
movzx ecx, bl
div edi
movzx eax, byte [ebp + edx - 0x74]
add eax, dword [ebp - 0x24]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x24], ecx
mov al, byte [ebp + ecx - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + ecx - 0x1a0], bl
cmp esi, 0x100
jb 0xc647e8
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
or dword [ebp - 0x28], 0xee83c641
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x1fc], al
inc esi
cmp esi, 0x18
jb 0xc6482e
push 0xa
pop ecx
mov esi, 0xc73958
mov dword [ebp - 0x1c], 0xd34f0a31
lea edi, [ebp - 0x5c]
mov dword [ebp - 0x18], 0x87b371cb
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov dword [ebp - 0x14], 0x41392a6b
mov byte [ebp - 0x1e4], bl
mov dword [ebp - 0x10], 0x46b0b3c9
mov dword [ebp - 0xc], 0x38bb516b
mov dword [ebp - 8], 0x98dfa6b0
movsb byte es:[edi], byte [esi]
call fcn.00c6390b
push 5
mov al, byte [ebp - 1]
lea edi, [ebp - 0x7c]
pop ecx
mov esi, 0xc6f488
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp al, byte [ebp - 0x7c]
jne 0xc648ff
mov esi, ebx
test al, al
je 0xc648ff
cmp byte [ebp + esi - 0x7c], bl
je 0xc648ff
call fcn.00c63334
mov al, byte [esi + 0xc78b71]
inc esi
cmp al, byte [ebp + esi - 0x7c]
je 0xc648e3
mov edi, ebx
mov eax, ebx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc64903
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0x28
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 - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0xc64914
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x234], al
inc esi
cmp esi, 0x18
jb 0xc64959
mov esi, str.filename_too_long
mov dword [ebp - 0x1c], 0xfaf2b6ed
lea edi, [ebp - 0x78]
mov word [ebp - 0x18], 0xa9eb
push 0xc
xor ecx, ecx
mov byte [ebp - 0x16], 0xb1
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x15], al
mov eax, ecx
mov byte [ebp - 0x21c], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x14], 0x99d8ba67
mov dword [ebp - 0x10], 0x611b2017
mov dword [ebp - 0xc], 0xde3a719c
movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], 0xf7f8c1ec
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ecx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc649f6
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0x11
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x78]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0xc64a07
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
mov eax, dword [ebp - 0x20]
add eax, 0x633ecf63
imul eax, eax, 0x6b2f249d
mov dword [ebp - 0x24], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x250], al
inc esi
cmp esi, 0x18
jb 0xc64a5d
push 0x13
pop eax
push 0x53
mov byte [ebp - 0x18], al
lea edi, [ebp - 0x78]
pop eax
push 6
mov byte [ebp - 0x14], al
xor edx, edx
pop eax
push 5
pop ecx
mov esi, 0xc71fbc
mov byte [ebp - 0xd], al
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x238], dl
mov edi, edx
mov dword [ebp - 0x1c], 0xd2ae853e
mov eax, edx
mov word [ebp - 0x17], 0x4726
mov byte [ebp - 0x15], 0xef
mov dword [ebp - 0x13], 0x221a7178
mov word [ebp - 0xf], 0x47a6
mov dword [ebp - 0xc], 0x3c42154
mov dword [ebp - 8], 0x20f5cb6b
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc64b04
mov eax, dword [ebp - 0x24]
mov esi, edx
or eax, 0x63272705
mov dword [ebp - 0x30], eax
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0x13
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x78]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0xc64b20
xor ebx, ebx
call fcn.00c62bfd
mov al, byte [ebp - 1]
lea edi, [ebp - 0x78]
mov esi, 0xc6fec8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp al, byte [ebp - 0x78]
jne 0xc64b98
test al, al
je 0xc64b98
cmp byte [ebp + ebx - 0x78], 0
je 0xc64b98
call fcn.00c63334
mov al, byte [ebx + 0xc78b71]
inc ebx
cmp al, byte [ebp + ebx - 0x78]
je 0xc64b7b
call fcn.00c63334
movzx eax, byte [ebp + ebx - 0x78]
movzx ecx, byte [ebx + 0xc78b70]
sub ecx, eax
cmp ecx, 0x270b
jae 0xc64bbc
imul esi, dword [ebp - 0x30], 0xb4b38493
jmp 0xc64bc3
imul esi, dword [ebp - 0x24], 0xdc7b6790
xor eax, eax
mov dword [ebp - 0x24], esi
mov dword [0xc78a80], esi
mov edi, eax
mov ebx, eax
mov esi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x1a0]
movzx edx, cl
lea eax, [esi + edx]
movzx esi, al
mov al, byte [ebp + esi - 0x1a0]
mov byte [ebp + ebx - 0x1a0], al
mov byte [ebp + esi - 0x1a0], cl
movzx eax, byte [ebp + ebx - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + edi - 0x1c]
mov byte [ebp + edi - 0x26c], al
inc edi
cmp edi, 0x18
jb 0xc64bd4
mov esi, dword [ebp - 0x24]
lea edx, [ebp - 0x334]
and esi, 0xb8209bd6
xor ebx, ebx
mov dword [0xc78b0c], esi
xor esi, esi
push ebx
push 2
mov byte [ebp - 0x254], bl
lea ecx, [esi + 1]
mov dword [ebp - 0x98], ebx
call fcn.00c4ba1b
call eax
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
jne 0xc64c65
xor eax, eax
jmp 0xc6545a
lea ecx, [ebp - 0x5c0]
mov dword [ebp - 0x5c0], 0x22c
push ecx
push eax
lea edx, [ebp - 0x288]
lea ecx, [esi + 1]
call fcn.00c4ba1b
call eax
test eax, eax
jne 0xc64eb0
push 5
pop ecx
mov esi, 0xc6f33c
mov dword [ebp - 0x1c], 0xb98abaef
lea edi, [ebp - 0x7c]
mov dword [ebp - 0x18], 0xd61f4937
rep movsd dword es:[edi], dword [esi]
push 0xc75b80
push dword [0xc78b0c]
mov ecx, 0xc78b70
mov dword [ebp - 0x14], 0x4b609555
mov dword [ebp - 0x10], 0x68b4828e
mov dword [ebp - 0xc], 0x9983d8fd
mov dword [ebp - 8], 0x8c5d6efe
movsw word es:[edi], word [esi]
call fcn.00c6311d
mov esi, dword [0xc78a80]
pop ecx
pop ecx
cmp byte [0xc78b4c], bl
je 0xc64d03
mov eax, 0xc78b4c
sub esi, 0x3c9b9772
inc eax
mov dword [0xc78a80], esi
cmp byte [eax], bl
jne 0xc64cf2
mov dword [ebp - 0x64], esi
mov eax, ebx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc64d08
push 0x15
mov edi, ebx
mov esi, ebx
pop ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x1a0]
mov eax, edi
div ecx
movzx ecx, bl
push 0x15
movzx eax, byte [ebp + edx - 0x7c]
add eax, esi
add ecx, eax
movzx esi, cl
pop ecx
mov al, byte [ebp + esi - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
inc edi
mov byte [ebp + esi - 0x1a0], bl
cmp edi, 0x100
jb 0xc64d1e
mov ebx, dword [0xc78b0c]
xor eax, eax
mov esi, dword [ebp - 0x64]
mov edx, eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x88], eax
mov edi, dword [ebp - 0x88]
lea eax, [edx + 1]
movzx edx, al
mov dword [ebp - 0x60], edx
mov al, byte [ebp + edx - 0x1a0]
mov byte [ebp - 0x29], al
movzx eax, al
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x98]
movzx eax, al
mov dword [ebp - 0x28], eax
mov al, byte [ebp + eax - 0x1a0]
mov byte [ebp + edx - 0x1a0], al
xor eax, eax
cmp byte [0xc78b70], al
je 0xc64e4d
imul esi, esi, 0xc06ea031
inc eax
cmp byte [eax + 0xc78b70], 0
jne 0xc64dc1
mov dword [0xc78a80], esi
mov dword [ebp - 0x30], eax
cmp ecx, eax
jae 0xc64e4d
mov dword [ebp - 0x80], esi
mov edi, eax
mov dword [ebp - 0x64], esi
push 0xc75b80
mov edx, ebx
mov ecx, esi
call fcn.00c63772
cmp dword [ebp - 0x20], 0x2574
pop ecx
jne 0xc64e0e
add ebx, 0x32bbb4d4
call fcn.00c6390b
mov eax, dword [ebp - 0x64]
jmp 0xc64e11
mov eax, dword [ebp - 0x80]
imul esi, eax, 0x3506fac2
mov edx, 0xc75b80
push ebx
mov ecx, esi
mov dword [ebp - 0x80], esi
mov dword [0xc78a80], esi
call fcn.00c6303f
mov eax, dword [ebp - 0x20]
pop ecx
inc eax
mov ecx, esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x64], ecx
cmp eax, edi
jb 0xc64de6
mov edi, dword [ebp - 0x88]
mov edx, dword [ebp - 0x60]
mov dword [0xc78b0c], ebx
mov eax, dword [ebp - 0x28]
mov cl, byte [ebp - 0x29]
mov byte [ebp + eax - 0x1a0], cl
movzx eax, byte [ebp + edx - 0x1a0]
add eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x20]
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + edi - 0x1c]
mov byte [ebp + edi - 0x1c4], al
inc edi
mov dword [ebp - 0x88], edi
cmp edi, 0x18
jb 0xc64d74
push dword [ebp - 0x24]
xor ecx, ecx
lea edx, [ebp - 0x1c4]
xor eax, eax
inc ecx
mov byte [ebp - 0x1ac], al
call fcn.00c4ba1b
call eax
jmp 0xc64c5e
lea ecx, [ebp - 0x2a4]
call fcn.00c4d05e
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 0x64], eax
call fcn.00c4d05e
lea ecx, [ebp - 0x304]
mov dword [ebp - 0x30], eax
call fcn.00c4d05e
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 0x60], eax
call fcn.00c4d05e
mov edx, dword [0xc78b0c]
mov ecx, dword [0xc78a80]
push 0xc75b80
mov dword [ebp - 0x90], eax
call fcn.00c63772
mov al, byte [0xc78b4c]
lea edi, [ebp - 0x70]
mov esi, 0xc6ffd0
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp al, byte [ebp - 0x70]
jne 0xc64f7f
test al, al
je 0xc64f35
cmp byte [ebp + ebx - 0x70], 0
je 0xc64f35
call fcn.00c62bfd
mov al, byte [ebx + 0xc78b4d]
inc ebx
cmp al, byte [ebp + ebx - 0x70]
je 0xc64f18
mov esi, dword [ebp - 0x90]
jmp 0xc64f7b
call fcn.00c63334
cmp esi, 0x1c08
jne 0xc64f6b
imul eax, dword [0xc78a80], 0xf8100a33
mov ecx, 0xc78b70
push 0xc75b80
push eax
mov dword [0xc78b0c], eax
call fcn.00c6311d
pop ecx
pop ecx
mov eax, dword [0xc78a80]
and eax, 0x5265d3c6
inc esi
mov dword [0xc78b0c], eax
cmp esi, ebx
jb 0xc64f3d
push dword [ebp - 0x64]
lea edx, [ebp - 0x1fc]
push dword [ebp - 0x80]
push 2
pop ecx
call fcn.00c4ba1b
call eax
pop ecx
pop ecx
call fcn.00c63e48
mov ebx, eax
mov dword [ebp - 0x1a8], ebx
mov ecx, dword [ebp - 0x5b8]
lea edx, [ebp - 0x28]
xor eax, eax
xor esi, esi
mov dword [ebp - 0x28], eax
inc esi
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], esi
push eax
call fcn.00c63ca7
xor edx, edx
cmp ebx, dword [ebp - 0x5b8]
mov eax, edx
cmove eax, esi
pop ecx
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x98], edx
jne 0xc6511f
mov esi, 0xc6f4ec
mov dword [ebp - 0x1c], 0x85bfcfa6
lea edi, [ebp - 0x70]
mov dword [ebp - 0x18], 0x17b37de9
mov dword [ebp - 0x14], 0x97b064fd
mov eax, edx
mov dword [ebp - 0x10], 0xd1be8c7
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc], 0xb5b34960
mov dword [ebp - 8], 0x523629f0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, edx
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc6501a
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x70]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0xc6502b
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
mov eax, dword [0xc78b0c]
or eax, 0x20c470cb
mov dword [0xc78a80], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x1a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x1a0]
mov byte [ebp + edi - 0x1a0], al
mov byte [ebp + ebx - 0x1a0], cl
movzx eax, byte [ebp + edi - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x1c4], al
inc esi
cmp esi, 0x18
jb 0xc6507f
push dword [ebp - 0x84]
mov edi, dword [ebp - 0x30]
lea edx, [ebp - 0x1c4]
push dword [ebp - 0x20]
xor eax, eax
push dword [ebp - 0x28]
mov byte [ebp - 0x1ac], al
lea eax, [ebp - 0x59c]
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a8]
push dword [ebp - 0x5b8]
push eax
push edi
lea eax, [ebp - 0xdc0]
push eax
push 2
pop ecx
call fcn.00c4ba1b
call eax
mov esi, dword [ebp - 0x60]
jmp 0xc65347
push 7
pop eax
push 0x28
mov byte [ebp - 0x19], al
lea edi, [ebp - 0x390]
pop eax
push 0xe
mov byte [ebp - 0x11], al
mov esi, str.S_1_15_2_1861897761_1695161497_2927542615_642690995_327840285_2659745135_2630312742
pop eax
push 0x15
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0xa], al
mov edi, edx
mov word [ebp - 0x1c], 0x2ce2
mov eax, edx
mov byte [ebp - 0x1a], 0x10
mov dword [ebp - 0x18], 0x9098737a
mov word [ebp - 0x14], 0xee79
mov byte [ebp - 0x12], 0x21
mov dword [ebp - 0x10], 0x9c83d2a1
mov word [ebp - 0xc], 0xe4a7
mov dword [ebp - 9], 0xfbfe6e4e
mov byte [ebp - 5], pe_nt_image_headers32
mov byte [ebp + eax - 0x1a0], al
inc eax
cmp eax, 0x100
jb 0xc65178
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x1a0]
push 0x53
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x390]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1a0]
mov byte [ebp + esi - 0x1a0], al
inc esi
mov byte [ebp + edi - 0x1a0], bl
cmp esi, 0x100
jb 0xc65189
xor eax, eax
mov edx, 0xc78b4c
mov ecx, 0xc75b80
mov dword [ebp - 0x88], eax
call fcn.00c628d2
push 7
pop eax
mov ecx, eax
lea edi, [ebp - 0x4c]
push 0x41
mov esi, str.unknown_error
xor edx, edx
pop eax
rep movsd dword es:[edi], dword [esi]
mov ebx, edx
cmp ax, word [ebp - 0x4c]
jne 0xc65283
mov ecx, eax
mov eax, edx
test cx, cx
je 0xc65235
cmp word [ebp + eax - 0x4c], dx
je 0xc65235
mov edx, dword [0xc78a80]
mov ecx, 0xc78b70
call fcn.00c635ec
inc ebx
push 0
pop edx
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0xc75b80]
cmp cx, word [ebp + eax - 0x4c]
je 0xc65204
cmp dword [ebp - 0x9c], ebx
jae 0xc65283
mov edi, dword [0xc78b0c]
mov esi, dword [0xc78a80]
push esi
mov edx, 0xc75b80
mov ecx, edi
call fcn.00c6303f
mov eax, dword [ebp - 0x9c]
pop ecx
cmp eax, 0x26d1
jne 0xc6526a
lea esi, [edi - 0x4091e055]
sub esi, 0x3f2f5ba7
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, ebx
jb 0xc65249
mov dword [0xc78a80], esi
jmp 0xc65289
mov edi, dword [0xc78b0c]
xor eax, eax
mov esi, eax
mov ebx, eax
lea eax, [ebx + 1]
xor edi, 0xe04d81b7
movzx ebx, al
mov eax, dword [ebp - 0x88]
mov cl, byte [ebp + ebx - 0x1a0]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x88], eax
mov al, byte [ebp + eax - 0x1a0]
mov byte [ebp + ebx - 0x1a0], al
mov eax, dword [ebp - 0x88]
mov byte [ebp + eax - 0x1a0], cl
movzx eax, byte [ebp + ebx - 0x1a0]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1a0]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x218], al
inc esi
cmp esi, 0x18
jb 0xc6528f
push dword [ebp - 0x84]
mov esi, dword [ebp - 0x60]
lea edx, [ebp - 0x218]
push dword [ebp - 0x20]
xor eax, eax
mov dword [0xc78b0c], edi
push dword [ebp - 0x28]
mov byte [ebp - 0x200], al
lea eax, [ebp - 0x59c]
push dword [ebp - 0x5a4]
push dword [ebp - 0x5a8]
push dword [ebp - 0x5b8]
push eax
push esi
lea eax, [ebp - 0xdc0]
push eax
push 2
pop ecx
call fcn.00c4ba1b
call eax
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x80]
lea edx, [ebp - 0xdc0]
add esp, 0x24
call fcn.00c4d3c1
inc dword [ebp - 0x98]
lea eax, [ebp - 0x5c0]
push eax
push dword [ebp - 0x24]
xor ecx, ecx
lea edx, [ebp - 0x234]
inc ecx
call fcn.00c4ba1b
call eax
mov ebx, dword [ebp - 0x1a8]
test eax, eax
jne 0xc64fa4
mov ebx, dword [ebp - 0x90]
lea eax, [ebp - 0xdc0]
push ebx
push eax
push 2
lea edx, [ebp - 0x250]
pop ecx
call fcn.00c4ba1b
call eax
mov ecx, dword [ebp - 0x80]
lea edx, [ebp - 0xdc0]
call fcn.00c4d3c1
mov ecx, dword [ebp - 0x64]
call fcn.00c4d317
push eax
xor eax, eax
push eax
push ecx
call fcn.00c4cf49
add esp, 0x14
mov ecx, edi
call fcn.00c4d317
push eax
xor eax, eax
push eax
push edi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4d317
push eax
xor eax, eax
push eax
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, ebx
call fcn.00c4d317
push eax
xor eax, eax
push eax
push ebx
call fcn.00c4cf49
mov ecx, dword [ebp - 0x64]
add esp, 0xc
call fcn.00c4ba07
call fcn.00c63ab3
cmp byte [0xc78b4c], 0
je 0xc65428
mov eax, dword [0xc78b0c]
or eax, 0xeb66f3ea
mov dword [0xc78a80], eax
mov ecx, edi
call fcn.00c4ba07
mov ecx, esi
call fcn.00c4ba07
mov ecx, ebx
call fcn.00c4ba07
push dword [ebp - 0x24]
xor eax, eax
lea edx, [ebp - 0x26c]
lea ecx, [eax + 1]
call fcn.00c4ba1b
call eax
mov ecx, dword [ebp - 0x80]
call fcn.00c4d317
pop edi
pop esi
pop ebx
leave
ret