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

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x7f8
push esi
push edi
mov esi, 0xc71654
mov dword [ebp - 0x2c8], ecx
lea edi, [ebp - 0xe4]
mov dword [ebp - 0x104], edx
xor ecx, ecx
mov dword [ebp - 0x80], 0x1fd7cd5c
mov dword [ebp - 0x7c], 0x66cd62a4
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x78], 0xfc6c9806
mov dword [ebp - 0x74], 0x7a004c9d
mov dword [ebp - 0x70], 0xbf3bc043
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x6c], 0xa37d38a6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc535ca
push 0xf
mov esi, ecx
pop ecx
mov dword [ebp - 0x2c4], ecx
mov dl, byte [ebp + esi - 0x3c8]
mov eax, esi
and eax, ecx
movzx ecx, dl
push 0xf
movzx eax, byte [ebp + eax - 0xe4]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov byte [ebp + edi - 0x3c8], dl
cmp esi, 0x100
jb 0xc535e4
mov ecx, dword [0xc78588]
xor edx, edx
mov dword [ebp - 8], edx
mov edi, edx
mov eax, str.ext_ms_win_imm_l1_1_0.dll
lea eax, [eax + 2]
imul ecx, ecx, 0xde404667
cmp word [eax], dx
jne 0xc53634
mov esi, edx
mov dword [ebp - 0x98], 0x18
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
push 0x18
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x80]
mov byte [ebp + esi - 0x444], al
inc esi
pop eax
cmp esi, eax
jb 0xc5364e
xor eax, eax
mov dl, byte [str.currentContextName]
mov byte [ebp - 0x42c], al
lea edi, [ebp - 0x498]
push 0xd
pop eax
mov ecx, eax
mov dword [ebp - 0x110], eax
mov eax, dword [0xc785d8]
mov esi, 0xc72a2c
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
xor eax, 0x414e002
mov dword [ebp - 8], ecx
mov dword [ebp - 0x38], eax
movsw word es:[edi], word [esi]
mov byte [ebp - 0x50], dl
mov eax, ecx
mov dword [ebp - 0x58], ecx
push 5
pop ecx
mov esi, 0xc73028
lea edi, [ebp - 0x7c]
rep movsd dword es:[edi], dword [esi]
cmp dl, byte [ebp - 0x7c]
jne 0xc5371c
mov cl, dl
test cl, cl
je 0xc53719
cmp byte [ebp + eax - 0x7c], 0
je 0xc53719
mov cl, byte [eax + 0xc785e1]
inc eax
cmp cl, byte [ebp + eax - 0x7c]
je 0xc53701
mov dword [ebp - 0x58], eax
call fcn.00c50548
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x40]
cmp eax, esi
jae 0xc53755
mov edi, dword [ebp - 0x3c]
cmp eax, 0x42c
jne 0xc53744
imul edi, dword [ebp - 0x38], 0x12c3b03f
call fcn.00c504eb
mov eax, dword [ebp - 0x40]
sub edi, 0x8e883c5
inc eax
mov dword [ebp - 0x40], eax
cmp eax, esi
jb 0xc5372e
mov dword [ebp - 0x3c], edi
mov edx, dword [ebp - 8]
push 0
pop ecx
mov byte [ebp + edx - 0x3c8], dl
inc edx
mov dword [ebp - 8], edx
cmp edx, 0x100
mov dl, byte [ebp - 0x50]
jb 0xc536e8
xor eax, eax
mov dword [ebp - 0xd0], 0x35
mov esi, eax
mov edi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0xd0]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x498]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc53785
mov al, byte [ebp - 0x3c7]
mov ecx, str.currentContextName
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x3c]
mov edx, edi
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x5c], eax
push esi
push edi
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp - 0x3c7], al
call fcn.00c50634
pop ecx
pop ecx
mov edi, str.ext_ms_win_imm_l1_1_0.dll
mov ecx, str.currentContextName
call fcn.00c5022d
lea edi, [edi + 2]
xor edx, edx
sub esi, 0x3230eb2a
cmp word [edi], dx
jne 0xc53803
mov ecx, dword [ebp - 0x5c]
lea edi, [ebp - 0xbc]
mov al, byte [ebp - 1]
push 0xc
mov dword [ebp - 0x38], esi
mov esi, 0xc729c8
mov byte [ebp + ecx - 0x3c8], al
movzx ecx, byte [ebp - 0x3c7]
movzx eax, al
add ecx, eax
mov byte [ebp - 0x109], dl
movzx eax, cl
mov dword [ebp - 0x80], 0x9e3287bf
mov dword [ebp - 0x7b], 0x6f9dcd3f
mov byte [ebp - 0x77], 0x10
mov al, byte [ebp + eax - 0x3c8]
xor al, 0xd7
mov dword [ebp - 0x75], 0xea389a6a
mov byte [ebp - 0x10a], al
pop eax
push 0x35
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x7c], al
pop eax
push 0x16
mov byte [ebp - 0x76], al
pop eax
push 6
pop ecx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x6d], al
mov eax, edx
mov dword [ebp - 0x71], 0xecee54a2
movsw word es:[edi], word [esi]
mov dword [ebp - 0x6c], 0x2c30c6db
movsb byte es:[edi], byte [esi]
mov edi, edx
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc538aa
mov esi, edx
mov dword [ebp - 0x5c], 0x1a
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x5c]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xbc]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc538c2
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
push 0x18
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x80]
mov byte [ebp + esi - 0x460], al
inc esi
pop eax
cmp esi, eax
jb 0xc5390f
push 0x1a
pop ecx
mov byte [ebp - 0xb5], cl
lea edi, [ebp - 0xec]
push 0x16
pop ecx
mov byte [ebp - 0xa5], cl
mov esi, 0xc7303c
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov byte [ebp - 0xa3], al
mov byte [ebp - 0x448], dl
mov eax, edx
mov dword [ebp - 0xcc], 0xfdb8e245
movsw word es:[edi], word [esi]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0xc8], 0x7a3caec7
mov dword [ebp - 0xc4], 0x2bac3120
mov dword [ebp - 0xc0], 0x4e8600cd
mov dword [ebp - 0xbc], 0xd333996f
lea ecx, [esi + 0x4ccd867d]
mov word [ebp - 0xb8], 0xbd1f
mov byte [ebp - 0xb6], 0xb1
mov dword [ebp - 0xb4], 0x5fc33ae3
mov dword [ebp - 0xb0], 0x8462647c
mov dword [ebp - 0xac], 0xa0738f79
mov word [ebp - 0xa8], 0xd0bd
mov byte [ebp - 0xa6], 0x3c
mov byte [ebp - 0xa4], 0x81
mov word [ebp - 0xa2], 0xaf41
add ecx, 0x963cf98d
inc eax
cmp word [eax*2 + str.ext_ms_win_imm_l1_1_0.dll], dx
jne 0xc53a26
cmp eax, 0xe20
jae 0xc53a54
mov ecx, str.currentContextName
call fcn.00c5022d
mov ecx, esi
or ecx, 0xd025ac
xor edx, edx
jmp 0xc53a5a
xor ecx, 0x73510b1e
mov dword [ebp - 0x3c], ecx
mov edi, edx
mov eax, edx
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc53a61
mov esi, edx
mov dword [ebp - 0x58], 0x15
mov dword [ebp - 8], esi
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x58]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xec]
add eax, edi
add ecx, eax
movzx eax, cl
mov dword [ebp - 0x5c], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
call fcn.00c50429
push 5
pop ecx
mov esi, 0xc70094
lea edi, [ebp - 0x80]
rep movsd dword es:[edi], dword [esi]
mov cl, byte [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0x40], eax
movsw word es:[edi], word [esi]
cmp cl, byte [ebp - 0x80]
jne 0xc53aec
test cl, cl
je 0xc53ae9
cmp byte [ebp + eax - 0x80], 0
je 0xc53ae9
mov cl, byte [eax + 0xc785e1]
inc eax
cmp cl, byte [ebp + eax - 0x80]
je 0xc53ad1
mov dword [ebp - 0x40], eax
mov esi, dword [ebp - 0x38]
mov edi, str.ext_ms_win_imm_l1_1_0.dll
push esi
push ecx
mov edx, edi
mov ecx, edi
call fcn.00c50779
pop ecx
pop ecx
mov ecx, dword [ebp - 0x40]
movzx eax, byte [ebp + ecx - 0x80]
movzx ecx, byte [ecx + str.currentContextName]
sub ecx, eax
cmp ecx, 0xcfe
jne 0xc53b26
mov eax, esi
xor eax, 0x928a16
mov dword [ebp - 0x3c], eax
jmp 0xc53b40
xor esi, 0xc6b4b685
mov edx, edi
push edi
push str.currentContextName
mov ecx, edi
mov dword [ebp - 0x38], esi
call fcn.00c50d2f
pop ecx
pop ecx
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0x5c]
inc esi
mov al, byte [ebp - 1]
mov dword [ebp - 8], esi
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc53a7c
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0xcc]
mov byte [ebp + esi - 0x4c8], al
inc esi
cmp esi, 0x2c
jb 0xc53b69
mov esi, 0xc6fec8
mov byte [ebp - 0xcc], 0x8f
lea edi, [ebp - 0x7c]
mov dword [ebp - 0xca], 0x605242d9
push 0x18
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0xcb], al
push 7
pop eax
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0xc5], al
mov byte [ebp - 0xaf], al
movsd dword es:[edi], dword [esi]
push 0xd
pop eax
mov byte [ebp - 0xaa], al
imul eax, dword [ebp - 0x3c], 0x37e3058
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x49c], cl
mov byte [ebp - 0xc6], 0xe1
mov dword [ebp - 0xc4], 0x641b2754
movsw word es:[edi], word [esi]
mov dword [ebp - 0x38], eax
mov eax, ecx
mov dword [ebp - 0xc0], 0xf4c279ae
mov dword [ebp - 0xbc], 0x6479d927
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0xb8], 0xd9a72294
mov edi, ecx
mov dword [ebp - 0xb4], 0x2ee5ab6f
mov byte [ebp - 0xb0], 0xa0
mov dword [ebp - 0xae], 0xd2deeb21
mov dword [ebp - 0xa9], 0x49f8a0ca
mov dword [ebp - 0xa5], 0x4ae7c6e1
mov byte [ebp - 0xa1], 0x85
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc53c83
mov esi, ecx
mov dword [ebp - 0x64], 0x12
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x64]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x7c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc53c9b
push 0x1f
pop ecx
mov esi, 0xc70328
lea edi, [ebp - 0x668]
rep movsd dword es:[edi], dword [esi]
push 0x65
xor eax, eax
pop ecx
movsw word es:[edi], word [esi]
mov dword [ebp - 8], eax
cmp cx, word [ebp - 0x668]
jne 0xc53d84
xor esi, esi
mov edx, ecx
mov ecx, esi
test dx, dx
je 0xc53d38
cmp word [ebp + ecx - 0x668], si
je 0xc53d38
call fcn.00c50972
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
lea ecx, [eax + eax]
movzx edx, word [ecx + str.ext_ms_win_imm_l1_1_0.dll]
cmp dx, word [ebp + ecx - 0x668]
je 0xc53d09
mov esi, dword [ebp - 0x110]
cmp esi, eax
jae 0xc53d84
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x38]
cmp esi, 0x142a
jne 0xc53d75
imul eax, eax, 0x76cfe279
mov dword [ebp - 0x38], eax
mov eax, str.ext_ms_win_imm_l1_1_0.dll
push eax
push str.currentContextName
mov edx, eax
mov ecx, eax
call fcn.00c50d2f
pop ecx
pop ecx
mov ecx, dword [ebp - 0x38]
mov eax, ecx
or eax, 0x535ef577
inc esi
cmp esi, edi
jb 0xc53d4b
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0xcc]
mov byte [ebp + esi - 0x4f8], al
inc esi
cmp esi, 0x2c
jb 0xc53d8d
push 0x16
pop ecx
mov byte [ebp - 0x12c], cl
lea edi, [ebp - 0xc4]
push 8
pop ecx
mov esi, 0xc71078
mov dword [ebp - 0x13c], 0xb01cd326
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x138], 0x7dcbd8f7
mov byte [ebp - 0x4cc], al
mov dword [ebp - 0x134], 0x7a93d549
mov dword [ebp - 0x130], 0xd24c8f46
mov dword [ebp - 0x12b], 0x53a603ec
mov dword [ebp - 0x127], 0xd05e5582
mov dword [ebp - 0x123], 0x9fbef8cc
mov dword [ebp - 0x11f], 0x263d2d40
mov dword [ebp - 0x11b], 0x17d392d8
mov dword [ebp - 0x117], 0xf9c2484c
mov word [ebp - 0x113], 0x2f80
mov byte [ebp - 0x111], 0x24
movsb byte es:[edi], byte [esi]
mov dword [ebp - 8], eax
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc53e81
call fcn.00c50548
mov esi, 0xc70f38
lea edi, [ebp - 0xdc]
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0x40], ecx
mov cl, byte [ebp - 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp cl, byte [ebp - 0xdc]
jne 0xc53ed6
test cl, cl
je 0xc53ed3
cmp byte [ebp + eax - 0xdc], 0
je 0xc53ed3
mov cl, byte [eax + 0xc785e1]
inc eax
cmp cl, byte [ebp + eax - 0xdc]
je 0xc53eb5
mov dword [ebp - 0x40], eax
call fcn.00c504eb
mov ecx, dword [ebp - 0x40]
movzx eax, byte [ebp + ecx - 0xdc]
movzx ecx, byte [ecx + str.currentContextName]
sub ecx, eax
cmp ecx, 0x9e8
jbe 0xc53f00
or dword [ebp - 0x3c], 0xc15dac9f
jmp 0xc53f0a
imul esi, dword [ebp - 0x38], 0xbd989f1c
mov dword [ebp - 0x3c], esi
xor eax, eax
mov esi, eax
mov dl, byte [ebp + esi - 0x3c8]
mov eax, esi
and eax, 0x1f
movzx ecx, dl
movzx eax, byte [ebp + eax - 0xc4]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov byte [ebp + ecx - 0x3c8], dl
cmp esi, 0x100
jb 0xc53f0e
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x13c]
mov byte [ebp + esi - 0x528], al
inc esi
cmp esi, 0x2c
jb 0xc53f57
push 0x15
pop eax
push 7
mov byte [ebp - 0x2be], al
xor edx, edx
pop eax
push 0x35
mov byte [ebp - 0x2a8], al
pop eax
push 0x16
pop ecx
push 0xd
mov byte [ebp - 0x291], cl
pop ecx
push 0x65
mov byte [ebp - 0x264], cl
pop ecx
push 9
mov byte [ebp - 0x23e], cl
pop ecx
push 0x18
mov dword [ebp - 0xd0], ecx
mov byte [ebp - 0x232], cl
pop ecx
mov byte [ebp - 0x4fc], dl
mov word [ebp - 0x2c0], 0x5320
mov dword [ebp - 0x2bd], 0x147058c9
mov dword [ebp - 0x2b9], 0x45f8404e
mov dword [ebp - 0x2b5], 0xfe13966e
mov dword [ebp - 0x2b1], 0x9ce06e44
mov dword [ebp - 0x2ad], 0x8e604a08
mov byte [ebp - 0x2a9], 0x41
mov dword [ebp - 0x2a7], 0x4382ec00
mov dword [ebp - 0x2a3], 0xa3e3423c
mov dword [ebp - 0x29f], 0xc68d5129
mov dword [ebp - 0x29b], 0x7c85a67c
mov byte [ebp - 0x297], 0xb6
mov byte [ebp - 0x296], al
mov dword [ebp - 0x295], 0xabc66d2d
mov dword [ebp - 0x290], 0x3d2db4cb
mov dword [ebp - 0x28c], 0x177021f0
mov dword [ebp - 0x288], 0x94f863ca
mov dword [ebp - 0x284], 0x72a70441
mov dword [ebp - 0x280], 0x75246eff
mov dword [ebp - 0x27c], 0xea52e53a
mov dword [ebp - 0x278], 0x9fe599df
mov dword [ebp - 0x274], 0xab98f922
mov dword [ebp - 0x270], 0xf1d225c9
mov dword [ebp - 0x26c], 0xef2c4fec
mov dword [ebp - 0x268], 0x47f641ed
mov dword [ebp - 0x263], 0x4d9454f
mov dword [ebp - 0x25f], 0xa88e3963
mov dword [ebp - 0x25b], 0x9401ecc9
mov dword [ebp - 0x257], 0xbccc9939
mov dword [ebp - 0x253], 0x37a76382
mov dword [ebp - 0x24f], 0xfc48f672
mov dword [ebp - 0x24b], 0x67925c86
mov dword [ebp - 0x247], 0xd2af9ca5
mov dword [ebp - 0x243], 0xf611562c
mov byte [ebp - 0x23f], 0x20
mov dword [ebp - 0x23d], 0x7d2dfe32
mov dword [ebp - 0x239], 0x6a044a04
mov word [ebp - 0x235], 0xf8b1
mov byte [ebp - 0x233], 0xf8
mov dword [ebp - 0x231], 0xa5423826
mov word [ebp - 0x22d], 0x3d04
mov byte [ebp - 0x22b], cl
mov dword [ebp - 0x22a], 0xd9746d26
mov dword [ebp - 0x226], 0x49fcbf11
mov dword [ebp - 0x222], 0xef0f1a17
mov byte [ebp - 0x21e], 0x5d
mov byte [ebp - 0x21d], al
mov dword [ebp - 0x21c], 0x85762a9e
mov dword [ebp - 0x218], 0x8d6ccc6
mov dword [ebp - 0x214], 0x648674b4
mov dword [ebp - 0x210], 0x541af4c1
mov dword [ebp - 0x20c], 0xff1cfb05
mov dword [ebp - 0x208], 0xb00e9d03
mov dword [ebp - 0x60], 0xe
mov dword [ebp - 0x204], 0xff3d3b2a
mov dword [ebp - 0x200], 0xae258f3c
push 0x12
mov byte [ebp - 0x1e1], al
lea edi, [ebp - 0xbc]
pop eax
push 0x16
mov byte [ebp - 0x1de], al
mov esi, str.TelemetryAssertDiagTrack
pop eax
mov byte [ebp - 0x176], cl
mov byte [ebp - 0x162], cl
push 6
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1cc], al
mov byte [ebp - 0x141], al
mov eax, edx
mov dword [ebp - 0x1fc], 0x55371289
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x1f8], 0xc367f36a
mov edi, edx
mov dword [ebp - 0x1f4], 0x2547c766
mov dword [ebp - 0x1f0], 0xf06d2f5d
mov dword [ebp - 0x1ec], 0x469b051
mov dword [ebp - 0x1e8], 0x11de8d6a
mov word [ebp - 0x1e4], 0x2e69
mov byte [ebp - 0x1e2], 0x4e
mov word [ebp - 0x1e0], 0x536f
mov dword [ebp - 0x1dd], 0x71a35411
mov dword [ebp - 0x1d9], 0x4030c238
mov dword [ebp - 0x1d5], 0x69269966
mov dword [ebp - 0x1d1], 0x80ef782a
mov byte [ebp - 0x1cd], 0xf1
mov dword [ebp - 0x1cb], 0x8bc58174
mov dword [ebp - 0x1c7], 0xdf8989ed
mov dword [ebp - 0x1c3], 0x6819b26c
mov dword [ebp - 0x1bf], 0xee4aed11
mov dword [ebp - 0x1bb], 0x7e730e67
mov dword [ebp - 0x1b7], 0x273f5aa5
mov dword [ebp - 0x1b3], 0x2e37d2aa
mov dword [ebp - 0x1af], 0x98f06a5a
mov dword [ebp - 0x1ab], 0x4c62d924
mov dword [ebp - 0x1a7], 0xf78e8afe
mov dword [ebp - 0x1a3], 0xe9ac7668
mov dword [ebp - 0x19f], 0xd9f6e325
mov dword [ebp - 0x19b], 0x55e2fac7
mov dword [ebp - 0x197], 0x9bffb302
mov dword [ebp - 0x193], 0xb9e1ba4
mov dword [ebp - 0x18f], 0x3174d7ad
mov dword [ebp - 0x18b], 0x8defb60c
mov dword [ebp - 0x187], 0x7a091f73
mov dword [ebp - 0x183], 0x36f780a5
mov dword [ebp - 0x17f], 0xe4ac9d75
mov dword [ebp - 0x17b], 0xbc8e1c8c
mov byte [ebp - 0x177], 0x9b
mov dword [ebp - 0x175], 0xa264e73f
mov dword [ebp - 0x171], 0x234408b3
mov dword [ebp - 0x16d], 0x98d69c4b
mov dword [ebp - 0x169], 0x4fb9fef1
mov word [ebp - 0x165], 0xd2fb
mov byte [ebp - 0x163], 0xa6
mov dword [ebp - 0x161], 0x91450bd7
mov dword [ebp - 0x15d], 0xde01a3ac
mov dword [ebp - 0x159], 0xd47614cd
mov dword [ebp - 0x155], 0xbae1a156
mov dword [ebp - 0x151], 0x27825476
mov dword [ebp - 0x14d], 0x52efb1b4
mov dword [ebp - 0x149], 0x384b305d
mov dword [ebp - 0x145], 0x528cc560
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc5442f
mov esi, edx
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x98]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xbc]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc54440
xor eax, eax
xor dword [ebp - 0x3c], 0x81a52420
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x2c0]
mov byte [ebp + esi - 0x7f0], al
inc esi
cmp esi, 0x180
jb 0xc54497
push 5
pop ecx
mov esi, 0xc6f33c
mov dword [ebp - 0xec], 0xbbea85bf
lea edi, [ebp - 0x80]
mov dword [ebp - 0xe8], 0xed1c4a19
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0xe4], 0x7a5ebc5d
mov byte [ebp - 0x670], dl
mov eax, edx
mov dword [ebp - 0xe0], 0x5fccd6c5
movsw word es:[edi], word [esi]
mov dword [ebp - 0xdc], 0xbfb6e7c2
mov edi, edx
mov dword [ebp - 0xd8], 0x8c5d7ee8
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc5454c
mov esi, edx
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x58]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x80]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc5455d
mov esi, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 8], ecx
mov eax, ecx
mov dword [ebp - 0x40], ecx
inc eax
movzx eax, al
mov dword [ebp - 0x38], eax
call fcn.00c50972
xor ecx, ecx
mov edi, esi
mov eax, ecx
or edi, 0x5c4c6b57
inc eax
cmp word [eax*2 + str.ext_ms_win_imm_l1_1_0.dll], cx
jne 0xc545c3
cmp eax, 0x15c0
jne 0xc545dd
sub edi, 0x50be25e4
jmp 0xc545f7
mov eax, edi
mov edx, edi
xor eax, 0xaf5ff08a
mov ecx, str.currentContextName
push edi
push eax
mov dword [ebp - 0x3c], eax
call fcn.00c50634
pop ecx
pop ecx
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x38]
push 0x18
mov cl, byte [ebp + eax - 0x3c8]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
mov eax, esi
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
movzx eax, byte [ebp + eax - 0x3c8]
add eax, edx
movzx eax, al
pop edx
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + ecx - 0xec]
mov byte [ebp + ecx - 0x12c], al
inc ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], ecx
cmp ecx, edx
jb 0xc545ab
xor eax, eax
mov word [ebp - 0x7f], 0xd9c2
mov byte [ebp - 0x114], al
mov esi, eax
push 7
pop ecx
mov eax, edi
mov byte [ebp - 0x80], cl
mov ecx, dword [ebp - 0x60]
or eax, 0xb51c61fc
mov byte [ebp - 0x7d], dl
mov byte [ebp - 0x7c], 0xb0
mov byte [ebp - 0x7b], cl
mov dword [ebp - 0x7a], 0xd269714d
mov dword [ebp - 0x76], 0xc5cbf5a0
mov dword [ebp - 0x72], 0x239204f0
mov dword [ebp - 0x6e], 0x316fbcfe
mov word [ebp - 0x6a], 0x9226
mov dword [ebp - 0x9c], 0x7373656d
mov dword [ebp - 0x98], 0x656761
mov dword [ebp - 0x3c], eax
call fcn.00c50acc
inc esi
xor eax, eax
cmp word [esi*2 + str.ext_ms_win_imm_l1_1_0.dll], ax
jne 0xc546c9
cmp esi, 0x183d
jae 0xc546ea
call fcn.00c50972
jmp 0xc54704
mov eax, edi
mov edx, edi
xor eax, 0xadd79b35
mov ecx, str.currentContextName
push eax
push edi
mov dword [ebp - 0x3c], eax
call fcn.00c50634
pop ecx
pop ecx
xor ecx, ecx
mov edi, ecx
mov eax, ecx
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc5470a
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x5c]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x9c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc5471b
xor eax, eax
mov dword [ebp - 8], eax
mov ecx, eax
mov esi, eax
lea eax, [ecx + 1]
movzx edx, al
mov eax, dword [ebp - 8]
mov dword [ebp - 0x5c], edx
mov cl, byte [ebp + edx - 0x3c8]
movzx edi, cl
add eax, edi
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edx - 0x3c8], al
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
add edx, 0x73c22b9a
push edx
mov dword [ebp - 0x38], edx
push edx
mov edx, dword [ebp - 0x3c]
mov byte [ebp + eax - 0x3c8], cl
mov ecx, str.currentContextName
call fcn.00c50634
cmp byte [ebp - 0x50], 0
pop ecx
pop ecx
je 0xc547d8
mov ecx, dword [ebp - 0x3c]
mov eax, str.currentContextName
xor ecx, 0x826bc3ee
inc eax
cmp byte [eax], 0
jne 0xc547c9
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x5c]
push 0x18
movzx eax, byte [ebp + ecx - 0x3c8]
add eax, edi
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x80]
mov byte [ebp + esi - 0xbc], al
inc esi
pop eax
cmp esi, eax
jb 0xc54768
push 9
mov esi, 0xc70584
mov byte [ebp - 0x1f], al
pop edx
lea edi, [ebp - 0xe0]
mov byte [ebp - 0x2f], dl
push 0x15
movsd dword es:[edi], dword [esi]
xor ecx, ecx
pop edx
push 0x1a
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1b], al
mov eax, ecx
mov byte [ebp - 0xa4], cl
mov dword [ebp - 0x34], 0xad91ea26
movsw word es:[edi], word [esi]
mov byte [ebp - 0x30], 0x1c
mov esi, ecx
mov dword [ebp - 0x2e], 0x8aa1ae5c
mov word [ebp - 0x2a], 0x555d
mov byte [ebp - 0x28], dl
mov dword [ebp - 0x27], 0x1cc284f2
mov dword [ebp - 0x23], 0x108e0074
mov word [ebp - 0x1e], 0x4fc6
mov byte [ebp - 0x1c], 0xac
mov dword [ebp - 0x1a], 0xfc63b41b
mov dword [ebp - 0x16], 0x9582aa3b
mov dword [ebp - 0x12], 0xf8797eeb
mov dword [ebp - 0xe], 0xab3bc256
mov word [ebp - 0xa], 0x5c2
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc54888
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x3c8]
xor edx, edx
mov byte [ebp - 1], al
mov eax, ecx
push 9
pop ecx
div ecx
movzx ecx, byte [ebp - 1]
push dword [ebp - 0x3c]
movzx eax, byte [ebp + edx - 0xe0]
add eax, esi
add ecx, eax
movzx eax, cl
mov dword [ebp - 0x5c], eax
mov eax, str.ext_ms_win_imm_l1_1_0.dll
push ecx
mov edx, eax
mov ecx, eax
call fcn.00c50779
pop ecx
pop ecx
xor eax, eax
lea edi, [ebp - 0x8c]
push 9
mov edx, eax
mov esi, str.HKEY_CLASSES_ROOT
pop eax
mov ecx, eax
mov dword [ebp - 0x40], edx
push 0x65
pop eax
rep movsd dword es:[edi], dword [esi]
cmp ax, word [ebp - 0x8c]
jne 0xc5492f
xor ecx, ecx
test ax, ax
je 0xc5492f
xor eax, eax
cmp word [ebp + ecx - 0x8c], ax
je 0xc5492f
call fcn.00c50972
mov edx, dword [ebp - 0x40]
inc edx
mov dword [ebp - 0x40], edx
lea ecx, [edx + edx]
movzx eax, word [ecx + str.ext_ms_win_imm_l1_1_0.dll]
cmp ax, word [ebp + ecx - 0x8c]
je 0xc548fe
movzx eax, byte [ebp + edx*2 - 0x8c]
movzx ecx, byte [edx*2 + str.ext_ms_win_imm_l1_1_0.dll]
sub ecx, eax
cmp ecx, 0xc32
jbe 0xc5495c
mov edi, dword [ebp - 0x3c]
or edi, 0xfb250194
mov dword [ebp - 0x38], edi
call fcn.00c50429
jmp 0xc5497a
mov eax, dword [ebp - 0x3c]
mov ecx, str.currentContextName
or eax, 0x703b65be
push eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
mov edx, eax
push eax
call fcn.00c50634
pop ecx
pop ecx
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 8]
mov al, byte [ebp + esi - 0x3c8]
mov byte [ebp + ecx - 0x3c8], al
inc ecx
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x3c8], al
mov dword [ebp - 8], ecx
cmp ecx, 0x100
jb 0xc5489a
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x558], al
inc esi
cmp esi, 0x2c
jb 0xc549b1
mov esi, 0xc700c0
mov dword [ebp - 0x34], 0xfadf5670
lea edi, [ebp - 0xe0]
mov dword [ebp - 0x30], 0xe5b667b9
push 7
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x60]
mov byte [ebp - 0xf], al
movsd dword es:[edi], dword [esi]
mov al, byte [ebp - 0x50]
mov byte [ebp - 0x52c], cl
mov byte [ebp - 0x2c], 0x76
movsw word es:[edi], word [esi]
mov esi, 0xc6fec8
mov dword [ebp - 0x2a], 0x3da5291c
lea edi, [ebp - 0x7c]
mov dword [ebp - 0x26], 0xe0ac621f
mov dword [ebp - 0x22], 0x70e622f6
mov dword [ebp - 0x1e], 0x7a893ede
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1a], 0xbe9a8bf5
mov dword [ebp - 0x16], 0xbcc496b9
mov word [ebp - 0x12], 0x3732
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x10], 0xdb
mov dword [ebp - 0xe], 0x3a82a461
mov word [ebp - 0xa], 0x97aa
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 - 0x7c]
jne 0xc54ac8
mov esi, ecx
test al, al
je 0xc54ac6
cmp byte [ebp + esi - 0x7c], 0
je 0xc54ac6
mov eax, str.ext_ms_win_imm_l1_1_0.dll
push eax
push str.currentContextName
mov edx, eax
mov ecx, eax
call fcn.00c50d2f
mov al, byte [esi + 0xc785e1]
inc esi
pop ecx
pop ecx
cmp al, byte [ebp + esi - 0x7c]
je 0xc54a98
xor ecx, ecx
mov edi, ecx
mov eax, ecx
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc54acc
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0xd0]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xe0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc54add
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
mov eax, dword [ebp - 0x3c]
sub eax, 0x562af164
mov dword [ebp - 0x3c], eax
mov dword [0xc785d8], eax
lea eax, [edi + 1]
xor dword [ebp - 0x38], 0x61473eea
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x588], al
inc esi
cmp esi, 0x2c
jb 0xc54b3d
mov esi, str.SrchPHHttp
mov dword [ebp - 0x34], 0xdccd1d98
xor eax, eax
mov dword [ebp - 0x30], 0x866f8c29
lea edi, [ebp - 0xe0]
mov byte [ebp - 0x55c], al
push 0xf
movsd dword es:[edi], dword [esi]
pop eax
push 0xc
mov byte [ebp - 0x22], al
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x17], al
push 0x12
movsw word es:[edi], word [esi]
pop eax
mov dword [ebp - 0x2c], 0x4ec7d463
mov dword [ebp - 0x28], 0x80ab6c87
mov word [ebp - 0x24], 0x4b3f
mov dword [ebp - 0x21], 0x9a809e17
mov dword [ebp - 0x1d], 0x71d32749
mov word [ebp - 0x19], 0xb2b6
mov dword [ebp - 0x16], 0x38abaae7
mov byte [ebp - 0x12], 0x8f
mov byte [ebp - 0x11], al
mov dword [ebp - 0x10], 0x52afedfc
mov dword [ebp - 0xc], 0x539a6dd2
movsb byte es:[edi], byte [esi]
call fcn.00c50acc
mov ecx, dword [ebp - 0x3c]
xor eax, eax
mov edi, eax
mov eax, dword [ebp - 0x38]
lea esi, [ecx + 0x372fa2a6]
push ecx
mov edx, ecx
mov ecx, eax
call fcn.00c50c5b
inc edi
mov eax, esi
pop ecx
xor ecx, ecx
cmp word [edi*2 + str.ext_ms_win_imm_l1_1_0.dll], cx
mov ecx, dword [ebp - 0x3c]
jne 0xc54c2a
mov ecx, str.currentContextName
mov dword [ebp - 0x38], esi
call fcn.00c5022d
mov esi, dword [ebp - 0x110]
cmp esi, edi
jae 0xc54c80
mov eax, dword [ebp - 0x3c]
add eax, 0xabb936ec
mov dword [ebp - 0x38], eax
call fcn.00c50548
cmp esi, 0xe18
jne 0xc54c7b
call fcn.00c50972
inc esi
cmp esi, edi
jb 0xc54c69
xor ecx, ecx
mov edi, ecx
mov eax, ecx
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc54c86
mov esi, ecx
mov dword [ebp - 0x98], 0xa
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x98]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xe0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc54ca1
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
sub dword [ebp - 0x38], 0x63440484
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x5b8], al
inc esi
cmp esi, 0x2c
jb 0xc54cf1
xor eax, eax
mov edx, dword [ebp - 0x3c]
push 0xa
mov byte [ebp - 0x58c], al
lea edi, [ebp - 0x80]
mov byte [ebp - 0x28], al
mov esi, str.function_not_supported
pop eax
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
push ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x34], 0xe16a9aa8
movsw word es:[edi], word [esi]
mov dword [ebp - 0x30], 0xc3f95b9a
mov dword [ebp - 0x2c], 0xdf0b5882
mov byte [ebp - 0x27], al
mov dword [ebp - 0x26], 0x48c7a673
mov dword [ebp - 0x22], 0xa39e2e70
mov dword [ebp - 0x1e], 0x947ad3f0
mov dword [ebp - 0x1a], 0xdd33fa31
mov dword [ebp - 0x16], 0x7dc3fcf6
mov dword [ebp - 0x12], 0x8db398ec
mov dword [ebp - 0xe], 0x21c4216c
mov word [ebp - 0xa], 0x4884
movsb byte es:[edi], byte [esi]
call fcn.00c50c5b
mov esi, 0xc6f4ec
lea edi, [ebp - 0xe0]
xor eax, eax
pop ecx
mov ecx, eax
mov al, byte [ebp - 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp al, byte [ebp - 0xe0]
jne 0xc54e05
test al, al
je 0xc54e05
cmp byte [ebp + ecx - 0xe0], 0
je 0xc54e05
mov al, byte [ecx + 0xc785e1]
inc ecx
cmp al, byte [ebp + ecx - 0xe0]
je 0xc54de7
movzx eax, byte [ebp + ecx - 0xe0]
movzx ecx, byte [ecx + str.currentContextName]
sub ecx, eax
cmp ecx, 0x1b36
jne 0xc54e23
call fcn.00c50429
xor ecx, ecx
mov edi, ecx
mov eax, ecx
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc54e29
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x54]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x80]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc54e3a
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x5e8], al
inc esi
cmp esi, 0x2c
jb 0xc54e84
mov esi, str.SrchCollatorCxn
mov dword [ebp - 0x34], 0xb54e61
lea edi, [ebp - 0xe4]
mov dword [ebp - 0x30], 0xe9817840
push 0x1a
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0x22], al
push 0xc
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1b], al
mov eax, ecx
mov byte [ebp - 0x5bc], cl
mov dword [ebp - 0x2c], 0xbd116fa5
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28], 0xbfe32a1d
mov word [ebp - 0x24], 0x419f
mov dword [ebp - 0x21], 0x521d865a
movsd dword es:[edi], dword [esi]
mov word [ebp - 0x1d], 0xeb91
mov edi, ecx
mov dword [ebp - 0x1a], 0x542281e9
mov dword [ebp - 0x16], 0x71b329c1
mov dword [ebp - 0x12], 0xa5fbad5d
mov dword [ebp - 0xe], 0xce7de3de
mov word [ebp - 0xa], 0xfe42
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc54f54
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x2c4]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xe4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc54f65
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 8], edx
mov esi, edx
mov edi, edx
lea eax, [esi + 1]
movzx esi, al
mov eax, edx
inc eax
cmp word [eax*2 + str.ext_ms_win_imm_l1_1_0.dll], dx
jne 0xc54fc0
cmp eax, 0x2537
jbe 0xc54fdb
mov eax, ecx
or eax, 0x93b430a5
jmp 0xc54ff8
push ecx
push ecx
mov edx, ecx
mov ecx, str.currentContextName
call fcn.00c50634
mov eax, dword [ebp - 0x3c]
pop ecx
add eax, 0xb6353e6b
pop ecx
or eax, 0x2190139d
mov cl, byte [ebp + esi - 0x3c8]
mov dword [0xc78588], eax
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
push 0
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + esi - 0x3c8]
mov ecx, dword [ebp - 0x3c]
add eax, edx
movzx eax, al
pop edx
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + edi - 0x34]
mov byte [ebp + edi - 0x490], al
inc edi
cmp edi, 0x2c
jb 0xc54fb8
xor eax, eax
lea edx, [ebp - 0x444]
push eax
push eax
push eax
push 1
push eax
push 5
pop ecx
mov byte [ebp - 0x464], al
mov dword [ebp - 0x40], eax
call fcn.00c4ba1b
call eax
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0xc55089
xor eax, eax
inc eax
jmp 0xc5622f
mov edi, dword [ebp - 0x2c8]
mov ecx, edi
call fcn.00c4d317
mov ecx, 0x800
mov esi, eax
call fcn.00c4b9d3
push esi
cmp esi, 0x28
mov dword [ebp - 0x54], eax
mov esi, dword [ebx + 0x14]
mov edx, edi
mov ecx, esi
jbe 0xc550c8
call fcn.00c4d11c
pop ecx
mov ecx, esi
call fcn.00c4d309
mov edx, eax
call fcn.00c4a289
jmp 0xc550ce
call fcn.00c4d11c
pop ecx
lea edx, [ebp - 0x10a]
mov ecx, esi
call fcn.00c4d470
lea ecx, [ebp - 0x460]
mov edi, eax
call fcn.00c4d02f
mov esi, eax
xor ecx, ecx
mov edx, esi
call fcn.00c4d470
mov ecx, esi
mov dword [ebp - 8], eax
call fcn.00c4d309
push eax
xor eax, eax
push eax
push esi
call fcn.00c4cf49
mov ecx, esi
call fcn.00c4ba07
mov ecx, dword [ebp - 8]
call fcn.00c4d5c1
mov ecx, edi
mov esi, eax
call fcn.00c4d309
mov ecx, dword [ebp - 0x54]
mov edx, edi
push eax
call fcn.00c4d13f
push 0x208
xor eax, eax
push eax
push dword [ebx + 0x14]
call fcn.00c4cf49
mov ecx, edi
call fcn.00c4d309
push eax
xor eax, eax
push eax
push edi
call fcn.00c4cf49
sub dword [0xc78588], 0x3074c549
mov ecx, dword [ebp - 8]
call fcn.00c4d309
push eax
xor eax, eax
push eax
push ecx
call fcn.00c4cf49
add esp, 0x34
lea edx, [ebp - 0x4c8]
xor eax, eax
push eax
push eax
push 3
push eax
push eax
push esi
mov esi, dword [ebp - 0x54]
push esi
push dword [ebp - 0x3c]
push 5
pop ecx
call fcn.00c4ba1b
call eax
mov dword [ebp - 8], eax
test eax, eax
jne 0xc552de
mov esi, 0xc70054
mov dword [ebp - 0x34], 0x9a1cbf79
lea edi, [ebp - 0xdc]
mov dword [ebp - 0x30], 0x6b30eeb5
xor ecx, ecx
mov dword [ebp - 0x2c], 0x39ee21b3
mov dword [ebp - 0x28], 0xb2f9ffc7
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0xd939b68d
mov dword [ebp - 0x20], 0x73c58940
mov dword [ebp - 0x1c], 0xba5aaacb
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0x1e293938
mov dword [ebp - 0x14], 0x6658c34a
mov dword [ebp - 0x10], 0x6289166
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0xc], 0x459aac8f
mov edi, ecx
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc551f6
mov esi, ecx
mov dl, byte [ebp + esi - 0x3c8]
mov eax, esi
push 7
pop ecx
and eax, ecx
movzx ecx, dl
movzx eax, byte [ebp + eax - 0xdc]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov byte [ebp + edi - 0x3c8], dl
cmp esi, 0x100
jb 0xc55207
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x94], al
inc esi
cmp esi, 0x2c
jb 0xc5524e
push dword [ebp - 0x3c]
xor eax, eax
lea edx, [ebp - 0x94]
push 5
pop ecx
mov byte [ebp - 0x68], al
call fcn.00c4ba1b
call eax
mov esi, dword [ebp - 0x54]
push 0x800
xor eax, eax
push eax
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
jmp 0xc55081
push 0x800
xor eax, eax
push eax
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
mov ecx, dword [ebp - 0x104]
call fcn.00c4d05e
mov ecx, dword [ebx + 8]
mov edi, eax
call fcn.00c4d05e
mov esi, eax
lea edx, [ebp - 0x4f8]
xor eax, eax
push eax
push 0x800000
push eax
push eax
push eax
push esi
push edi
push dword [ebp - 8]
push 5
pop ecx
call fcn.00c4ba1b
call eax
mov ecx, edi
mov dword [ebp - 0x38], eax
call fcn.00c4d317
push eax
xor eax, eax
push eax
push edi
call fcn.00c4cf49
mov ecx, esi
call fcn.00c4d317
push eax
xor eax, eax
push eax
push esi
call fcn.00c4cf49
add esp, 0x18
mov ecx, edi
call fcn.00c4ba07
mov ecx, esi
call fcn.00c4ba07
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0xc55820
mov esi, 0xc730a4
mov dword [ebp - 0x34], 0x6c4258dc
lea edi, [ebp - 0xe0]
mov dword [ebp - 0x30], 0x94466b97
mov dword [ebp - 0x2c], 0x46b71e27
mov dword [ebp - 0x28], 0xdb114f7a
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0x99841f08
mov dword [ebp - 0x20], 0x6ecf78e6
mov dword [ebp - 0x1c], 0x9b38e731
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0xec2039ce
mov dword [ebp - 0x14], 0x6a74fdb7
mov dword [ebp - 0x10], 0x50d8a497
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc], 0xee66fe6f
movsb byte es:[edi], byte [esi]
mov esi, dword [0xc785d8]
or esi, 0x70e0c9e6
xor ecx, ecx
mov dword [ebp - 0x38], esi
mov eax, ecx
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc553dd
mov edi, ecx
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + edi - 0x3c8]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0xa0]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xe0]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x3c8], al
cmp edi, 0x100
jb 0xc553f0
mov edi, dword [0xc78588]
xor eax, eax
mov esi, dword [ebp - 0x38]
mov ecx, eax
mov edx, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x54], edi
lea eax, [edx + 1]
mov edx, edi
movzx eax, al
mov dword [ebp - 0x104], eax
push ecx
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x2c8], eax
add eax, ecx
movzx eax, al
mov ecx, esi
mov dword [ebp - 0x64], eax
call fcn.00c50c5b
xor eax, eax
pop ecx
mov dword [ebp - 0x60], eax
cmp byte [str.currentContextName], al
je 0xc554c5
lea eax, [esi + 0x46577d6f]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0xa0], eax
push ecx
mov eax, str.currentContextName
mov edx, edi
push eax
mov ecx, eax
call fcn.00c508dd
mov edi, dword [ebp - 0xa0]
inc esi
pop ecx
pop ecx
cmp byte [esi + str.currentContextName], 0
jne 0xc5549a
mov dword [ebp - 0x60], esi
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x54], edi
call fcn.00c50acc
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x58]
cmp ecx, eax
jae 0xc55514
cmp ecx, 0x21f6
jne 0xc554fe
mov eax, str.ext_ms_win_imm_l1_1_0.dll
add esi, 0x4d1cd31a
push eax
push str.currentContextName
mov edx, eax
mov ecx, eax
call fcn.00c50d2f
mov eax, dword [ebp - 0x60]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x58]
mov edi, esi
xor edi, 0x64f4d694
inc ecx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ecx
cmp ecx, eax
jb 0xc554d4
mov dword [ebp - 0x38], esi
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x104]
mov al, byte [ebp + ecx - 0x3c8]
mov byte [ebp + edx - 0x3c8], al
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x3c8], al
movzx eax, byte [ebp + edx - 0x3c8]
add eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x40]
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + ecx - 0x34]
mov byte [ebp + ecx - 0x3f8], al
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 0x2c
mov ecx, dword [ebp - 0x64]
jb 0xc5544c
mov esi, 0xc71880
mov word [ebp - 0x34], 0xe1be
lea edi, [ebp - 0xe0]
mov dword [ebp - 0x31], 0x34c8bd44
push 0x12
pop ecx
movsd dword es:[edi], dword [esi]
xor eax, eax
push 0x1a
pop edx
push 9
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x32], cl
pop ecx
mov byte [ebp - 0x3cc], al
movsw word es:[edi], word [esi]
mov dword [ebp - 0x2d], 0x64cff6a2
mov word [ebp - 0x29], 0xf4f7
mov byte [ebp - 0x27], 0xc1
mov byte [ebp - 0x26], dl
mov dword [ebp - 0x25], 0x4b49a921
mov byte [ebp - 0x21], 0xcb
mov byte [ebp - 0x20], cl
mov word [ebp - 0x1f], 0xba14
mov byte [ebp - 0x1d], dl
mov dword [ebp - 0x1c], 0xd4e75c5e
mov dword [ebp - 0x18], 0x212010b3
mov dword [ebp - 0x14], 0xb2c8f0bc
mov dword [ebp - 0x10], 0x95ac1340
mov dword [ebp - 0xc], 0x1cef775d
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc555ea
call fcn.00c504eb
mov edi, dword [ebp - 0x54]
xor eax, eax
mov esi, eax
call fcn.00c50429
imul edi, edi, 0xefc4a940
xor eax, eax
inc esi
cmp word [esi*2 + str.ext_ms_win_imm_l1_1_0.dll], ax
jne 0xc55605
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x64], esi
cmp eax, esi
jae 0xc55659
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x64]
cmp eax, 0x780
jne 0xc55645
call fcn.00c50972
mov eax, dword [ebp - 0x58]
lea edi, [esi + 0x3b8870a2]
mov ecx, dword [ebp - 0x64]
or edi, 0x95556e8d
inc eax
mov dword [ebp - 0x58], eax
cmp eax, ecx
jb 0xc5562d
mov dword [0xc78588], edi
mov esi, dword [ebp - 0x38]
xor eax, eax
or esi, 0x7b41ff37
mov edi, eax
mov dword [ebp - 0x54], esi
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x98]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xe0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc5566b
mov esi, dword [ebp - 0x38]
xor ecx, ecx
mov edi, dword [ebp - 0x54]
mov edx, ecx
mov eax, ecx
mov dword [ebp - 0x64], ecx
inc eax
movzx ecx, al
mov dword [ebp - 0x58], ecx
mov al, byte [ebp + ecx - 0x3c8]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x104], eax
add eax, edx
movzx eax, al
mov dword [ebp - 0x98], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + ecx - 0x3c8], al
mov ecx, str.currentContextName
call fcn.00c5022d
xor eax, eax
cmp byte [str.currentContextName], al
je 0xc55732
mov esi, eax
call fcn.00c50972
or edi, 0x5e0e8d9d
inc esi
cmp byte [esi + str.currentContextName], 0
jne 0xc5570a
cmp esi, 0x15c0
mov esi, dword [ebp - 0x38]
jne 0xc55732
lea esi, [edi - 0x690feaf9]
jmp 0xc5573d
call fcn.00c50acc
or esi, 0x93400b90
mov edx, dword [ebp - 0x98]
lea edi, [ebp - 0x80]
mov al, byte [ebp - 1]
mov dword [ebp - 0x38], esi
mov dword [0xc785d8], esi
or esi, 0x91d71945
mov dword [ebp - 0x54], esi
mov dword [0xc78588], esi
mov esi, 0xc6f240
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [ebp + edx - 0x3c8], al
mov eax, dword [ebp - 0x58]
movsw word es:[edi], word [esi]
movzx eax, byte [ebp + eax - 0x3c8]
add eax, dword [ebp - 0x104]
movzx eax, al
movsb byte es:[edi], byte [esi]
mov ah, byte [ebp + eax - 0x3c8]
mov al, byte [str.currentContextName]
mov byte [ebp - 1], ah
cmp al, byte [ebp - 0x80]
jne 0xc557c7
xor ecx, ecx
mov esi, ecx
test al, al
je 0xc557be
cmp byte [ebp + esi - 0x80], 0
je 0xc557be
call fcn.00c50acc
mov al, byte [esi + 0xc785e1]
inc esi
cmp al, byte [ebp + esi - 0x80]
je 0xc557a1
mov edx, dword [ebp - 0x98]
mov ah, byte [ebp - 1]
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x54]
mov al, byte [ebp + ecx - 0x34]
xor al, ah
mov byte [ebp + ecx - 0x100], al
inc ecx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x64], ecx
cmp ecx, 0x2c
jb 0xc556c1
push dword [ebp - 8]
xor eax, eax
lea edx, [ebp - 0x3f8]
push 5
pop ecx
mov byte [ebp - 0xd4], al
call fcn.00c4ba1b
call eax
push dword [ebp - 0x3c]
lea edx, [ebp - 0x100]
push 5
pop ecx
call fcn.00c4ba1b
call eax
jmp 0xc55081
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x2c4], 4
push ecx
lea ecx, [ebp - 0xd0]
push ecx
push 0x1f
push eax
push 5
lea edx, [ebp - 0x528]
pop ecx
call fcn.00c4ba1b
call eax
test eax, eax
je 0xc55a14
mov esi, 0xc6f7f0
mov dword [ebp - 0x34], 0x1b6658d1
lea edi, [ebp - 0x7c]
mov word [ebp - 0x2f], 0x5494
push 0x65
pop ecx
movsd dword es:[edi], dword [esi]
push 0xd
pop eax
mov byte [ebp - 0x2c], al
movsd dword es:[edi], dword [esi]
push 0x15
pop eax
mov byte [ebp - 0x1f], al
xor eax, eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x30], cl
mov byte [ebp - 0x2d], 0x75
mov dword [ebp - 0x2b], 0xe94bc832
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x27], 0x52ecea9b
mov dword [ebp - 0x23], 0xbc912390
mov dword [ebp - 0x1e], 0xbd9898ac
movsw word es:[edi], word [esi]
mov dword [ebp - 0x1a], 0x58d3f893
mov dword [ebp - 0x16], 0xb81739c9
mov dword [ebp - 0x12], 0x57d04e6f
mov dword [ebp - 0xe], 0x1be59e9a
mov word [ebp - 0xa], 0x8f51
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x54], eax
call fcn.00c50acc
push 6
pop ecx
push 0x65
mov esi, 0xc6f3b0
lea edi, [ebp - 0xec]
xor edx, edx
pop eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x98], edx
cmp ax, word [ebp - 0xec]
jne 0xc5592d
mov ecx, eax
mov eax, edx
test cx, cx
je 0xc5592d
cmp word [ebp + eax - 0xec], dx
je 0xc5592d
call fcn.00c50429
mov edx, dword [ebp - 0x98]
inc edx
push 0
mov dword [ebp - 0x98], edx
lea eax, [edx + edx]
movzx ecx, word [eax + str.ext_ms_win_imm_l1_1_0.dll]
pop edx
cmp cx, word [ebp + eax - 0xec]
je 0xc558f5
mov eax, edx
mov edi, 0x100
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, edi
jb 0xc55934
mov esi, edx
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x64]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x7c]
add eax, dword [ebp - 0x54]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x54], ecx
mov al, byte [ebp + ecx - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x3c8], al
cmp esi, edi
jb 0xc55942
xor eax, eax
mov dword [ebp - 0x54], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x54]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x54], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 0x54]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x3f8], al
inc esi
cmp esi, 0x2c
jb 0xc5598c
xor eax, eax
mov dword [ebp - 0xd0], 0x13380
push 4
mov byte [ebp - 0x3cc], al
lea edx, [ebp - 0x3f8]
lea eax, [ebp - 0xd0]
push eax
push 0x1f
push dword [ebp - 0x38]
push 5
pop ecx
call fcn.00c4ba1b
call eax
lea ecx, [ebp - 0x7f0]
call fcn.00c4d05e
mov edx, dword [0xc785d8]
push ecx
mov ecx, dword [0xc78588]
mov dword [ebp - 0x54], eax
call fcn.00c50c5b
mov al, byte [str.currentContextName]
lea edi, [ebp - 0xe0]
mov esi, 0xc6f2a0
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp al, byte [ebp - 0xe0]
jne 0xc55a89
xor ecx, ecx
mov esi, ecx
test al, al
je 0xc55a89
cmp byte [ebp + esi - 0xe0], 0
je 0xc55a89
push dword [0xc785d8]
mov eax, str.ext_ms_win_imm_l1_1_0.dll
push ecx
mov edx, eax
mov ecx, eax
call fcn.00c50779
mov al, byte [esi + 0xc785e1]
inc esi
pop ecx
pop ecx
cmp al, byte [ebp + esi - 0xe0]
je 0xc55a54
mov edi, dword [ebp - 0x54]
lea edx, [ebp - 0x12c]
xor ecx, ecx
push edi
inc ecx
call fcn.00c4ba1b
call eax
push dword [ebx + 0xc]
xor ecx, ecx
lea edx, [ebp - 0xbc]
inc ecx
mov esi, eax
call fcn.00c4ba1b
call eax
push eax
push dword [ebx + 0xc]
lea edx, [ebp - 0x558]
push esi
push edi
push dword [ebp - 0x38]
push 5
pop ecx
call fcn.00c4ba1b
call eax
test eax, eax
jne 0xc55f5f
mov esi, 0xc71814
mov dword [ebp - 0x34], 0x296ec208
lea edi, [ebp - 0xe4]
mov dword [ebp - 0x30], 0x2fae79bc
push 0x15
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0x2c], al
mov eax, ecx
mov dword [ebp - 0x2b], 0x4ce6ac49
mov dword [ebp - 0x27], 0xf0684e6c
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x23], 0xbb249834
mov dword [ebp - 0x1f], 0x9b36a44d
mov dword [ebp - 0x1b], 0x3743d4f3
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x17], 0x99328fd6
mov dword [ebp - 0x13], 0x2bbf2bfa
mov dword [ebp - 0xf], 0x902bad73
movsw word es:[edi], word [esi]
mov word [ebp - 0xb], 0x3164
mov byte [ebp - 9], 0x4d
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc55b40
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x60]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xe4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc55b51
xor eax, eax
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, eax
mov eax, dword [0xc78588]
mov dword [ebp - 0x98], eax
lea eax, [edi + 1]
and dword [ebp - 0x98], 0xd16b3fd5
movzx edi, al
mov eax, dword [ebp - 0x40]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x40], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 0x40]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x3f8], al
inc esi
cmp esi, 0x2c
jb 0xc55ba9
mov esi, 0xc725e0
mov dword [ebp - 0x34], 0x4ee83b1b
lea edi, [ebp - 0xe4]
mov dword [ebp - 0x30], 0x70756206
push 9
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 0x60]
mov byte [ebp - 0x1e], al
movsd dword es:[edi], dword [esi]
push 0x12
pop eax
mov byte [ebp - 0x12], al
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x3cc], cl
mov dword [ebp - 0x2c], 0x77191976
mov dword [ebp - 0x28], 0x5edaae29
movsw word es:[edi], word [esi]
mov word [ebp - 0x24], 0xae8e
mov edi, ecx
mov byte [ebp - 0x22], 0x8d
mov word [ebp - 0x20], 0xf086
mov dword [ebp - 0x1d], 0x301e233
mov dword [ebp - 0x19], 0xdd32e43d
mov word [ebp - 0x15], 0xcdeb
mov byte [ebp - 0x13], 0xac
mov dword [ebp - 0x11], 0x688b744e
mov dword [ebp - 0xd], 0xbb342680
mov byte [ebp - 9], 0xa4
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc55c8f
mov eax, dword [0xc785d8]
mov esi, ecx
add eax, 0xa8aa52d4
mov dword [0xc78588], eax
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x110]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xe4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc55caf
xor eax, eax
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x40]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x40], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 0x40]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x428], al
inc esi
cmp esi, 0x2c
jb 0xc55cff
push 0x15
pop eax
push 0x65
pop ecx
push 0xc
mov byte [ebp - 0x2e], al
lea edi, [ebp - 0x80]
pop eax
push 0xf
mov byte [ebp - 0x1b], al
mov esi, 0xc6f33c
mov byte [ebp - 0x11], al
xor edx, edx
pop eax
mov byte [ebp - 0x1e], cl
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 9], al
mov eax, edx
mov byte [ebp - 0x3fc], dl
mov dword [ebp - 0x34], 0xe8f0c4b7
movsw word es:[edi], word [esi]
mov word [ebp - 0x30], 0x7451
mov edi, edx
mov dword [ebp - 0x2d], 0x5bb330fe
mov dword [ebp - 0x29], 0xc2a2917b
mov dword [ebp - 0x25], 0x9fc9e97a
mov word [ebp - 0x21], 0xf9b8
mov byte [ebp - 0x1f], 0x1f
mov word [ebp - 0x1d], 0x48b8
mov dword [ebp - 0x1a], 0x3ecbf02d
mov dword [ebp - 0x16], 0x7c14508c
mov byte [ebp - 0x12], 0xd6
mov dword [ebp - 0x10], 0xec375b1e
mov word [ebp - 0xc], 0xde4b
mov byte [ebp - 0xa], 0x2f
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc55de2
mov esi, edx
xor edx, edx
mov cl, byte [ebp + esi - 0x3c8]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x58]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x80]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x3c8]
mov byte [ebp + esi - 0x3c8], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x3c8], al
cmp esi, 0x100
jb 0xc55df3
xor eax, eax
mov dword [ebp - 0x58], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x58]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x58], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 0x58]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x94], al
inc esi
cmp esi, 0x2c
jb 0xc55e3d
push dword [ebp - 0x38]
xor eax, eax
lea edx, [ebp - 0x3f8]
push 5
pop ecx
mov byte [ebp - 0x68], al
call fcn.00c4ba1b
call eax
push dword [ebp - 8]
lea edx, [ebp - 0x428]
push 5
pop ecx
call fcn.00c4ba1b
call eax
push dword [ebp - 0x3c]
lea edx, [ebp - 0x94]
push 5
pop ecx
call fcn.00c4ba1b
call eax
call fcn.00c504eb
mov esi, 0xc71824
lea edi, [ebp - 0xe0]
xor eax, eax
mov ecx, eax
mov al, byte [str.currentContextName]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp al, byte [ebp - 0xe0]
jne 0xc55f16
test al, al
je 0xc55f16
cmp byte [ebp + ecx - 0xe0], 0
je 0xc55f16
mov al, byte [ecx + 0xc785e1]
inc ecx
cmp al, byte [ebp + ecx - 0xe0]
je 0xc55ef8
movzx eax, byte [ebp + ecx - 0xe0]
movzx ecx, byte [ecx + str.currentContextName]
sub ecx, eax
cmp ecx, 0xb67
jne 0xc55f45
mov eax, dword [0xc78588]
xor eax, 0x4b171722
mov dword [0xc785d8], eax
call fcn.00c50972
jmp 0xc55f4f
and dword [0xc78588], 0x4c09edac
mov esi, dword [ebp - 0x54]
mov ecx, esi
call fcn.00c4d317
push eax
jmp 0xc552c6
mov esi, dword [ebx + 0x10]
lea edx, [ebp - 0x588]
push esi
push 0x400
push dword [ebx + 0x14]
push dword [ebp - 0x38]
push 5
pop ecx
call fcn.00c4ba1b
call eax
cmp eax, 1
jne 0xc561d4
mov eax, dword [esi]
mov dword [ebp - 0x108], 0x7373656d
mov dword [ebp - 0x104], 0x656761
mov dword [ebp - 0x5c], eax
mov eax, dword [0xc785d8]
sub eax, 0x3ef2bb89
mov dword [ebp - 0x34], 0x28c99a03
push 0xd
mov dword [ebp - 0x60], eax
mov dword [0xc785d8], eax
pop eax
push 0x65
pop ecx
mov byte [ebp - 9], cl
xor ecx, ecx
mov byte [ebp - 0x18], al
mov esi, ecx
mov dword [ebp - 0x30], 0x5c4004c4
mov eax, ecx
mov dword [ebp - 0x2c], 0xf09eef6c
mov dword [ebp - 0x28], 0x1191abc3
mov dword [ebp - 0x24], 0xdcf23791
mov dword [ebp - 0x20], 0x9f34275f
mov dword [ebp - 0x1c], 0x5be21c03
mov dword [ebp - 0x17], 0xf666d6b5
mov dword [ebp - 0x13], 0x78a156f3
mov dword [ebp - 0xf], 0x80f4f454
mov word [ebp - 0xb], 0xe95b
mov byte [ebp + eax - 0x3c8], al
inc eax
cmp eax, 0x100
jb 0xc56010
mov dword [ebp - 0x64], ecx
mov al, byte [ebp + ecx - 0x3c8]
xor edx, edx
mov byte [ebp - 1], al
mov eax, ecx
push 7
pop ecx
div ecx
movzx ecx, byte [ebp - 1]
movzx eax, byte [ebp + edx - 0x108]
add eax, esi
add ecx, eax
movzx eax, cl
mov dword [ebp - 0xa0], eax
call fcn.00c504eb
mov esi, 0xc6f0d0
lea edi, [ebp - 0xe8]
push 0x65
xor edx, edx
pop ecx
movsd dword es:[edi], dword [esi]
mov eax, edx
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 cx, word [ebp - 0xe8]
jne 0xc560eb
mov edx, ecx
xor ecx, ecx
test dx, dx
je 0xc5609e
xor edx, edx
cmp word [ebp + ecx - 0xe8], dx
je 0xc560a0
inc eax
lea ecx, [eax + eax]
movzx edx, word [ecx + str.ext_ms_win_imm_l1_1_0.dll]
cmp dx, word [ebp + ecx - 0xe8]
je 0xc56078
xor edx, edx
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0x98], eax
cmp edi, eax
jae 0xc560eb
mov eax, dword [ebp - 0x60]
mov esi, dword [ebp - 0x98]
cmp edi, 0x5ab
jne 0xc560d1
xor eax, 0x10c1884b
mov dword [ebp - 0x60], eax
call fcn.00c50548
mov eax, dword [ebp - 0x60]
xor eax, 0x30bfebfc
inc edi
mov dword [ebp - 0x60], eax
mov dword [0xc785d8], eax
cmp edi, esi
jb 0xc560b9
mov dword [ebp - 0x110], edi
xor edx, edx
mov esi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x64]
mov al, byte [ebp + esi - 0x3c8]
mov byte [ebp + ecx - 0x3c8], al
inc ecx
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x3c8], al
mov dword [ebp - 0x64], ecx
cmp ecx, 0x100
jb 0xc56022
mov dword [ebp - 0x58], edx
mov edi, edx
mov esi, edx
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x58]
mov cl, byte [ebp + edi - 0x3c8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x58], eax
mov al, byte [ebp + eax - 0x3c8]
mov byte [ebp + edi - 0x3c8], al
mov eax, dword [ebp - 0x58]
mov byte [ebp + eax - 0x3c8], cl
movzx eax, byte [ebp + edi - 0x3c8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3c8]
xor al, byte [ebp + esi - 0x34]
mov byte [ebp + esi - 0x428], al
inc esi
cmp esi, 0x2c
jb 0xc56123
mov ecx, dword [ebp - 0x40]
xor eax, eax
add ecx, dword [ebp - 0x5c]
mov byte [ebp - 0x3fc], al
mov dword [ebp - 0x40], ecx
lea eax, [ecx + 0x400]
cmp eax, 0x500000
jae 0xc56238
mov esi, dword [ebx + 0x10]
lea edx, [ebp - 0x428]
mov eax, dword [ebx + 0x14]
push esi
push 0x400
add eax, ecx
push eax
push dword [ebp - 0x38]
push 5
pop ecx
call fcn.00c4ba1b
call eax
mov ecx, dword [esi]
mov dword [ebp - 0x5c], ecx
test ecx, ecx
je 0xc561d1
cmp eax, 1
je 0xc55fa0
mov edi, dword [ebp - 0x54]
push dword [ebp - 0x38]
lea edx, [ebp - 0x5b8]
push 5
pop ecx
call fcn.00c4ba1b
call eax
push dword [ebp - 8]
lea edx, [ebp - 0x5e8]
push 5
pop ecx
call fcn.00c4ba1b
call eax
push dword [ebp - 0x3c]
lea edx, [ebp - 0x490]
push 5
pop ecx
call fcn.00c4ba1b
call eax
mov ecx, edi
call fcn.00c4d317
push eax
xor eax, eax
push eax
push edi
call fcn.00c4cf49
add esp, 0xc
mov ecx, edi
call fcn.00c4ba07
mov eax, dword [ebp - 0x40]
mov dword [esi], eax
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 2
pop eax
jmp 0xc5622f