Function at 0xc4252a
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb74
push ebx
push esi
push edi
push 0x53
pop eax
push 0xe
mov byte [esp + 0x17], al
lea edi, [esp + 0x40]
pop eax
push 0xb
mov byte [esp + 0x1b], al
mov esi, str.no_such_device_or_address
pop eax
push 6
mov byte [esp + 0x1c], al
xor edx, edx
pop eax
mov ecx, eax
mov word [esp + 0x10], 0x95d0
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x12], 0xc4
mov word [esp + 0x14], 0x6a7d
mov byte [esp + 0x16], 0x4f
movsw word es:[edi], word [esi]
mov esi, 0xc6f51c
mov dword [esp + 0x19], 0x3ce16989
lea edi, [esp + 0xc4]
mov dword [esp + 0x1d], 0x62b0dbbc
mov dword [esp + 0x21], 0x2a5ec54
mov word [esp + 0x25], 0xd209
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x27], 0xfe
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp byte [esp + 0xc4], 0x44
jne 0xc425da
mov cl, 0x44
mov eax, edx
test cl, cl
je 0xc425da
cmp byte [esp + eax + 0xc4], dl
je 0xc425da
mov cl, byte [eax + 0xc6fd61]
inc eax
cmp cl, byte [esp + eax + 0xc4]
je 0xc425bd
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], edx
mov esi, 0xc6f630
lea edi, [esp + 0x38c]
mov ebx, edx
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]
cmp byte [esp + 0x38c], 0x44
jne 0xc4262b
mov al, 0x44
test al, al
je 0xc4262b
cmp byte [esp + ebx + 0x38c], 0
je 0xc4262b
mov ecx, dword [0xc77090]
call fcn.00c41bfb
mov al, byte [ebx + 0xc6fd61]
inc ebx
cmp al, byte [esp + ebx + 0x38c]
je 0xc42602
call fcn.00c413e2
mov esi, dword [esp + 0x30]
cmp esi, ebx
jae 0xc42677
call fcn.00c4120e
cmp esi, 0xf4a
jne 0xc4265f
imul eax, dword [0xc77060], 0xfe28d31c
push 0xc6fd60
mov dword [0xc77090], eax
call fcn.00c4187f
pop ecx
xor dword [0xc77060], 0x66582c38
call section..text
inc esi
cmp esi, ebx
jb 0xc42638
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x34]
mov edi, 0x100
push 0
pop edx
mov byte [esp + eax + 0x3a0], al
inc eax
mov dword [esp + 0x34], eax
cmp eax, edi
jb 0xc425e2
push 0x19
xor esi, esi
pop ecx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
mov eax, esi
div ecx
movzx ecx, bl
push 0x19
movzx eax, byte [esp + edx + 0x40]
add eax, dword [esp + 0x3c]
add ecx, eax
movzx ecx, cl
mov dword [esp + 0x3c], ecx
mov al, byte [esp + ecx + 0x3a4]
mov byte [esp + esi + 0x3a4], al
inc esi
mov byte [esp + ecx + 0x3a4], bl
pop ecx
cmp esi, edi
jb 0xc4269c
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
mov eax, dword [0xc77090]
add eax, 0x70cde8be
mov dword [esp + 0x2c], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x5f4], al
inc esi
cmp esi, 0x18
jb 0xc426f1
push 0x43
pop eax
mov dword [esp + 0xb4], eax
lea edi, [esp + 0x4b8]
mov byte [esp + 0x51], al
mov esi, 0xc6f644
push 0xe
pop eax
mov ecx, eax
mov dword [esp + 0x3c], 0xc0c6ccca
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [esp + 0x40], 0xc9a159de
mov byte [esp + 0x60c], dl
mov eax, edx
mov dword [esp + 0x44], 0x9f89b277
movsw word es:[edi], word [esi]
mov dword [esp + 0x48], 0x527d244e
mov edi, edx
mov dword [esp + 0x4c], 0xf9dc6076
mov byte [esp + 0x50], 0xdb
mov dword [esp + 0x52], 0xa1b54d6d
mov dword [esp + 0x56], 0x7e01eb5d
mov dword [esp + 0x5a], 0x67522416
mov dword [esp + 0x5e], 0x3d7fb4ca
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc427be
mov ebx, dword [esp + 0x90]
mov esi, edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], 0x39
xor edx, edx
mov cl, byte [esp + esi + 0x3a0]
mov eax, esi
mov byte [esp + 0x2b], cl
div dword [esp + 0x30]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x4b8]
add eax, edi
add ecx, eax
movzx eax, cl
mov dword [esp + 0x74], eax
call fcn.00c422ff
xor eax, eax
mov edi, eax
mov eax, dword [esp + 0x2c]
xor eax, 0x8c926598
inc edi
cmp byte [edi + 0xc6fd60], 0
jne 0xc42818
mov dword [0xc77060], eax
call fcn.00c41ebc
mov eax, dword [0xc77060]
mov dword [esp + 0x2c], eax
mov eax, dword [0xc77090]
mov dword [esp + 0x6c], eax
cmp ebx, edi
jae 0xc42889
mov esi, dword [esp + 0x2c]
push 0xc6fe24
push 0xc6fd60
call fcn.00c420cc
pop ecx
pop ecx
cmp ebx, 0x90a
jne 0xc4286c
imul ecx, esi, 0xf2e1fd7d
jmp 0xc42870
mov ecx, dword [esp + 0x6c]
and ecx, 0xad27b7e2
inc ebx
mov dword [esp + 0x6c], ecx
mov dword [0xc77090], ecx
cmp ebx, edi
jb 0xc4284b
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x74]
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov al, byte [esp + 0x2b]
mov byte [esp + edi + 0x3a0], al
mov dword [esp + 0x34], esi
cmp esi, 0x100
jb 0xc427e2
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x3c]
movzx eax, al
mov word [esp + esi*2 + 0x948], ax
inc esi
cmp esi, 0x26
jb 0xc428bf
xor eax, eax
mov dword [esp + 0x10], 0x3837efa1
push 5
mov esi, str.__LOG_
mov word [esp + 0x998], ax
pop eax
lea edi, [esp + 0x90]
mov byte [esp + 0x1a], al
push 0xe
movsd dword es:[edi], dword [esi]
xor ecx, ecx
pop eax
mov byte [esp + 0x21], al
push 0x2e
movsw word es:[edi], word [esi]
pop eax
mov byte [esp + 0x27], al
mov eax, ecx
mov dword [esp + 0x14], 0x35af8a6a
movsb byte es:[edi], byte [esi]
mov word [esp + 0x18], 0x8bae
mov edi, ecx
mov dword [esp + 0x1b], 0x922c3a9f
mov word [esp + 0x1f], 0x2b99
mov dword [esp + 0x22], 0x7c372bc2
mov byte [esp + 0x26], 0xda
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc4297b
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
push 6
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x90]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc4298c
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x610], al
inc esi
cmp esi, 0x18
jb 0xc429d4
mov esi, 0xc6f688
mov dword [esp + 0x10], 0x8c32507f
lea edi, [esp + 0xc4]
mov dword [esp + 0x14], 0xf6175091
push 0x43
xor ecx, ecx
mov dword [esp + 0x1d], 0xa4bfc133
movsd dword es:[edi], dword [esi]
pop eax
mov byte [esp + 0x18], al
mov eax, ecx
mov byte [esp + 0x628], cl
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1d], 0xd52084ca
mov dword [esp + 0x21], 0xefea9c40
mov word [esp + 0x25], 0x9208
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x27], 0xa9
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc42a7c
sub dword [esp + 0x2c], 0x6eda000
mov esi, ecx
push 0xc
pop ecx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
mov eax, esi
div ecx
movzx ecx, bl
push 0xc
movzx eax, byte [esp + edx + 0xc8]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc42a98
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
imul eax, dword [esp + 0x2c], 0x2c158b70
mov byte [esp + ebx + 0x3a0], cl
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x62c], al
inc esi
cmp esi, 0x18
jb 0xc42ae0
mov esi, 0xc6f698
mov dword [esp + 0x10], 0x19de89c1
lea edi, [esp + 0xc4]
mov dword [esp + 0x14], 0x2f909d9c
xor ecx, ecx
mov dword [esp + 0x18], 0x97323b94
mov byte [esp + 0x644], cl
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c], 0x2847a047
mov dword [esp + 0x20], 0xfb64ca01
mov dword [esp + 0x24], 0x7f45af58
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc42b8b
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
push 0xe
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0xc4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc42b9c
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x648], al
inc esi
cmp esi, 0x18
jb 0xc42be4
push 5
pop ebx
push 0xe
pop edx
push 0x43
pop eax
push 0x53
mov byte [esp + 0xfa], al
xor ecx, ecx
pop eax
push 0x15
mov byte [esp + 0xe9], dl
mov byte [esp + 0x111], dl
pop edx
mov byte [esp + 0x660], cl
mov dword [esp + 0xd8], 0xd36c605c
mov dword [esp + 0xdc], 0xb0c838ed
mov byte [esp + 0xe0], 0x68
mov byte [esp + 0xe1], bl
mov word [esp + 0xe2], 0x8a4a
mov byte [esp + 0xe4], 0x70
mov dword [esp + 0xe6], 0x45b3473b
mov dword [esp + 0xea], 0x72d264bf
mov dword [esp + 0xee], 0x44c46fbf
mov dword [esp + 0xf2], 0x446bef80
mov dword [esp + 0xf7], 0x4eca5a8d
mov byte [esp + 0xfb], al
mov dword [esp + 0xfc], 0xa3788bac
mov dword [esp + 0x100], 0xed9da7e9
mov word [esp + 0x104], 0x87cc
mov byte [esp + 0x106], 0xd1
mov byte [esp + 0x107], al
mov dword [esp + 0x108], 0x30822bd1
mov byte [esp + 0x10c], 0xf9
mov dword [esp + 0x10e], 0x6c18b929
mov dword [esp + 0x112], 0x2e89ea9d
mov dword [esp + 0x116], 0xf0478c42
mov dword [esp + 0x11a], 0x8a78e24f
mov dword [esp + 0x11e], 0x3e0d36d1
mov dword [esp + 0x122], 0x975fbfcb
mov dword [esp + 0x126], 0x8cb9fcd2
mov dword [esp + 0x12a], 0x5d594ecb
mov dword [esp + 0x12e], 0xd183a856
mov byte [esp + 0x132], dl
mov dword [esp + 0x133], 0xe6d85b13
mov dword [esp + 0x137], 0x49a5dbb6
mov dword [esp + 0x13b], 0x1eaaa732
mov dword [esp + 0x13f], 0x967a8965
mov dword [esp + 0x143], 0x13a7274
mov dword [esp + 0x147], 0x6093c74e
mov dword [esp + 0x14b], 0x5dceecb1
mov dword [esp + 0x14f], 0x2f7efdf7
mov dword [esp + 0x153], 0xbe90c641
mov dword [esp + 0x157], 0x177579f7
mov dword [esp + 0x15b], 0x79877270
mov dword [esp + 0x15f], 0xe02e0232
mov dword [esp + 0x163], 0xc490a0a8
mov dword [esp + 0x167], 0xe8317f6b
mov dword [esp + 0x16b], 0xc11031be
mov dword [esp + 0x16f], 0x840e3022
mov dword [esp + 0x173], 0xa33e2b66
mov dword [esp + 0x177], 0x178cf90d
mov dword [esp + 0x17b], 0x2fd37ed6
mov byte [esp + 0x17f], 0x6d
mov byte [esp + 0x180], al
mov dword [esp + 0x181], 0x767916e3
mov dword [esp + 0x185], 0x4f1149ec
mov dword [esp + 0x189], 0xaba2c664
mov dword [esp + 0x18d], 0x374e4599
mov dword [esp + 0x191], 0x3afe97dc
mov dword [esp + 0x195], 0x32004ae1
mov dword [esp + 0x199], 0xd8aa3787
mov dword [esp + 0x19d], 0x497dacd
mov dword [esp + 0x1a1], 0xc9e7a84
mov dword [esp + 0x1a5], 0x5befda82
mov dword [esp + 0x1a9], 0x357daca0
mov dword [esp + 0x1ad], 0x163d854
mov dword [esp + 0x1b1], 0xadf7c80d
mov dword [esp + 0x1b5], 0x3043a4e4
mov dword [esp + 0x1b9], 0x777b90d9
mov dword [esp + 0x1bd], 0xe5b96750
mov esi, 0xc6f6a8
mov byte [esp + 0x208], dl
lea edi, [esp + 0xc4]
mov dword [esp + 0x1c1], 0x917cbf28
push 0x34
pop edx
movsd dword es:[edi], dword [esi]
push 7
mov byte [esp + 0x283], dl
pop edx
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c5], 0xb6b1c8e9
mov dword [esp + 0x1c9], 0x61a8f24f
mov dword [esp + 0x1cd], 0x1facc82b
mov dword [esp + 0x1d1], 0xc569e4a8
mov dword [esp + 0x1d5], 0x9ea00f62
mov dword [esp + 0x1d9], 0xdd655a08
mov dword [esp + 0x1dd], 0x8dc4799b
mov dword [esp + 0x1e1], 0xc921a285
mov dword [esp + 0x1e5], 0x18cab0ba
mov dword [esp + 0x1e9], 0x5e0ff11b
mov dword [esp + 0x1ed], 0x74e2595c
mov dword [esp + 0x1f1], 0x2f6c8cae
mov dword [esp + 0x1f5], 0xcdabc5a7
mov dword [esp + 0x1f9], 0xd9afe404
mov dword [esp + 0x1fd], 0xa8986da8
mov dword [esp + 0x201], 0x3622296
mov word [esp + 0x205], 0x177e
mov byte [esp + 0x207], 0x84
mov dword [esp + 0x209], 0xc5357132
mov dword [esp + 0x20d], 0xb54740c7
mov dword [esp + 0x211], 0xf03fbd74
mov dword [esp + 0x215], 0xc9f5fe99
mov dword [esp + 0x219], 0xdd3b045c
mov byte [esp + 0x21d], bl
mov dword [esp + 0x21e], 0xda558a94
mov dword [esp + 0x222], 0x64faf491
mov dword [esp + 0x226], 0x1b812fd5
mov dword [esp + 0x22a], 0xc4b2ec90
mov dword [esp + 0x22e], 0xe3daf888
mov dword [esp + 0x232], 0xef83b0e1
mov dword [esp + 0x236], 0x66ba7d60
mov dword [esp + 0x23a], 0x425591ea
mov dword [esp + 0x23e], 0x16f4b5f5
mov dword [esp + 0x242], 0x2d1cebb0
mov dword [esp + 0x246], 0x88416c4c
mov dword [esp + 0x24a], 0xf022ba7f
mov byte [esp + 0x24e], al
mov dword [esp + 0x24f], 0xc23309b
mov dword [esp + 0x253], 0xbaac01f7
mov dword [esp + 0x257], 0xd210e097
mov dword [esp + 0x25b], 0x542fd185
mov dword [esp + 0x25f], 0x5e29a31e
mov dword [esp + 0x263], 0xd3cdd6a6
mov dword [esp + 0x267], 0x92ad4492
mov dword [esp + 0x26b], 0x7dff1df1
mov byte [esp + 0x26f], bl
mov dword [esp + 0x270], 0xa191e5ef
mov dword [esp + 0x274], 0xd4d63765
mov byte [esp + 0x278], bl
mov dword [esp + 0x279], 0x6e28f836
mov word [esp + 0x27d], 0xbbec
mov dword [esp + 0x280], 0x75fcf044
mov dword [esp + 0x284], 0x5addf2c2
mov dword [esp + 0x288], 0x29a95ed4
mov dword [esp + 0x28c], 0x4d6c2227
mov word [esp + 0x290], 0x854f
mov byte [esp + 0x292], dl
mov byte [esp + 0x293], 0xa8
mov byte [esp + 0x294], al
mov dword [esp + 0x295], 0x1e90e4cc
mov dword [esp + 0x299], 0xc4b4b773
mov dword [esp + 0x29d], 0x3da1f779
mov dword [esp + 0x2a1], 0xe2afb2bd
mov dword [esp + 0x2a5], 0x9f89aa20
mov dword [esp + 0x2a9], 0x5b480171
mov dword [esp + 0x2ad], 0x58c5b274
mov dword [esp + 0x2b1], 0xeae7d3b5
mov word [esp + 0x2b5], 0x8d80
mov byte [esp + 0x2b7], 0x18
movsd dword es:[edi], dword [esi]
imul eax, dword [esp + 0x6c], 0xca205420
mov edi, ecx
mov dword [esp + 0x34], eax
mov eax, ecx
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc43222
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0xc4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc43233
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov eax, dword [esp + 0x34]
and eax, 0x86d7f4a5
mov byte [esp + ebx + 0x3a0], cl
mov dword [esp + 0x34], eax
mov dword [0xc77090], eax
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0xd8]
mov byte [esp + esi + 0x998], al
inc esi
cmp esi, 0x1e0
jb 0xc4327b
mov eax, dword [esp + 0x2c]
lea edi, [esp + 0x98]
xor edx, edx
mov dword [esp + 0x10], 0x4e89092f
sub eax, 0x4795bc74
mov byte [esp + 0xb78], dl
mov dword [0xc77060], eax
mov esi, 0xc6f6b4
push 5
pop eax
mov ecx, eax
mov byte [esp + 0x20], al
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], 0xdd028c0d
mov eax, edx
mov dword [esp + 0x18], 0xc9214995
mov dword [esp + 0x1c], 0xebd6ed82
movsb byte es:[edi], byte [esi]
mov dword [esp + 0x21], 0x99f763da
mov edi, edx
mov word [esp + 0x25], 0xfbaa
mov byte [esp + 0x27], 0xae
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc4334a
push 0x14
mov esi, edx
pop ecx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
mov eax, esi
div ecx
movzx ecx, bl
push 0x14
movzx eax, byte [esp + edx + 0x9c]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc4335e
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x664], al
inc esi
cmp esi, 0x18
jb 0xc433a6
push 0xd
pop ecx
mov esi, 0xc6f6cc
mov dword [esp + 0x10], 0xb316b531
lea edi, [esp + 0x4b8]
mov dword [esp + 0x14], 0x54f6b884
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [esp + 0x18], 0xae55fb81
mov byte [esp + 0x67c], dl
mov eax, edx
mov dword [esp + 0x1c], 0xd1eefebd
movsb byte es:[edi], byte [esi]
mov dword [esp + 0x20], 0xe8d401f6
mov edi, edx
mov dword [esp + 0x24], 0x971aa6e9
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc43445
mov esi, edx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
push 0x34
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x4b8]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc43456
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x69c], al
inc esi
cmp esi, 0x18
jb 0xc4349e
push 5
pop eax
mov byte [esp + 0x27], al
xor ecx, ecx
mov eax, dword [0xc6f704]
mov esi, ecx
mov dword [esp + 0x90], eax
mov ax, word [0xc6f708]
mov word [esp + 0x94], ax
mov eax, ecx
mov byte [esp + 0x6b4], cl
mov dword [esp + 0x10], 0xdf5e1dcc
mov dword [esp + 0x14], 0xcc559e68
mov dword [esp + 0x18], 0x273ce1e8
mov dword [esp + 0x1c], 0x930362e5
mov dword [esp + 0x20], 0xbe55f87f
mov word [esp + 0x24], 0x17e3
mov byte [esp + 0x26], 0x8e
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc43550
mov ebx, ecx
push 5
xor edx, edx
mov cl, byte [esp + ebx + 0x3a4]
pop edi
mov eax, ebx
mov byte [esp + 0x2b], cl
div edi
movzx ecx, cl
movzx eax, byte [esp + edx + 0x90]
add eax, esi
add ecx, eax
movzx eax, cl
mov dword [esp + 0x30], eax
call fcn.00c41157
xor eax, eax
mov esi, 0xc6f70c
push edi
mov edx, eax
lea edi, [esp + 0x9c]
pop eax
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
cmp byte [esp + 0x98], 0x44
jne 0xc435d0
mov al, 0x44
test al, al
je 0xc435d0
cmp byte [esp + edx + 0x98], 0
je 0xc435d0
mov al, byte [edx + 0xc6fd61]
inc edx
cmp al, byte [esp + edx + 0x98]
je 0xc435b2
movzx eax, byte [esp + edx + 0x98]
movzx esi, byte [edx + 0xc6fd60]
sub esi, eax
call fcn.00c41ebc
mov eax, dword [0xc77090]
mov dword [esp + 0x2c], eax
cmp esi, 0x12ef
jne 0xc435ff
imul eax, eax, 0xe978a013
jmp 0xc43609
mov eax, dword [0xc77060]
add eax, 0xe5d6faba
mov esi, dword [esp + 0x30]
mov dword [esp + 0x70], eax
mov dword [0xc77060], eax
mov al, byte [esp + esi + 0x3a0]
mov byte [esp + ebx + 0x3a0], al
inc ebx
mov al, byte [esp + 0x2b]
mov byte [esp + esi + 0x3a0], al
cmp ebx, 0x100
jb 0xc43561
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x680], al
inc esi
cmp esi, 0x18
jb 0xc43644
mov ecx, dword [esp + 0x2c]
xor edx, edx
push 7
pop eax
mov byte [esp + 0x17], al
mov edi, edx
push 0x34
pop eax
mov byte [esp + 0x1a], al
mov eax, edx
mov byte [esp + 0x698], dl
mov dword [esp + 0x10], 0xe2b2c2c4
mov word [esp + 0x14], 0x5c2f
mov byte [esp + 0x16], 0x9a
mov word [esp + 0x18], 0x925e
mov dword [esp + 0x1b], 0x2bd11c50
mov dword [esp + 0x1f], 0x3e75ed4f
mov dword [esp + 0x23], 0xf4c65b8c
mov byte [esp + 0x27], 0x36
mov dword [esp + 0x90], 0x656c6966
mov dword [esp + 0x94], 0x5c5c3a
and ecx, 0x30a65c6d
mov byte [esp + eax + 0x3a0], al
inc eax
mov dword [0xc77090], ecx
cmp eax, 0x100
jb 0xc43701
mov dword [esp + 0x2c], ecx
mov esi, edx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x90]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc43722
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x530], al
inc esi
cmp esi, 0x18
jb 0xc4376a
call fcn.00c41c6e
push 7
pop eax
mov ecx, eax
lea edi, [esp + 0x3c]
push 0x53
mov esi, 0xc6f720
xor edx, edx
pop eax
rep movsd dword es:[edi], dword [esi]
mov ebx, edx
cmp ax, word [esp + 0x3c]
jne 0xc437ff
mov ecx, eax
mov eax, edx
test cx, cx
je 0xc437ff
cmp word [esp + eax + 0x3c], dx
je 0xc437ff
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0xc6f920]
cmp cx, word [esp + eax + 0x3c]
je 0xc437e1
call fcn.00c413e2
mov esi, dword [esp + 0x90]
jmp 0xc43847
mov edx, dword [esp + 0x2c]
call fcn.00c416ec
cmp esi, 0x126e
jne 0xc43832
imul ecx, dword [esp + 0x70], 0x65ea6dfc
mov dword [esp + 0x2c], ecx
mov dword [0xc77090], ecx
jmp 0xc43836
mov ecx, dword [esp + 0x2c]
mov eax, ecx
and eax, 0xf8fecaa2
mov dword [esp + 0x70], eax
call fcn.00c41bfb
inc esi
cmp esi, ebx
jb 0xc4380d
mov ecx, dword [esp + 0x2c]
lea edi, [esp + 0x90]
push 0x15
pop eax
push 0x39
mov esi, 0xc6f73c
mov byte [esp + 0x43], al
pop eax
push 0x2e
mov byte [esp + 0x45], al
xor edx, edx
movsd dword es:[edi], dword [esi]
xor ecx, 0xf3d06baa
pop eax
mov byte [esp + 0x53], al
push 0x34
movsw word es:[edi], word [esi]
pop eax
mov byte [esp + 0x62], al
mov eax, edx
mov byte [esp + 0x548], dl
movsb byte es:[edi], byte [esi]
mov word [esp + 0x3c], 0x4130
mov edi, edx
mov byte [esp + 0x3e], 0x5b
mov byte [esp + 0x40], 0x17
mov dword [esp + 0x42], 0xbc1bf31b
mov dword [esp + 0x46], 0x1baf8ef6
mov dword [esp + 0x4a], 0x964a6ba0
mov dword [esp + 0x4e], 0x36ca9b1b
mov byte [esp + 0x52], 0x1b
mov dword [esp + 0x54], 0xd441747e
mov dword [esp + 0x58], 0x2c4f2ce0
mov dword [esp + 0x5c], 0xc477c560
mov word [esp + 0x60], 0xe1a4
mov dword [esp + 0x63], 0xd6582fb4
mov byte [esp + 0x67], 0xaa
mov dword [esp + 0x34], ecx
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc438f4
mov esi, edx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
push 6
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x90]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc43905
xor eax, eax
mov ebx, eax
mov dword [esp + 0x38], eax
mov edx, eax
lea eax, [edx + 1]
movzx eax, al
mov dword [esp + 0xb8], eax
push 0xc6fd60
mov al, byte [esp + eax + 0x3a4]
mov byte [esp + 0x2f], al
movzx eax, al
mov dword [esp + 0x74], eax
add eax, ebx
movzx eax, al
mov dword [esp + 0x78], eax
call fcn.00c4187f
pop ecx
xor eax, eax
lea edi, [esp + 0x98]
push 5
mov ebx, eax
mov esi, 0xc6f744
pop eax
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [esp + 0x98], 0x44
jne 0xc439fd
mov al, 0x44
test al, al
je 0xc439c5
cmp byte [esp + ebx + 0x98], 0
je 0xc439c5
mov al, byte [ebx + 0xc6fd61]
inc ebx
cmp al, byte [esp + ebx + 0x98]
je 0xc439a7
mov esi, dword [esp + 0x30]
cmp esi, ebx
jae 0xc439fd
cmp esi, 0x565
jne 0xc439e7
mov eax, dword [esp + 0x2c]
and eax, 0x4718126d
mov dword [esp + 0x2c], eax
mov dword [0xc77090], eax
xor dword [esp + 0x34], 0xa24eb885
call fcn.00c41936
inc esi
cmp esi, ebx
jb 0xc439cd
mov dword [esp + 0x30], esi
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x38]
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edx + 0x3a0], al
mov al, byte [esp + 0x2b]
mov byte [esp + ebx + 0x3a0], al
movzx eax, byte [esp + edx + 0x3a0]
add eax, dword [esp + 0x70]
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + ecx + 0x3c]
mov byte [esp + ecx + 0x918], al
inc ecx
mov dword [esp + 0x38], ecx
cmp ecx, 0x2c
jb 0xc4394f
push 0xc
pop eax
push 0x11
xor edx, edx
mov byte [esp + 0x20], al
pop ecx
mov esi, 0xc6f760
mov byte [esp + 0x944], dl
lea edi, [esp + 0x4b8]
mov dword [esp + 0x10], 0xa944658c
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], 0x6bf5d631
mov esi, edx
mov dword [esp + 0x18], 0xf0acf95f
mov eax, edx
mov dword [esp + 0x1d], 0x84d61ee7
mov dword [esp + 0x21], 0x316446c6
mov word [esp + 0x25], 0xc354
mov byte [esp + 0x27], 0xd8
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc43aad
mov edi, dword [esp + 0x90]
mov ebx, edx
mov dword [esp + 0x34], ebx
xor edx, edx
mov cl, byte [esp + ebx + 0x3a0]
mov eax, ebx
mov byte [esp + 0x2b], cl
div dword [esp + 0xb4]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x4b8]
add eax, esi
add ecx, eax
movzx eax, cl
mov dword [esp + 0x30], eax
call fcn.00c41157
mov ecx, dword [esp + 0x2c]
xor edx, edx
mov esi, edx
imul ecx, ecx, 0x487bf336
inc esi
cmp word [esi*2 + 0xc6f920], dx
jne 0xc43b02
mov dword [esp + 0x2c], ecx
cmp edi, esi
jae 0xc43b3f
mov ebx, ecx
call fcn.00c41b47
cmp edi, 0xe53
jne 0xc43b30
add ebx, 0x4fee05b7
inc edi
cmp edi, esi
jb 0xc43b1d
mov dword [esp + 0x2c], ebx
xor edx, edx
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov al, byte [esp + esi + 0x3a0]
mov byte [esp + ebx + 0x3a0], al
inc ebx
mov al, byte [esp + 0x2b]
mov byte [esp + esi + 0x3a0], al
mov dword [esp + 0x34], ebx
cmp ebx, 0x100
jb 0xc43ac9
mov ebx, edx
mov edi, edx
mov esi, edx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
imul eax, dword [esp + 0x2c], 0xa04a59c0
mov byte [esp + ebx + 0x3a0], cl
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x54c], al
inc esi
cmp esi, 0x18
jb 0xc43b73
push 5
pop ecx
mov byte [esp + 0x55], cl
lea edi, [esp + 0x98]
mov byte [esp + 0x5c], cl
mov esi, 0xc6f488
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x2c]
xor edx, edx
push 0xa
pop eax
mov byte [esp + 0x5a], al
or ecx, 0x8fd8bf49
push 0xe
pop eax
movsw word es:[edi], word [esi]
mov byte [esp + 0x60], al
mov edi, edx
mov byte [esp + 0x564], dl
mov eax, edx
mov dword [esp + 0x3c], 0xda77211d
mov dword [esp + 0x40], 0xe14c215a
mov dword [esp + 0x44], 0xcac79a93
mov dword [esp + 0x48], 0x25b8dbd6
mov dword [esp + 0x4c], 0x3a95967
mov dword [esp + 0x50], 0xcf566dec
mov byte [esp + 0x54], 0xf7
mov dword [esp + 0x56], 0xb4759d9d
mov byte [esp + 0x5b], 0xf4
mov word [esp + 0x5d], 0x9dcf
mov byte [esp + 0x5f], 0xa0
mov dword [esp + 0x61], 0x49b8f7f9
mov word [esp + 0x65], 0x263
mov byte [esp + 0x67], 0x78
mov dword [0xc77060], ecx
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc43c77
xor ecx, 0xed080d89
mov esi, edx
mov dword [esp + 0x2c], ecx
mov dword [0xc77090], ecx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
push 0x15
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x98]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc43c98
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x3c]
mov byte [esp + esi + 0x8b8], al
inc esi
cmp esi, 0x2c
jb 0xc43ce0
xor eax, eax
mov byte [esp + 0x10], 0x55
push 0x15
mov byte [esp + 0x8e8], al
pop eax
mov byte [esp + 0x11], al
push 0xa
pop eax
mov word [esp + 0x12], 0x3a67
mov byte [esp + 0x14], 0x3d
mov byte [esp + 0x15], al
mov dword [esp + 0x16], 0xafabb295
mov dword [esp + 0x1a], 0x41558366
mov dword [esp + 0x1e], 0xda483365
mov dword [esp + 0x22], 0x1433306b
mov word [esp + 0x26], 0x8dd1
call fcn.00c4239d
mov esi, 0xc6f0d0
lea edi, [esp + 0x38c]
push 0x53
xor edx, edx
pop eax
movsd dword es:[edi], dword [esi]
mov ebx, 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 ax, word [esp + 0x38c]
jne 0xc43dd7
mov ecx, eax
mov eax, edx
test cx, cx
je 0xc43dd7
cmp word [esp + eax + 0x38c], dx
je 0xc43dd7
call fcn.00c4120e
inc ebx
push 0
pop edx
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0xc6f920]
cmp cx, word [esp + eax + 0x38c]
je 0xc43dab
movzx eax, byte [esp + ebx*2 + 0x38c]
movzx ecx, byte [ebx*2 + 0xc6f920]
sub ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, 0x1d25
jae 0xc43e01
add eax, 0xd8289c6b
mov dword [0xc77060], eax
jmp 0xc43e0b
add eax, 0x60df0442
mov dword [0xc77090], eax
mov esi, 0xc6f7a4
lea edi, [esp + 0xc4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
call fcn.00c41ebc
xor eax, eax
mov esi, eax
mov eax, dword [0xc77090]
imul ebx, eax, 0x217dd71f
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ebx
xor ebx, ebx
call fcn.00c422ff
inc esi
cmp word [esi*2 + 0xc6f920], bx
jne 0xc43e39
mov ebx, dword [esp + 0x70]
mov edx, ebx
call fcn.00c416ec
cmp dword [esp + 0x30], esi
jae 0xc43e73
mov eax, ebx
xor eax, 0x95f7b7c7
sub esi, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
call fcn.00c41b47
sub esi, 1
jne 0xc43e69
xor ecx, ecx
mov edi, ecx
mov eax, ecx
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc43e79
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x3a0]
push 0xc
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0xc4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc43e8a
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
mov eax, dword [esp + 0x6c]
add eax, 0x22c4cdd0
mov dword [esp + 0x6c], eax
mov dword [0xc77090], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x568], al
inc esi
cmp esi, 0x18
jb 0xc43ee4
mov esi, 0xc6f7b4
mov word [esp + 0x3c], 0x40f3
lea edi, [esp + 0x38c]
mov dword [esp + 0x3f], 0xc0afb7e3
push 5
pop eax
movsd dword es:[edi], dword [esi]
xor ebx, ebx
push 0x39
pop ecx
push 7
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x42], al
pop eax
mov byte [esp + 0x4c], al
movsd dword es:[edi], dword [esi]
push 0x15
pop eax
mov byte [esp + 0x60], al
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x580], bl
mov dword [esp + 0x43], 0x52a5d03f
mov dword [esp + 0x47], 0x513f8def
movsb byte es:[edi], byte [esi]
mov byte [esp + 0x4b], cl
mov edi, ebx
mov dword [esp + 0x4d], 0xcb7a32f6
mov dword [esp + 0x51], 0xefb7267c
mov word [esp + 0x55], 0x470
mov byte [esp + 0x57], 0xb6
mov byte [esp + 0x58], cl
mov byte [esp + 0x59], cl
mov dword [esp + 0x5a], 0xa34bad88
mov word [esp + 0x5e], 0x6538
mov dword [esp + 0x61], 0xeaf175f1
mov word [esp + 0x65], 0xdd60
mov byte [esp + 0x67], 9
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc43fd4
mov esi, ebx
mov dl, byte [esp + esi + 0x3a0]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [esp + eax + 0x38c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], dl
cmp esi, 0x100
jb 0xc43fe5
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x3a0]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x3a0]
mov byte [esp + edi + 0x3a0], al
mov byte [esp + ebx + 0x3a0], cl
movzx eax, byte [esp + edi + 0x3a0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + esi + 0x3c]
mov byte [esp + esi + 0x8e8], al
inc esi
cmp esi, 0x2c
jb 0xc44027
push 0x15
mov esi, 0xc6f51c
mov word [esp + 0x14], 0xc928
pop eax
lea edi, [esp + 0xc4]
mov byte [esp + 0x13], al
push 0x39
movsd dword es:[edi], dword [esi]
xor ecx, ecx
pop eax
push 0x12
mov byte [esp + 0x20], al
movsd dword es:[edi], dword [esi]
pop eax
mov byte [esp + 0x1e], al
push 7
movsw word es:[edi], word [esi]
pop eax
mov byte [esp + 0x27], al
mov eax, ecx
mov byte [esp + 0x914], cl
movsb byte es:[edi], byte [esi]
mov byte [esp + 0x12], pe_nt_image_headers32
mov edi, ecx
mov dword [esp + 0x14], 0xf3dded1
mov dword [esp + 0x18], 0x400fa562
mov byte [esp + 0x1d], 0x9f
mov dword [esp + 0x1f], 0x73d11edf
mov dword [esp + 0x23], 0x3c4c8a7
mov byte [esp + eax + 0x3a0], al
inc eax
cmp eax, 0x100
jb 0xc440e2
mov esi, ecx
mov eax, dword [esp + 0x70]
xor edx, edx
xor eax, 0x46a86fb8
mov bl, byte [esp + esi + 0x3a0]
mov dword [esp + 0x70], eax
mov dword [0xc77060], eax
mov eax, esi
push 0xa
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0xc4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x3a0]
mov byte [esp + esi + 0x3a0], al
inc esi
mov byte [esp + edi + 0x3a0], bl
cmp esi, 0x100
jb 0xc440f3
mov esi, 0xc6f258
lea edi, [esp + 0x380]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp byte [esp + 0x380], 0x44
jne 0xc44185
mov al, 0x44
xor esi, esi
test al, al
je 0xc44185
cmp byte [esp + esi + 0x380], 0
je 0xc44185
call fcn.00c4239d
mov al, byte [esi + 0xc6fd61]
inc esi
cmp al, byte [esp + esi + 0x380]
je 0xc44162
xor eax, eax
mov ecx, eax
mov dword [esp + 0x34], eax
mov edx, eax
mov ebx, eax
lea eax, [edx + 1]
mov esi, 0xc6f7c8
movzx edx, al
lea edi, [esp + 0x98]
push 5
mov dword [esp + 0x78], edx
mov al, byte [esp + edx + 0x3a4]
mov byte [esp + 0x2f], al
movzx eax, al
mov dword [esp + 0x3c], eax
add eax, ecx
pop ecx
rep movsd dword es:[edi], dword [esi]
movzx eax, al
push 0x53
mov dword [esp + 0xbc], eax
xor eax, eax
pop ecx
movsw word es:[edi], word [esi]
cmp cx, word [esp + 0x98]
jne 0xc44214
mov ebx, eax
xor esi, esi
test cx, cx
je 0xc4420c
cmp word [esp + eax + 0x98], si
je 0xc4420c
mov ecx, dword [esp + 0x6c]
call fcn.00c41bfb
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0xc6f920]
cmp cx, word [esp + eax + 0x98]
je 0xc441df
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0xb8]
mov al, byte [esp + ecx + 0x3a0]
mov byte [esp + edx + 0x3a0], al
mov al, byte [esp + 0x2b]
mov byte [esp + ecx + 0x3a0], al
movzx eax, byte [esp + edx + 0x3a0]
add eax, dword [esp + 0x38]
movzx eax, al
mov al, byte [esp + eax + 0x3a0]
xor al, byte [esp + ebx + 0x10]
mov byte [esp + ebx + 0x584], al
inc ebx
mov dword [esp + 0x34], ebx
cmp ebx, 0x18
jb 0xc44191
xor ebx, ebx
mov byte [esp + 0x59c], bl
call fcn.00c581fc
test eax, eax
jne 0xc45558
lea eax, [esp + 0x948]
xor ecx, ecx
push eax
push 1
push ebx
lea edx, [esp + 0x600]
inc ecx
call fcn.00c4ba1b
call eax
xor ecx, ecx
lea edx, [esp + 0x610]
inc ecx
call fcn.00c4ba1b
call eax
cmp eax, 0xb7
je 0xc45558
push 0xf
pop ecx
call fcn.00c4d5dc
call fcn.00c5767e
mov ecx, dword [0xc77090]
mov esi, eax
mov dword [esp + 0x38], esi
xor eax, eax
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xd4], 0x7b
add ecx, 0x4000e485
inc ebx
cmp word [ebx*2 + 0xc6f920], ax
jne 0xc442e5
push 0xc6fe24
mov dword [0xc77090], ecx
call fcn.00c4187f
mov edi, dword [esp + 0x94]
pop ecx
cmp edi, ebx
jae 0xc44345
mov esi, dword [0xc77060]
call fcn.00c41936
cmp edi, 0x86b
jne 0xc4432b
xor esi, 0x7a684b1
sub esi, 0x43e5450c
call fcn.00c413e2
inc edi
cmp edi, ebx
jb 0xc44318
mov dword [0xc77060], esi
mov esi, dword [esp + 0x38]
xor ebx, ebx
mov ecx, 0x208
inc ebx
call fcn.00c4b9d3
mov edi, eax
mov ecx, 0x800
mov dword [esp + 0x34], edi
call fcn.00c4b9d3
mov ecx, 0x100000
mov dword [esp + 0x70], eax
call fcn.00c4b9d3
mov ecx, 0x100000
mov dword [esp + 0xb4], eax
call fcn.00c4b9d3
mov ecx, 0x100000
mov dword [esp + 0x2c], eax
call fcn.00c4b9d3
or dword [0xc77060], 0x4171f9a7
mov ecx, 0x100000
mov dword [esp + 0x30], eax
call fcn.00c4b9d3
mov ecx, esi
mov dword [esp + 0xbc], eax
call fcn.00c4d317
push eax
mov edx, esi
mov ecx, edi
call fcn.00c4d11c
mov esi, 0xc6f7e0
lea edi, [esp + 0xc8]
pop ecx
push 0x53
pop eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp byte [esp + 0xc4], al
jne 0xc443fe
mov cl, al
xor eax, eax
test cl, cl
je 0xc443fe
cmp byte [esp + eax + 0xc4], 0
je 0xc443fe
mov cl, byte [eax + 0xc6fe25]
inc eax
cmp cl, byte [esp + eax + 0xc4]
je 0xc443e0
lea ecx, [esp + 0x62c]
call fcn.00c4d02f
mov esi, eax
lea edx, [esp + 0x648]
lea eax, [esp + 0x998]
push eax
push esi
push dword [esp + 0xc4]
push 2
pop ecx
call fcn.00c4ba1b
call eax
add esp, 0xc
mov ecx, esi
call fcn.00c4d309
push eax
xor eax, eax
push eax
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
lea ecx, [esp + 0x664]
call fcn.00c4d02f
push 0x78
pop ecx
mov edi, eax
call fcn.00c4b9d3
mov dword [esp + 0x6c], eax
xor eax, eax
mov esi, eax
mov ecx, 0x400
call fcn.00c4b9d3
mov ecx, dword [esp + 0x6c]
mov dword [ecx + esi*4], eax
cmp ebx, 1
jne 0xc444c0
mov ecx, dword [esp + 0xbc]
xor eax, eax
cmp dword [esp + 0xb0], eax
mov edx, edi
cmova ecx, eax
call fcn.00c4d470
mov ecx, eax
test ecx, ecx
je 0xc44f09
inc dword [esp + 0xb0]
call fcn.00c4d309
push eax
mov eax, dword [esp + 0x70]
push ecx
push dword [eax + esi*4]
call fcn.00c4cef6
add esp, 0xc
xor edx, edx
inc esi
cmp esi, 0x1e
jl 0xc44469
mov ecx, edi
call fcn.00c4d309
push eax
push edx
push edi
call fcn.00c4cf49
add esp, 0xc
mov ecx, edi
call fcn.00c4ba07
mov edi, dword [esp + 0xbc]
xor eax, eax
push 0x100000
push eax
push edi
call fcn.00c4cf49
add esp, 0xc
mov ecx, 0x19000
call fcn.00c4b9d3
push dword [esp + 0xd4]
mov ebx, dword [esp + 0xb8]
mov esi, eax
push dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov ecx, ebx
call fcn.00c5a079
push 0x100000
xor eax, eax
push eax
push dword [esp + 0x3c]
call fcn.00c4cf49
add esp, 0x14
lea eax, [esp + 0x680]
mov edx, edi
mov ecx, esi
push eax
lea eax, [esp + 0x6a0]
push eax
push dword [esp + 0x34]
call fcn.00c5abb0
add esp, 0xc
mov edx, esi
mov ecx, ebx
call fcn.00c4d3a6
push 0x19000
xor eax, eax
push eax
push esi
call fcn.00c4cf49
add esp, 0xc
push 2
pop ecx
call fcn.00c4d5dc
lea eax, [esp + 0x918]
mov edx, edi
push eax
lea eax, [esp + 0x534]
mov ecx, esi
push eax
push dword [esp + 0x34]
call fcn.00c5abb0
add esp, 0xc
mov edx, esi
mov ecx, ebx
call fcn.00c4d3a6
push 0x19000
xor eax, eax
push eax
push esi
call fcn.00c4cf49
add esp, 0xc
push 2
pop ecx
call fcn.00c4d5dc
lea eax, [esp + 0x8b8]
mov edx, edi
push eax
lea eax, [esp + 0x550]
mov ecx, esi
push eax
push dword [esp + 0x34]
call fcn.00c5abb0
imul eax, dword [0xc77090], 0xcf8a0f9b
add esp, 0xc
mov edx, esi
mov ecx, ebx
mov dword [0xc77090], eax
call fcn.00c4d3a6
push 0x19000
xor eax, eax
push eax
push esi
call fcn.00c4cf49
add esp, 0xc
push 2
pop ecx
call fcn.00c4d5dc
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x568]
push eax
push dword [esp + 0x30]
mov ecx, esi
push edi
call fcn.00c5acfa
mov eax, dword [0xc77060]
add esp, 0xc
add eax, 0xbc880ded
mov edx, esi
mov ecx, ebx
mov dword [0xc77090], eax
call fcn.00c4d3a6
push 0x19000
xor eax, eax
push eax
push esi
call fcn.00c4cf49
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0xbc]
add esp, 0xc
mov edx, ebx
push eax
push dword [esp + 0x70]
push dword [esp + 0x34]
push edi
push dword [esp + 0xe4]
call fcn.00c5ada5
add esp, 0x14
test eax, eax
jne 0xc45558
push 0x100000
push eax
push ebx
call fcn.00c4cf49
add esp, 0xc
xor eax, eax
push 0x19000
push eax
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
lea ecx, [esp + 0x8e8]
call fcn.00c4d02f
push dword [esp + 0x34]
mov esi, eax
lea edx, [esp + 0x588]
push esi
push ebx
push 2
pop ecx
call fcn.00c4ba1b
call eax
add esp, 0xc
mov ecx, esi
call fcn.00c4d309
push eax
xor eax, eax
push eax
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
mov ecx, ebx
call fcn.00c4d309
mov edx, dword [esp + 0x2c]
push eax
call fcn.00c4a061
pop ecx
mov dword [esp + 0x4a8], 0x53455248
xor ebx, ebx
mov dword [esp + 0x4ac], 0x544c55
push 0xb
mov esi, 0xc6f58c
mov dword [esp + 0x358], 0xa6dd66d7
pop eax
lea edi, [esp + 0x38c]
mov byte [esp + 0x35d], al
push 0x39
movsd dword es:[edi], dword [esi]
pop eax
push 0xa
mov byte [esp + 0x362], al
movsd dword es:[edi], dword [esi]
pop eax
push 0x43
mov byte [esp + 0x366], al
movsd dword es:[edi], dword [esi]
pop eax
push 0xe
pop ecx
movsw word es:[edi], word [esi]
mov byte [esp + 0x36d], al
mov eax, ebx
mov dword [esp + 0x358], 0x3deff786
mov byte [esp + 0x35c], 0xae
movsb byte es:[edi], byte [esi]
mov word [esp + 0x35f], 0x6cdd
mov edi, ebx
mov byte [esp + 0x361], 0xb3
mov dword [esp + 0x363], 0xfb3f4aed
mov dword [esp + 0x367], 0x17f4ffbe
mov word [esp + 0x36b], 0xd0ac
mov dword [esp + 0x36e], 0x9c241dff
mov byte [esp + 0x372], 1
mov byte [esp + 0x373], cl
mov dword [esp + 0x374], 0xcbe09dbf
mov dword [esp + 0x378], 0x2f18ca37
mov dword [esp + 0x37c], 0x1d71e64a
mov byte [esp + eax + 0x6b8], al
inc eax
cmp eax, 0x100
jb 0xc447dd
mov esi, ebx
xor edx, edx
mov bl, byte [esp + esi + 0x6b8]
mov eax, esi
div ecx
movzx ecx, bl
push 0xe
movzx eax, byte [esp + edx + 0x390]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [esp + edi + 0x6b8]
mov byte [esp + esi + 0x6b8], al
inc esi
mov byte [esp + edi + 0x6b8], bl
cmp esi, 0x100
jb 0xc447ee
mov eax, dword [0xc77060]
xor edx, edx
mov ebx, edx
mov edi, edx
mov esi, edx
lea ecx, [eax + 0x457a5c49]
add eax, 0x38606504
mov dword [0xc77090], ecx
mov dword [esp + 0x68], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x6b8]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x6b8]
mov byte [esp + edi + 0x6b8], al
mov byte [esp + ebx + 0x6b8], cl
movzx eax, byte [esp + edi + 0x6b8]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x6b8]
xor al, byte [esp + esi + 0x354]
mov byte [esp + esi + 0x4b8], al
inc esi
cmp esi, 0x2c
jb 0xc44850
mov ebx, dword [esp + 0x68]
xor ecx, ecx
push 0xb
pop eax
push 5
mov byte [esp + 0x8d], al
mov esi, ecx
pop eax
mov byte [esp + 0x4e4], cl
mov dword [esp + 0x78], 0xb4382d23
mov dword [esp + 0x7c], 0x835f808c
mov dword [esp + 0x80], 0x74132626
mov dword [esp + 0x84], 0x427089d6
mov byte [esp + 0x88], 0xf2
mov dword [esp + 0x8a], 0xfa9837f6
mov byte [esp + 0x8e], 0xfa
mov byte [esp + 0x8f], al
and ebx, 0xc45be07e
inc esi
cmp byte [esi + 0xc6fd60], cl
jne 0xc44907
mov edi, dword [esp + 0x4a4]
mov dword [esp + 0x68], ebx
cmp edi, esi
jae 0xc4495e
call fcn.00c4239d
cmp edi, 0x113e
jne 0xc4493d
and ebx, 0x9303001f
call fcn.00c41c6e
imul eax, dword [0xc77090], 0x83030a50
inc edi
mov dword [0xc77090], eax
cmp edi, esi
jb 0xc44925
mov dword [esp + 0x4a4], edi
xor ecx, ecx
mov dword [esp + 0x68], ebx
mov edi, ecx
mov eax, ecx
mov byte [esp + eax + 0x7b8], al
inc eax
cmp eax, 0x100
jb 0xc44962
mov esi, ecx
xor edx, edx
mov bl, byte [esp + esi + 0x7b8]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x4a8]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x7b8]
mov byte [esp + esi + 0x7b8], al
inc esi
mov byte [esp + edi + 0x7b8], bl
cmp esi, 0x100
jb 0xc44973
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x7b8]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x7b8]
mov byte [esp + edi + 0x7b8], al
mov byte [esp + ebx + 0x7b8], cl
movzx eax, byte [esp + edi + 0x7b8]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x7b8]
xor al, byte [esp + esi + 0x78]
mov byte [esp + esi + 0x5a0], al
inc esi
cmp esi, 0x18
jb 0xc449bb
push 0x15
pop edx
push 0xc
pop eax
mov esi, 0xc6f7f0
mov byte [esp + 0x2d8], al
push 7
lea edi, [esp + 0x9c]
mov byte [esp + 0x2bf], dl
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
push 0xb
pop ebx
push 0x12
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x2eb], al
pop eax
push 0x39
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x2d1], dl
mov byte [esp + 0x2d9], dl
mov byte [esp + 0x318], dl
movsd dword es:[edi], dword [esi]
pop edx
push 0x34
mov byte [esp + 0x309], al
movsw word es:[edi], word [esi]
mov byte [esp + 0x30f], al
pop eax
mov byte [esp + 0x5b8], cl
mov word [esp + 0x2b8], 0x58f2
mov byte [esp + 0x2ba], 0x70
mov dword [esp + 0x2bc], 0x6d68d56b
mov dword [esp + 0x2c0], 0x7f9a4e50
mov dword [esp + 0x2c4], 0x94d7adf4
mov dword [esp + 0x2c8], 0x9928984a
mov byte [esp + 0x2cc], 0xe5
mov dword [esp + 0x2ce], 0xc796ccb3
mov word [esp + 0x2d2], 0xf5ad
mov byte [esp + 0x2d4], 0xf6
mov word [esp + 0x2d6], 0xac
mov dword [esp + 0x2d9], 0xf84f31b9
mov dword [esp + 0x2dd], 0xa4aaa965
mov dword [esp + 0x2e1], 0x41914b63
mov word [esp + 0x2e5], 0xb511
mov dword [esp + 0x2e8], 0x575ecd96
mov dword [esp + 0x2ec], 0xaed7d990
mov dword [esp + 0x2f0], 0xdc799a83
mov dword [esp + 0x2f4], 0x3188fe3
mov word [esp + 0x2f8], 0x54c4
mov byte [esp + 0x2fa], 0xb1
mov byte [esp + 0x2fb], bl
mov word [esp + 0x2fc], 0xa73e
mov byte [esp + 0x2fe], bl
mov dword [esp + 0x2ff], 0xf703f670
mov word [esp + 0x303], 0xb254
mov dword [esp + 0x306], 0x8275c2e3
mov byte [esp + 0x30a], 0x47
mov dword [esp + 0x30c], 0x3e976f4a
mov dword [esp + 0x310], 0xb94e531d
mov dword [esp + 0x315], 0x8d775f55
mov dword [esp + 0x319], 0xc5ec3704
mov dword [esp + 0x31d], 0x3b71fab8
mov dword [esp + 0x321], 0xfe71ee71
mov dword [esp + 0x325], 0x1977b8b
mov dword [esp + 0x329], 0x1e781071
mov dword [esp + 0x32d], 0xa06d46a5
mov dword [esp + 0x331], 0x8e9eabaa
mov byte [esp + 0x335], bl
mov dword [esp + 0x336], 0xad3130c7
mov dword [esp + 0x33a], 0x219c7a
mov byte [esp + 0x33e], 0xdf
mov byte [esp + 0x33f], dl
mov dword [esp + 0x340], 0x57f80ded
mov dword [esp + 0x344], 0x28ca2cde
mov dword [esp + 0x348], 0x9e0f10f7
mov word [esp + 0x34c], 0xaeac
mov byte [esp + 0x34e], al
mov byte [esp + 0x34f], dl
movsb byte es:[edi], byte [esi]
mov esi, ecx
mov eax, ecx
mov byte [esp + eax + 0xd8], al
inc eax
cmp eax, 0x100
jb 0xc44c61
mov ebx, ecx
mov dword [esp + 0x38], ecx
push 0x12
xor edx, edx
mov cl, byte [esp + ebx + 0xdc]
pop edi
mov eax, ebx
mov byte [esp + 0x2b], cl
div edi
movzx ecx, cl
movzx eax, byte [esp + edx + 0x98]
add eax, esi
add ecx, eax
movzx esi, cl
mov dword [esp + 0x30], esi
mov al, byte [esp + esi + 0xd8]
mov byte [esp + ebx + 0xd8], al
call fcn.00c41b47
mov ebx, dword [esp + 0x68]
xor eax, eax
mov edi, eax
call fcn.00c41b47
add ebx, 0x176bb800
inc edi
mov dword [0xc77060], ebx
cmp byte [edi + 0xc6fe24], 0
jne 0xc44cbb
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x38]
cmp dword [esp + 0xb8], edi
jae 0xc44d34
mov esi, dword [esp + 0x68]
mov ebx, esi
call fcn.00c4239d
mov ecx, dword [esp + 0xb8]
cmp ecx, 0x8ee
jne 0xc44d0d
sub dword [0xc77090], 0x4de95b05
mov esi, ebx
imul eax, esi, 0x56861391
inc ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x68], eax
mov esi, eax
mov dword [0xc77060], eax
mov ebx, esi
cmp ecx, edi
jb 0xc44ced
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
mov al, byte [esp + 0x2b]
inc ebx
mov byte [esp + esi + 0xd8], al
mov dword [esp + 0x38], ebx
cmp ebx, 0x100
jb 0xc44c76
push 0xb
pop eax
mov ecx, eax
lea edi, [esp + 0x500]
push 0x53
mov esi, 0xc6f804
xor edx, edx
pop eax
rep movsd dword es:[edi], dword [esi]
mov ebx, edx
cmp ax, word [esp + 0x500]
jne 0xc44d9c
mov ecx, eax
mov eax, edx
test cx, cx
je 0xc44d9c
cmp word [esp + eax + 0x500], dx
je 0xc44d9c
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0xc6f920]
cmp cx, word [esp + eax + 0x500]
je 0xc44d78
push 0xc6fd60
push 0xc6fe24
call fcn.00c420cc
mov esi, dword [esp + 0x98]
pop ecx
pop ecx
cmp esi, ebx
jae 0xc44de9
mov eax, dword [esp + 0x68]
add eax, 0xd4458993
mov dword [0xc77090], eax
call fcn.00c413e2
cmp esi, 0x1fdd
jne 0xc44dd8
call fcn.00c4239d
call fcn.00c41157
inc esi
cmp esi, ebx
jb 0xc44dc6
mov dword [esp + 0x90], esi
xor eax, eax
mov esi, eax
mov ebx, eax
mov edi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [esp + ebx + 0xd8]
movzx edx, cl
lea eax, [edx + edi]
movzx edi, al
mov al, byte [esp + edi + 0xd8]
mov byte [esp + ebx + 0xd8], al
mov byte [esp + edi + 0xd8], cl
movzx eax, byte [esp + ebx + 0xd8]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0xd8]
xor al, byte [esp + esi + 0x2b8]
mov byte [esp + esi + 0x3a0], al
inc esi
cmp esi, 0x98
jb 0xc44df1
mov ecx, dword [esp + 0xd4]
xor ebx, ebx
mov byte [esp + 0x438], bl
call fcn.00c4d5dc
lea ecx, [esp + 0x4b8]
call fcn.00c4d02f
push dword [esp + 0x34]
lea edx, [esp + 0x5a4]
mov dword [esp + 0x34], eax
push eax
push dword [esp + 0xbc]
push 2
pop ecx
call fcn.00c4ba1b
call eax
mov ecx, dword [0xc77060]
add esp, 0xc
mov dword [esp + 0x38], ecx
call fcn.00c41bfb
push 5
pop eax
mov ecx, eax
lea edi, [esp + 0x10]
mov esi, str.RaiseFailFastException
rep movsd dword es:[edi], dword [esi]
push 0x53
pop eax
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [0xc77090]
cmp byte [esp + 0x10], al
jne 0xc44edc
test al, al
je 0xc44edc
cmp byte [esp + ebx + 0x10], 0
je 0xc44edc
mov edx, esi
call fcn.00c416ec
mov al, byte [ebx + 0xc6fe25]
inc ebx
cmp al, byte [esp + ebx + 0x10]
je 0xc44ebd
call fcn.00c41c6e
movzx eax, byte [esp + ebx + 0x10]
movzx edx, byte [ebx + 0xc6fe24]
sub edx, eax
cmp edx, 0xf86
jne 0xc44f12
mov ecx, esi
call fcn.00c41bfb
mov eax, dword [esp + 0x38]
xor eax, 0x50c4048f
jmp 0xc44f20
xor edx, edx
mov ebx, edx
jmp 0xc444c2
call fcn.00c422ff
mov eax, dword [esp + 0x38]
add eax, 0xc1104892
mov esi, dword [esp + 0x30]
mov ecx, esi
mov dword [0xc77060], eax
call fcn.00c4d309
push eax
xor eax, eax
push eax
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4ba07
mov ebx, dword [esp + 0xb4]
mov ecx, ebx
call fcn.00c4d309
mov edi, dword [esp + 0x2c]
mov edx, edi
push eax
call fcn.00c4a061
mov esi, dword [esp + 0x74]
xor eax, eax
mov dword [esp], 0x800
push eax
push esi
call fcn.00c4cf49
mov ecx, dword [esp + 0xcc]
xor eax, eax
add esp, 0xc
cmp ecx, dword [esp + 0xb0]
cmove ecx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], ecx
mov ecx, dword [eax + ecx*4]
call fcn.00c4d309
mov edx, ecx
mov ecx, esi
push eax
call fcn.00c4d13f
mov eax, dword [0xc77090]
mov esi, dword [esp + 0xc0]
xor eax, 0x1e846904
inc dword [esp + 0xc4]
mov dword [0xc77060], eax
xor eax, eax
mov dword [esp], 0x80000
push eax
push esi
call fcn.00c4cf49
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0x3ac]
add esp, 0xc
xor eax, eax
push eax
push edi
push esi
push ebx
call fcn.00c4e687
add esp, 0x10
push 0
pop ebx
test eax, eax
jne 0xc44711
push 0xa
pop eax
xor ecx, ecx
mov byte [esp + 0x82], al
mov dword [esp + 0x78], 0x48a7e6ba
mov edi, ecx
mov dword [esp + 0x7c], 0x853bfe55
mov eax, ecx
mov word [esp + 0x80], 0x626b
mov dword [esp + 0x83], 0x5c00abec
mov dword [esp + 0x87], 0x70e96e9b
mov dword [esp + 0x8b], 0x6524f279
mov byte [esp + 0x8f], 0x44
mov dword [esp + 0x4b0], 0x73657268
mov dword [esp + 0x4b4], 0x746c75
mov byte [esp + eax + 0xd8], al
inc eax
cmp eax, 0x100
jb 0xc45062
imul ebx, dword [0xc77060], 0xc0cb6d02
mov esi, ecx
mov dword [esp + 0x68], ebx
xor edx, edx
mov bl, byte [esp + esi + 0xd8]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x4b0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0xd8]
mov byte [esp + esi + 0xd8], al
inc esi
mov byte [esp + edi + 0xd8], bl
cmp esi, 0x100
jb 0xc45081
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], eax
mov esi, 0xc6f258
lea edi, [esp + 0x380]
mov ebx, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp byte [esp + 0x380], 0x44
jne 0xc4510f
mov al, 0x44
test al, al
je 0xc4510f
cmp byte [esp + ebx + 0x380], 0
je 0xc4510f
call section..text
mov al, byte [ebx + 0xc6fd61]
inc ebx
cmp al, byte [esp + ebx + 0x380]
je 0xc450ec
call fcn.00c41157
movzx eax, byte [esp + ebx + 0x380]
movzx ecx, byte [ebx + 0xc6fd60]
sub ecx, eax
cmp ecx, 0x15a5
jbe 0xc4514c
mov eax, dword [esp + 0x68]
and eax, 0x63e8f941
mov dword [0xc77090], eax
call fcn.00c41ebc
mov ebx, dword [0xc77090]
mov dword [esp + 0x68], ebx
jmp 0xc4515c
mov edi, dword [0xc77060]
or edi, 0xcc28270
mov dword [esp + 0x68], edi
mov eax, dword [esp + 0x38]
inc eax
movzx ebx, al
mov eax, dword [esp + 0x74]
push 0
mov dword [esp + 0x3c], ebx
mov cl, byte [esp + ebx + 0xdc]
movzx edx, cl
add eax, edx
movzx esi, al
mov dword [esp + 0x78], esi
mov al, byte [esp + esi + 0xdc]
mov byte [esp + ebx + 0xdc], al
mov byte [esp + esi + 0xdc], cl
movzx eax, byte [esp + ebx + 0xdc]
mov ecx, dword [esp + 0x34]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0xdc]
xor al, byte [esp + ecx + 0x7c]
mov byte [esp + ecx + 0x5c0], al
inc ecx
mov dword [esp + 0x34], ecx
pop eax
cmp ecx, 0x18
jb 0xc450cf
mov esi, str._hs__p:
mov dword [esp + 0x10], 0x64bca97a
lea edi, [esp + 0xc4]
mov dword [esp + 0x14], 0x91fd48a4
xor ebx, ebx
mov dword [esp + 0x18], 0x131fe49b
mov byte [esp + 0x5d4], bl
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c], 0xb4ceaa11
mov dword [esp + 0x20], 0xc5234f26
mov dword [esp + 0x24], 0xd6d458ee
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [esp + eax + 0x7b8], al
inc eax
cmp eax, 0x100
jb 0xc45214
push 7
mov esi, ebx
pop ebx
mov dl, byte [esp + esi + 0x7b8]
mov eax, esi
and eax, ebx
movzx ecx, dl
movzx eax, byte [esp + eax + 0xc4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x7b8]
mov byte [esp + esi + 0x7b8], al
inc esi
mov byte [esp + edi + 0x7b8], dl
cmp esi, 0x100
jb 0xc45228
xor eax, eax
xor ebx, ebx
mov edi, eax
mov esi, eax
mov eax, dword [esp + 0x68]
xor eax, 0xbbce372b
mov dword [esp + 0x68], eax
mov dword [0xc77060], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x7b8]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x7b8]
mov byte [esp + edi + 0x7b8], al
mov byte [esp + ebx + 0x7b8], cl
movzx eax, byte [esp + edi + 0x7b8]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x7b8]
xor al, byte [esp + esi + 0x10]
mov byte [esp + esi + 0x5d8], al
inc esi
cmp esi, 0x18
jb 0xc4527d
push 0x1d
pop ecx
push 0x53
mov esi, str.onecoreuap_baseAppModelSearchcommoninclude_atlext.hxx
lea edi, [esp + 0x2bc]
xor edx, edx
pop eax
rep movsd dword es:[edi], dword [esi]
mov ebx, edx
cmp ax, word [esp + 0x2b8]
jne 0xc4531f
mov ecx, eax
mov eax, edx
test cx, cx
je 0xc4531f
cmp word [esp + eax + 0x2b8], dx
je 0xc4531f
call fcn.00c4120e
inc ebx
push 0
pop edx
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0xc6f920]
cmp cx, word [esp + eax + 0x2b8]
je 0xc452f3
push 7
pop eax
push 0xe
mov byte [esp + 0x9e], al
lea edi, [esp + 0x504]
pop eax
push 0x12
mov byte [esp + 0xa1], al
mov esi, 0xc6f8cc
pop eax
mov byte [esp + 0xa4], al
push 0xb
pop eax
mov ecx, eax
mov byte [esp + 0x5f0], dl
rep movsd dword es:[edi], dword [esi]
mov word [esp + 0x98], 0xddad
mov eax, edx
mov word [esp + 0x9b], 0xdcf
mov dword [esp + 0x9e], 0xb0c38f62
movsw word es:[edi], word [esi]
mov word [esp + 0xa2], 0x1086
mov dword [esp + 0xa5], 0x30738572
mov dword [esp + 0xa9], 0xe17157b7
movsb byte es:[edi], byte [esi]
mov word [esp + 0xad], 0x6fe5
mov edi, edx
mov byte [esp + 0xaf], 0xc7
mov byte [esp + eax + 0x6b8], al
inc eax
cmp eax, 0x100
jb 0xc453af
mov esi, edx
xor edx, edx
mov bl, byte [esp + esi + 0x6b8]
push 0x2e
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x500]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x6b8]
mov byte [esp + esi + 0x6b8], al
inc esi
mov byte [esp + edi + 0x6b8], bl
cmp esi, 0x100
jb 0xc453c0
mov ebx, dword [esp + 0x68]
xor eax, eax
mov esi, eax
lea edi, [ebx + 0x1d5a0b5f]
mov dword [0xc77090], edi
inc esi
cmp byte [esi + 0xc6fd60], al
jne 0xc45414
call fcn.00c41157
cmp esi, 0x1d1e
jne 0xc45438
and edi, 0xeac50a72
mov dword [0xc77060], edi
jmp 0xc45443
lea eax, [ebx + 0xf4196c8]
mov dword [0xc77090], eax
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x6b8]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x6b8]
mov byte [esp + edi + 0x6b8], al
mov byte [esp + ebx + 0x6b8], cl
movzx eax, byte [esp + edi + 0x6b8]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x6b8]
xor al, byte [esp + esi + 0x98]
mov byte [esp + esi + 0x3c], al
inc esi
cmp esi, 0x18
jb 0xc4544b
xor eax, eax
lea ecx, [esp + 0x5bc]
mov byte [esp + 0x54], al
call fcn.00c4d02f
lea ecx, [esp + 0x5d8]
mov edi, eax
call fcn.00c4d02f
lea ecx, [esp + 0x3c]
mov esi, eax
call fcn.00c4d02f
mov ebx, dword [esp + 0xbc]
mov edx, edi
mov ecx, ebx
call fcn.00c4d470
test eax, eax
je 0xc4551f
mov edx, esi
mov ecx, eax
call fcn.00c4d364
test eax, eax
jne 0xc4551f
mov edx, dword [esp + 0x34]
lea eax, [esp + 0xc0]
mov ecx, dword [esp + 0x70]
push eax
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x74]
lea eax, [esp + 0xe0]
push dword [esp + 0x38]
push ebx
push dword [esp + 0xc8]
push eax
call fcn.00c6d516
add esp, 0x1c
mov ecx, edi
call fcn.00c4d309
push eax
xor ebx, ebx
push ebx
push edi
call fcn.00c4cf49
add esp, 0xc
mov ecx, esi
call fcn.00c4d309
push eax
push ebx
push esi
call fcn.00c4cf49
add esp, 0xc
mov ecx, edi
call fcn.00c4ba07
mov ecx, esi
call fcn.00c4ba07
jmp 0xc44711
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret