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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x684
push ebx
push esi
push edi
push 0x49
pop eax
mov dword [ebp - 0xc8], ecx
lea edi, [ebp - 0xe8]
push 8
pop ecx
mov esi, 0x42e728
mov byte [ebp - 0x53], al
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x60], 0x9f2cdb57
mov eax, ecx
mov dword [ebp - 0x5c], 0xedb3437e
mov dword [ebp - 0x58], 0x87c653c7
mov byte [ebp - 0x54], 0x25
mov dword [ebp - 0x52], 0x359fd07b
mov dword [ebp - 0x4e], 0xc2bef32c
mov word [ebp - 0x4a], 0x6e52
mov dword [ebp - 0x3c], ecx
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x4124a2
mov esi, dword [0x435624]
mov edi, ecx
push 0x1f
pop ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x30c]
mov eax, edi
or esi, 0x7c3937c9
div ecx
movzx ecx, bl
push 0x1f
movzx eax, byte [ebp + edx - 0xe8]
add eax, dword [ebp - 0x3c]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x3c], ecx
mov al, byte [ebp + ecx - 0x30c]
mov byte [ebp + edi - 0x30c], al
inc edi
mov byte [ebp + ecx - 0x30c], bl
pop ecx
cmp edi, 0x100
jb 0x4124bc
xor eax, eax
mov dword [ebp - 0x30], esi
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x60]
mov byte [ebp + esi - 0x364], al
inc esi
cmp esi, 0x18
jb 0x412511
mov esi, 0x42d51c
lea edi, [ebp - 0x58]
xor eax, eax
mov byte [ebp - 0x34c], al
mov ebx, eax
mov dword [ebp - 0x3c], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, 0x42d4ac
lea edi, [ebp - 0xc4]
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 [ebp - 0xc4], 0x63
jne 0x4125b4
mov al, 0x63
test al, al
je 0x4125b4
cmp byte [ebp + ebx - 0xc4], 0
je 0x4125b4
mov al, byte [ebx + 0x430199]
inc ebx
cmp al, byte [ebp + ebx - 0xc4]
je 0x412596
call fcn.0040fcca
movzx eax, byte [ebp + ebx - 0xc4]
movzx ecx, byte [ebx + 0x430198]
sub ecx, eax
cmp ecx, 0x124b
jbe 0x4125db
or dword [ebp - 0x30], 0x80d65705
jmp 0x4125e2
add dword [ebp - 0x30], 0xb411c288
mov ecx, 0x4301b0
call fcn.0040f95d
xor ebx, ebx
mov edi, 0x100
mov eax, ebx
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, edi
jb 0x4125f5
mov esi, ebx
mov dl, byte [ebp + esi - 0x30c]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x58]
add eax, dword [ebp - 0x3c]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x3c], ecx
mov al, byte [ebp + ecx - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + ecx - 0x30c], dl
cmp esi, edi
jb 0x412603
mov dl, byte [ebp - 0x30b]
lea edi, [ebp - 0xc4]
mov esi, 0x42cd58
movzx ecx, dl
mov byte [ebp - 0xad], bl
mov dword [ebp - 0x60], 0xa8fa41bf
mov dword [ebp - 0x5c], 0x35feef94
mov al, byte [ebp + ecx - 0x30c]
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x30b], al
mov byte [ebp + ecx - 0x30c], dl
movzx ecx, byte [ebp - 0x30b]
movsd dword es:[edi], dword [esi]
movzx eax, dl
add ecx, eax
mov dword [ebp - 0x58], 0xd33b37b4
movzx eax, cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x54], 0xd347a477
mov dword [ebp - 0x50], 0xe7c83b1c
mov al, byte [ebp + eax - 0x30c]
movsw word es:[edi], word [esi]
xor al, 0xcb
mov byte [ebp - 0xae], al
mov eax, ebx
mov dword [ebp - 0x4c], 0xc62ee7e6
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x4126bc
push 0xe
mov esi, ebx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
mov eax, esi
div ecx
movzx ecx, bl
push 0xe
movzx eax, byte [ebp + edx - 0xc4]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x4126d0
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x60]
mov byte [ebp + esi - 0x380], al
inc esi
cmp esi, 0x18
jb 0x412718
push 0x66
mov esi, str.io_error
mov dword [ebp - 0xf4], 0x7289dea6
pop eax
lea edi, [ebp - 0xc0]
mov byte [ebp - 0xed], al
push 6
movsd dword es:[edi], dword [esi]
xor ecx, ecx
add dword [ebp - 0x30], 0xa6c4e9e0
pop eax
mov byte [ebp - 0xe5], al
movsd dword es:[edi], dword [esi]
push 0x1b
pop eax
mov byte [ebp - 0xd8], al
mov eax, ecx
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x368], cl
mov edi, ecx
mov word [ebp - 0xf0], 0xecd0
mov byte [ebp - 0xee], 0x42
mov dword [ebp - 0xec], 0x6db3c2e0
mov word [ebp - 0xe8], 0xc727
mov byte [ebp - 0xe6], 0x16
mov dword [ebp - 0xe4], 0xe1f37c17
mov dword [ebp - 0xe0], 0x6d94e4d8
mov dword [ebp - 0xdc], 0x599a56cd
mov dword [ebp - 0xd7], 0x1442cebf
mov dword [ebp - 0xd3], 0x4f9df501
mov dword [ebp - 0xcf], 0xf404460f
mov word [ebp - 0xcb], 0xad0d
mov byte [ebp - 0xc9], 0x86
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x412824
push 7
mov esi, ecx
pop ebx
mov dl, byte [ebp + esi - 0x30c]
mov eax, esi
and eax, ebx
movzx ecx, dl
movzx eax, byte [ebp + eax - 0xc0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], dl
cmp esi, 0x100
jb 0x412838
xor dword [ebp - 0x30], 0xc9c1729b
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0xf4]
mov byte [ebp + esi - 0x568], al
inc esi
cmp esi, 0x2c
jb 0x412882
push 0xb
pop eax
push 0x13
mov byte [ebp - 0x94], al
lea edi, [ebp - 0xec]
pop eax
push 0x12
mov dword [ebp - 0xac], eax
mov esi, 0x42ec78
mov byte [ebp - 0x8d], al
xor ebx, ebx
pop eax
push 8
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x87], al
mov eax, ebx
mov byte [ebp - 0x53c], bl
mov dword [ebp - 0xa4], 0x9761f909
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0xa0], 0x39d5d0c0
mov edi, ebx
mov dword [ebp - 0x9c], 0x4795e742
mov dword [ebp - 0x98], 0xcd5bf41a
mov dword [ebp - 0x93], 0x6ac502ed
mov word [ebp - 0x8f], 0x5ec3
mov dword [ebp - 0x8c], 0x83bcfde8
mov byte [ebp - 0x88], 0xeb
mov dword [ebp - 0x86], 0xe251642a
mov dword [ebp - 0x82], 0x367cc5b1
mov dword [ebp - 0x7e], 0x8de1c463
mov word [ebp - 0x7a], 0x241d
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x412980
mov esi, ebx
mov dl, byte [ebp + esi - 0x30c]
mov eax, esi
and eax, 0x1f
movzx ecx, dl
movzx eax, byte [ebp + eax - 0xec]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], dl
cmp esi, 0x100
jb 0x412991
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0xa4]
mov byte [ebp + esi - 0x538], al
inc esi
cmp esi, 0x2c
jb 0x4129d3
push 5
pop eax
push 0x66
mov byte [ebp - 0xa4], al
lea edi, [ebp - 0xe4]
mov byte [ebp - 0x8e], al
xor edx, edx
pop eax
mov byte [ebp - 0x79], al
mov esi, str.UseLowPriorityConfiguration
push 7
pop eax
mov ecx, eax
mov byte [ebp - 0x50c], dl
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xa3], 0xdbafc3a1
mov edi, edx
mov dword [ebp - 0x9f], 0x2ad17806
mov eax, edx
mov dword [ebp - 0x9b], 0x6efffeba
mov dword [ebp - 0x97], 0x2a1776da
mov dword [ebp - 0x93], 0x6cc31ce4
mov byte [ebp - 0x8f], 0x46
mov dword [ebp - 0x8d], 0xa6d684df
mov dword [ebp - 0x89], 0xc22ac9f1
mov dword [ebp - 0x85], 0x826418e9
mov dword [ebp - 0x81], 0xb04d3792
mov dword [ebp - 0x7d], 0xebb6abe6
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x412ac1
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 0x1b
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xe4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x412ad2
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0xa4]
mov byte [ebp + esi - 0x448], al
inc esi
cmp esi, 0x2c
jb 0x412b1a
push 0xc
pop ebx
push 0x66
pop ecx
push 0x1b
pop eax
push 0x13
mov byte [ebp - 0x1f3], al
xor edx, edx
mov byte [ebp - 0x1d4], al
pop eax
push 0xb
mov byte [ebp - 0x1a1], al
pop eax
push 0x23
mov byte [ebp - 0x16e], al
pop eax
push 0x49
mov byte [ebp - 0x15b], al
pop eax
mov byte [ebp - 0x41c], dl
mov dword [ebp - 0x20c], 0x2edd002d
mov dword [ebp - 0x208], 0xfd2b4244
mov dword [ebp - 0x204], 0x68a5a44d
mov dword [ebp - 0x200], 0x5ebab873
mov byte [ebp - 0x1fc], 0x38
mov byte [ebp - 0x1fb], bl
mov word [ebp - 0x1fa], 0x8c65
mov byte [ebp - 0x1f8], cl
mov dword [ebp - 0x1f7], 0x621dfaa7
mov dword [ebp - 0x1f2], 0x2209deed
mov dword [ebp - 0x1ee], 0x9d95cb2e
mov dword [ebp - 0x1ea], 0x8e851c2a
mov dword [ebp - 0x1e6], 0xb9139cda
mov dword [ebp - 0x1e2], 0x75ffb014
mov dword [ebp - 0x1de], 0xc4173c9f
mov dword [ebp - 0x1da], 0xdeeaa2cd
mov word [ebp - 0x1d6], 0xed02
mov dword [ebp - 0x1d3], 0x80c272b0
mov dword [ebp - 0x1cf], 0xc969c4e6
mov dword [ebp - 0x1cb], 0xf382bb6e
mov dword [ebp - 0x1c7], 0xba5259f0
mov dword [ebp - 0x1c3], 0x318c8a33
mov dword [ebp - 0x1bf], 0xcb5bbde3
mov dword [ebp - 0x1bb], 0xab3ee6c9
mov dword [ebp - 0x1b7], 0xe2178b4d
mov dword [ebp - 0x1b3], 0x3ebcae76
mov dword [ebp - 0x1af], 0xe44f93dd
mov byte [ebp - 0x1ab], cl
mov dword [ebp - 0x1aa], 0xcc7ed1b8
mov dword [ebp - 0x1a6], 0x1418f1bd
mov byte [ebp - 0x1a2], 0xdf
mov dword [ebp - 0x1a0], 0x6319c9ec
mov dword [ebp - 0x19c], 0x414edeba
mov dword [ebp - 0x198], 0x7024515a
mov dword [ebp - 0x194], 0xf0d21437
mov dword [ebp - 0x190], 0x6f259f38
mov dword [ebp - 0x18c], 0x731e98fc
mov dword [ebp - 0x188], 0xc1d7c987
mov dword [ebp - 0x184], 0x61e802e7
mov dword [ebp - 0x180], 0xe5c6f0e2
mov dword [ebp - 0x17c], 0xb4f4917e
mov word [ebp - 0x178], 0x59b2
mov byte [ebp - 0x176], bl
mov dword [ebp - 0x175], 0x713865d8
mov word [ebp - 0x171], 0xcfa4
mov byte [ebp - 0x16f], 0xa6
mov dword [ebp - 0x16d], 0x4d3b1455
mov dword [ebp - 0x169], 0x167ba718
mov dword [ebp - 0x165], 0xf0b281a7
mov dword [ebp - 0x161], 0x1c9b54f2
mov word [ebp - 0x15d], 0x5a77
mov dword [ebp - 0x15a], 0x25b2b322
mov dword [ebp - 0x156], 0xb2d5c0e8
mov dword [ebp - 0x152], 0xfd3ab6f4
mov word [ebp - 0x14e], 0x5bbc
mov byte [ebp - 0x14c], al
mov dword [ebp - 0x14b], 0xb1c8bb88
mov dword [ebp - 0x147], 0xb663cd20
mov byte [ebp - 0x143], 0x75
push 0x48
pop eax
mov byte [ebp - 0x142], al
lea edi, [ebp - 0x418]
push 0x12
pop eax
mov ecx, eax
mov dword [ebp - 0x141], 0x96eaf5be
mov esi, 0x42f670
mov dword [ebp - 0x13d], 0x7b6a8b9e
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x139], 0xe888c4d6
mov eax, edx
mov dword [ebp - 0x135], 0xbe6fe10e
mov dword [ebp - 0x131], 0x9eaa4b18
movsw word es:[edi], word [esi]
mov dword [ebp - 0x12d], 0x9f280a04
mov edi, edx
mov dword [ebp - 0x129], 0x7244d202
mov dword [ebp - 0x125], 0x8cb30d01
mov dword [ebp - 0x121], 0xe7ec8dcf
mov dword [ebp - 0x11d], 0xb6c498c0
mov dword [ebp - 0x119], 0x5f3aaff5
mov dword [ebp - 0x115], 0x171d8974
mov dword [ebp - 0x111], 0x7e8897c1
mov dword [ebp - 0x10d], 0xe2b52951
mov dword [ebp - 0x109], 0x73939650
mov dword [ebp - 0x105], 0x55bc5199
mov dword [ebp - 0x101], 0xefec2174
mov dword [ebp - 0xfd], 0x159ba0c3
mov dword [ebp - 0xf9], 0xe9ab839d
mov byte [ebp - 0xf5], 0x2c
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x412eb6
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 0x49
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x418]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x412ec7
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x20c]
mov byte [ebp + esi - 0x684], al
inc esi
cmp esi, 0x118
jb 0x412f0f
push 0x49
pop eax
mov byte [ebp - 0x52], al
xor ecx, ecx
push 0x48
pop eax
mov byte [ebp - 0x4d], al
mov edi, ecx
mov byte [ebp - 0x56c], cl
mov eax, ecx
mov dword [ebp - 0x60], 0x6c9ec094
mov dword [ebp - 0x5c], 0xb52ed547
mov dword [ebp - 0x58], 0xc0727e75
mov word [ebp - 0x54], 0x56cb
mov dword [ebp - 0x51], 0x79e62c83
mov dword [ebp - 0x4c], 0x446502ac
mov dword [ebp - 0x318], 0x73657268
mov dword [ebp - 0x314], 0x746c75
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x412fba
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x318]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x412fcb
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x60]
mov byte [ebp + esi - 0x94], al
inc esi
cmp esi, 0x18
jb 0x413013
mov esi, 0x42c310
mov dword [ebp - 0x60], 0xc34667ee
lea edi, [ebp - 0xc4]
mov dword [ebp - 0x5b], 0x7bc9d387
push 5
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0x5c], al
push 0x11
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x54], al
mov eax, ecx
mov byte [ebp - 0x7c], cl
mov word [ebp - 0x57], 0x765c
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x55], 0x17
mov edi, ecx
mov dword [ebp - 0x53], 0x906a32a8
mov dword [ebp - 0x4f], 0xef96b958
mov word [ebp - 0x4b], 0x8a35
mov byte [ebp - 0x49], 0x22
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x4130b6
sub dword [ebp - 0x30], 0x15deae00
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xc4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x4130ce
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x60]
mov byte [ebp + esi - 0xe4], al
inc esi
cmp esi, 0x18
jb 0x413116
push 5
pop eax
xor edx, edx
mov dword [ebp - 0x2c], 0xcde80493
add dword [ebp - 0x30], 0x48f6a5df
lea edi, [ebp - 0x5c]
mov ecx, eax
mov byte [ebp - 0xcc], dl
mov esi, 0x43015c
mov dword [ebp - 0x28], 0x6de2c094
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0x8e88a085
mov edi, edx
mov dword [ebp - 0x20], 0x6fb3a118
mov eax, edx
mov dword [ebp - 0x1c], 0x3ad5bbff
mov dword [ebp - 0x18], 0xc730200f
mov dword [ebp - 0x14], 0xa48df02a
mov dword [ebp - 0x10], 0x1c395cb0
mov dword [ebp - 0xc], 0x841841d
mov dword [ebp - 8], 0xb15660e5
mov dword [ebp - 4], 0xef67686e
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x4131d5
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 0x13
mov eax, esi
sub dword [ebp - 0x30], 0x1236dfb5
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x5c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x4131e6
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x478], al
inc esi
cmp esi, 0x2c
jb 0x413232
mov ebx, dword [ebp - 0x30]
lea edi, [ebp - 0x58]
mov esi, 0x42d658
mov dword [ebp - 0x2c], 0x32f7c971
push 0x1b
pop edx
xor ecx, ecx
mov dword [ebp - 0x28], 0x70d45dec
movsd dword es:[edi], dword [esi]
add ebx, 0x3f5a758f
push 5
pop eax
mov byte [ebp - 0x1a], al
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x44c], cl
mov dword [ebp - 0x24], 0xfb43cd24
mov word [ebp - 0x20], 0x53b8
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1e], 0x30
mov byte [ebp - 0x1d], dl
mov word [ebp - 0x1c], 0xc735
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x19], 0x6726d2a8
mov dword [ebp - 0x15], 0xf3553d85
mov dword [ebp - 0x11], 0x28a8a395
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0xd], dl
mov edi, ecx
mov dword [ebp - 0xc], 0x7f2c04e9
mov dword [ebp - 8], 0xfb9a5810
mov dword [ebp - 4], 0x9d938ed7
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x413302
mov esi, ecx
mov dl, byte [ebp + esi - 0x30c]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x58]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], dl
cmp esi, 0x100
jb 0x413313
xor ecx, ecx
xor ebx, 0x88df8861
mov edx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x78], ecx
jmp 0x413366
xor ecx, ecx
mov esi, str.SECURITY
lea edi, [ebp - 0x5c]
push 0x66
pop eax
mov ebx, ecx
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 ax, word [ebp - 0x5c]
jne 0x4133ce
xor esi, esi
test ax, ax
je 0x41339f
cmp word [ebp + ecx - 0x5c], si
je 0x41339f
inc ebx
lea ecx, [ebx + ebx]
movzx eax, word [ecx + 0x4301b0]
cmp ax, word [ebp + ecx - 0x5c]
je 0x413381
mov esi, dword [ebp - 0x34]
cmp esi, ebx
jae 0x4133ce
call fcn.0040fa8a
mov eax, dword [ebp - 0x30]
cmp esi, 0xc90
jne 0x4133bb
sub eax, 0x38f9b252
sub eax, 0x36cb44b9
inc esi
mov dword [ebp - 0x30], eax
cmp esi, ebx
jb 0x4133a6
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x34], esi
lea eax, [edx + 1]
movzx ebx, al
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], ebx
mov cl, byte [ebp + ebx - 0x30c]
movzx edx, cl
add eax, edx
movzx esi, al
mov dword [ebp - 0x3c], esi
mov al, byte [ebp + esi - 0x30c]
mov byte [ebp + ebx - 0x30c], al
mov byte [ebp + esi - 0x30c], cl
movzx eax, byte [ebp + ebx - 0x30c]
mov ecx, dword [ebp - 0x78]
add eax, edx
movzx eax, al
mov edx, ebx
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + ecx - 0x2c]
mov byte [ebp + ecx - 0x4a8], al
inc ecx
mov dword [ebp - 0x78], ecx
cmp ecx, 0x2c
jb 0x413364
mov esi, 0x430184
mov dword [ebp - 0x2b], 0xc2417651
lea edi, [ebp - 0x5c]
mov dword [ebp - 0x27], 0xb8781f9f
push 0x66
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
push 0x11
mov byte [ebp - 0x2c], al
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x20], al
mov byte [ebp - 0x16], al
push 0x23
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 3], al
mov eax, ecx
mov byte [ebp - 0x47c], cl
movsd dword es:[edi], dword [esi]
mov word [ebp - 0x23], 0xbe73
mov byte [ebp - 0x21], 0x3e
mov dword [ebp - 0x1f], 0x5758f44e
movsw word es:[edi], word [esi]
mov dword [ebp - 0x1b], 0xc2eb536
mov edi, ecx
mov byte [ebp - 0x17], 0xd9
mov dword [ebp - 0x15], 0x289f749a
mov dword [ebp - 0x11], 0x4d5d50c6
mov dword [ebp - 0xd], 0xce453fd3
mov dword [ebp - 9], 0x67cf45fe
mov word [ebp - 5], 0xd597
mov word [ebp - 2], 0xb085
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x4134b3
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 0x11
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x5c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x4134c4
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
mov ecx, 0x4301b0
call fcn.0040f95d
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x4d8], al
inc esi
cmp esi, 0x2c
jb 0x413509
push 0x11
pop eax
push 9
xor edx, edx
mov byte [ebp - 0xd], al
pop ecx
mov esi, 0x42c45c
mov byte [ebp - 0x4ac], dl
lea edi, [ebp - 0x6c]
mov dword [ebp - 0x2c], 0x75402bd5
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28], 0x40eee27c
mov edi, edx
mov dword [ebp - 0x24], 0xd99e6318
mov eax, edx
mov dword [ebp - 0x20], 0x628ad668
mov dword [ebp - 0x1c], 0xadb4034d
mov dword [ebp - 0x18], 0x4c1ab52
mov dword [ebp - 0x14], 0xdddb46d
mov word [ebp - 0x10], 0xd32c
mov byte [ebp - 0xe], 0xcf
mov dword [ebp - 0xc], 0x42ac790a
mov dword [ebp - 8], 0x54e20387
mov dword [ebp - 4], 0x99aa8b38
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x4135d2
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 0x23
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x6c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x4135e3
mov ebx, dword [ebp - 0x30]
xor eax, eax
mov edi, eax
mov esi, 0x4301b0
mov edx, ebx
mov ecx, 0x4301b0
call fcn.0040fd83
lea esi, [esi + 2]
xor eax, eax
xor ebx, 0x68fe04da
cmp word [esi], ax
jne 0x41362c
mov dword [ebp - 0x30], ebx
mov esi, eax
mov ebx, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x508], al
inc esi
cmp esi, 0x2c
jb 0x41364f
push 0x66
pop eax
mov byte [ebp - 1], al
lea edi, [ebp - 0x64]
push 7
pop eax
xor edx, edx
mov dword [ebp - 0x2c], 0x82c2a004
xor dword [ebp - 0x30], 0x2dbf4b7c
mov ecx, eax
mov esi, str.UseLowPriorityConfiguration
mov byte [ebp - 0x4dc], dl
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28], 0xc4446bf1
mov edi, edx
mov dword [ebp - 0x24], 0xa287a230
mov eax, edx
mov dword [ebp - 0x20], 0x317eb94d
mov dword [ebp - 0x1c], 0xd760eb10
mov dword [ebp - 0x18], 0xdd2f3428
mov dword [ebp - 0x14], 0xe7918782
mov dword [ebp - 0x10], 0xbdcd34b6
mov dword [ebp - 0xc], 0xc5a90a20
mov dword [ebp - 8], 0xe7bd5608
mov word [ebp - 4], 0xba88
mov byte [ebp - 2], 0xd9
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x413717
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 0x1b
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x64]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x413728
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov eax, dword [ebp - 0x30]
xor eax, 0xfe027d8b
mov dword [ebp - 0x30], eax
mov dword [0x435624], eax
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x3fc], al
inc esi
cmp esi, 0x2c
jb 0x41376d
xor eax, eax
lea edx, [ebp - 0x364]
push eax
push eax
push eax
push 1
push eax
mov byte [ebp - 0x3d0], al
mov dword [ebp - 0x3c], eax
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x413802
xor eax, eax
inc eax
jmp 0x41478d
mov esi, dword [0x435624]
mov ebx, 0x4301b0
mov edx, esi
mov ecx, ebx
call fcn.0040fd83
mov edi, 0x430198
mov ecx, ebx
call fcn.0040f95d
or esi, 0xf31d81e2
inc edi
cmp byte [edi], 0
jne 0x41381b
mov ebx, dword [ebp - 0xc8]
mov ecx, ebx
mov dword [0x435624], esi
call fcn.0040b8f4
mov ecx, 0x800
mov esi, eax
call fcn.0040a2a8
mov edx, ebx
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp + 0x14]
mov ecx, ebx
push esi
call fcn.0040b6ac
pop ecx
cmp esi, 0x28
jbe 0x413871
mov ecx, ebx
call fcn.0040b8e6
mov edx, eax
call fcn.00408b63
lea edx, [ebp - 0xae]
mov ecx, ebx
call fcn.0040babc
lea ecx, [ebp - 0x380]
mov edi, eax
call fcn.0040b5df
mov esi, eax
xor ecx, ecx
mov edx, esi
call fcn.0040babc
mov ecx, esi
mov ebx, eax
call fcn.0040b8e6
push eax
xor eax, eax
push eax
push esi
call fcn.0040b587
mov ecx, esi
call fcn.0040a2d2
mov ecx, ebx
call fcn.0040bb58
mov ecx, edi
mov esi, eax
call fcn.0040b8e6
mov ecx, dword [ebp - 0x30]
mov edx, edi
push eax
call fcn.0040b6cf
push 0x208
xor eax, eax
push eax
push dword [ebp + 0x14]
call fcn.0040b587
mov ecx, edi
call fcn.0040b8e6
push eax
xor eax, eax
push eax
push edi
call fcn.0040b587
mov ecx, ebx
call fcn.0040b8e6
push eax
xor eax, eax
push eax
push ebx
call fcn.0040b587
mov ebx, dword [ebp - 0x30]
lea edx, [ebp - 0x568]
add esp, 0x34
xor eax, eax
push eax
push eax
push 3
push eax
push eax
push esi
push ebx
push dword [ebp - 0xb4]
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
mov dword [ebp - 0x44], eax
test eax, eax
jne 0x413a9b
mov esi, str.identifier_removed
mov dword [ebp - 0x2c], 0x2d8921ae
lea edi, [ebp - 0x5c]
mov dword [ebp - 0x28], 0x9fe36baa
push 0x49
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1e], al
mov eax, dword [0x435624]
sub eax, 0x6eed3c47
mov dword [ebp - 0x24], 0xbeddf918
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov eax, ecx
mov word [ebp - 0x20], 0x8b5e
mov dword [ebp - 0x1d], 0x7b624fa3
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x19], 0x5d9ba2ff
mov dword [ebp - 0x15], 0x55659bbb
mov dword [ebp - 0x11], 0xff250f4c
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xd], 0xd4a7d61f
mov dword [ebp - 9], 0x2bd4c20e
mov dword [ebp - 5], 0x9d8f2526
movsw word es:[edi], word [esi]
mov byte [ebp - 1], 0xfb
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x4139a8
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 0x12
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x5c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x4139b9
mov ebx, dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x44], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
imul ebx, ebx, 0x45eab610
movzx edi, al
mov eax, dword [ebp - 0x44]
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x44], eax
mov al, byte [ebp + eax - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov eax, dword [ebp - 0x44]
mov byte [ebp + eax - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x74], al
inc esi
cmp esi, 0x2c
jb 0x413a02
push dword [ebp - 0xb4]
mov dword [0x435624], ebx
lea edx, [ebp - 0x74]
push 5
pop eax
xor ebx, ebx
mov ecx, eax
mov byte [ebp - 0x48], bl
call fcn.0040a2e6
call eax
push 0x800
push ebx
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.0040b587
mov ecx, ebx
add esp, 0xc
call fcn.0040a2d2
jmp 0x4137fa
push 0x800
xor eax, eax
push eax
push ebx
call fcn.0040b587
add esp, 0xc
mov ecx, ebx
call fcn.0040a2d2
mov ecx, dword [ebp - 0x40]
call fcn.0040b628
mov ecx, dword [ebp + 8]
mov edi, eax
call fcn.0040b628
mov esi, eax
lea edx, [ebp - 0x538]
xor eax, eax
push eax
push 0x800000
push eax
push eax
push eax
push esi
push edi
push dword [ebp - 0x44]
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
mov ebx, eax
mov ecx, edi
mov dword [ebp - 0x30], ebx
call fcn.0040b8f4
push eax
xor eax, eax
push eax
push edi
call fcn.0040b587
mov ecx, esi
call fcn.0040b8f4
push eax
xor eax, eax
push eax
push esi
call fcn.0040b587
add esp, 0x18
mov ecx, edi
call fcn.0040a2d2
mov ecx, esi
call fcn.0040a2d2
test ebx, ebx
jne 0x413dd2
mov esi, str.GlobalCollection
mov dword [ebp - 0x2c], 0xf3c534ea
lea edi, [ebp - 0x58]
mov dword [ebp - 0x28], 0x188f9d90
push 6
pop eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1a], al
mov dword [ebp - 0x24], 0x1ad15c5a
mov dword [ebp - 0x20], 0x54d428bf
movsd dword es:[edi], dword [esi]
mov word [ebp - 0x1c], 0x5061
mov dword [ebp - 0x19], 0xdf188dcc
mov dword [ebp - 0x15], 0x87c26dbf
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x11], 0xebcf316c
mov dword [ebp - 0xd], 0xd8262a87
mov dword [ebp - 9], 0x609ac79b
movsd dword es:[edi], dword [esi]
mov dword [ebp - 5], 0xe4e47462
mov byte [ebp - 1], 0xec
movsb byte es:[edi], byte [esi]
mov esi, dword [0x435624]
xor esi, 0xebc73432
xor ecx, ecx
mov ebx, ecx
mov eax, ecx
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x413b9e
mov edi, ecx
mov dl, byte [ebp + edi - 0x30c]
mov eax, edi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x58]
add eax, ebx
add ecx, eax
movzx ebx, cl
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
inc edi
mov byte [ebp + ebx - 0x30c], dl
cmp edi, 0x100
jb 0x413baf
xor ebx, ebx
mov edi, ebx
call fcn.0040fa8a
xor esi, 0x477b39ac
inc ebx
cmp byte [ebx + str._lS_lS], 0
jne 0x413bf1
call fcn.0040f8b7
mov ecx, esi
lea eax, [esi + 0x35f3f80e]
and ecx, 0x3cf1fb7a
cmp ebx, 0x12fc
cmovae eax, ecx
mov dword [0x435624], eax
xor eax, eax
mov esi, eax
mov ebx, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x74], al
inc esi
cmp esi, 0x2c
jb 0x413c28
push 0xc
pop eax
mov byte [ebp - 0x26], al
xor ecx, ecx
push 0x49
pop eax
mov byte [ebp - 0x14], al
mov edi, ecx
mov eax, dword [str.clsid]
mov dword [ebp - 0xac], eax
mov ax, word [0x42df90]
mov word [ebp - 0xa8], ax
mov eax, ecx
mov byte [ebp - 0x48], cl
mov dword [ebp - 0x2c], 0xdf35dc3f
mov word [ebp - 0x28], 0xdc6e
mov dword [ebp - 0x25], 0xecf81af3
mov dword [ebp - 0x21], 0x9ad37282
mov dword [ebp - 0x1d], 0x8a573402
mov dword [ebp - 0x19], 0xeebdb8da
mov byte [ebp - 0x15], 0xea
mov dword [ebp - 0x13], 0xbb8ba21f
mov dword [ebp - 0xf], 0x1679f1f6
mov dword [ebp - 0xb], 0x288d1c14
mov dword [ebp - 7], 0x31eeb097
mov word [ebp - 3], 0x9da9
mov byte [ebp - 1], 0xe4
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x413cf5
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xac]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x413d06
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x348], al
inc esi
cmp esi, 0x2c
jb 0x413d4e
push dword [ebp - 0x44]
xor eax, eax
lea edx, [ebp - 0x74]
push 5
pop ebx
mov ecx, ebx
mov byte [ebp - 0x31c], al
call fcn.0040a2e6
call eax
push dword [ebp - 0xb4]
lea edx, [ebp - 0x348]
mov ecx, ebx
call fcn.0040a2e6
call eax
jmp 0x4137fa
lea eax, [ebp - 0x314]
mov dword [ebp - 0x314], 4
push eax
lea eax, [ebp - 0x310]
push eax
push 0x1f
push ebx
push 5
pop eax
lea edx, [ebp - 0x448]
mov ecx, eax
call fcn.0040a2e6
call eax
test eax, eax
je 0x413f8c
push 0x66
pop eax
push 0xc
mov byte [ebp - 0x1f], al
lea edi, [ebp - 0x3cc]
pop eax
mov byte [ebp - 0x1b], al
mov esi, str.pfps__psProperty.ulKind_is_LPWSTR_but_psProperty.lpwstr_is_NULL_or_empty
push 0x12
pop eax
mov ecx, eax
mov dword [ebp - 0x2c], 0xfd45a5dd
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0x28], 0x9677716a
mov dword [ebp - 0x24], 0x7fff60f6
mov eax, ecx
mov byte [ebp - 0x20], 0x50
movsb byte es:[edi], byte [esi]
mov esi, dword [0x435624]
mov word [ebp - 0x1e], 0x143c
xor esi, 0xa46e4fe0
mov byte [ebp - 0x1c], 0x8c
mov dword [ebp - 0x1a], 0xfb0d30f7
mov dword [ebp - 0x16], 0xdd203308
mov dword [ebp - 0x12], 0xde7e3480
mov dword [ebp - 0xe], 0xa898bf1d
mov dword [ebp - 0xa], 0x27bbe409
mov dword [ebp - 6], 0xaafb81f2
mov word [ebp - 2], 0x92c2
mov dword [ebp - 0x78], ecx
imul esi, esi, 0x625fc92a
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x413e8c
mov edi, ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x30c]
push 0x48
mov eax, edi
imul esi, esi, 0x66aa5101
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x3cc]
add eax, dword [ebp - 0x78]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x78], ecx
mov al, byte [ebp + ecx - 0x30c]
mov byte [ebp + edi - 0x30c], al
inc edi
mov byte [ebp + ecx - 0x30c], bl
cmp edi, 0x100
jb 0x413ea3
xor eax, eax
mov dword [ebp - 0x34], esi
mov esi, eax
mov ebx, eax
mov edi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x30c]
movzx edx, cl
lea eax, [esi + edx]
movzx esi, al
mov al, byte [ebp + esi - 0x30c]
mov byte [ebp + ebx - 0x30c], al
mov byte [ebp + esi - 0x30c], cl
movzx eax, byte [ebp + ebx - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + edi - 0x2c]
mov byte [ebp + edi - 0x348], al
inc edi
cmp edi, 0x2c
jb 0x413ef8
mov edi, dword [ebp - 0x30]
lea edx, [ebp - 0x348]
mov esi, dword [ebp - 0x34]
xor eax, eax
push 4
mov byte [ebp - 0x31c], al
and esi, 0x781ab9a5
lea eax, [ebp - 0x310]
mov dword [0x435624], esi
push eax
push 0x1f
push edi
push 5
pop eax
mov ecx, eax
mov dword [ebp - 0x310], 0x13380
call fcn.0040a2e6
call eax
jmp 0x413f8f
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x684]
call fcn.0040b628
mov ebx, eax
lea edx, [ebp - 0x94]
xor ecx, ecx
mov dword [ebp - 0x78], ebx
push ebx
inc ecx
call fcn.0040a2e6
call eax
push dword [ebp + 0xc]
xor ecx, ecx
lea edx, [ebp - 0xe4]
inc ecx
mov esi, eax
call fcn.0040a2e6
call eax
push eax
push dword [ebp + 0xc]
lea edx, [ebp - 0x478]
push esi
push ebx
push edi
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
test eax, eax
jne 0x4144e8
mov ebx, dword [0x435624]
lea edi, [ebp - 0xc0]
mov esi, 0x42c100
mov dword [ebp - 0x2c], 0x9aadfafa
push 7
xor ebx, 0x844b7590
mov dword [ebp - 0x28], 0xd9ba7389
pop ecx
movsd dword es:[edi], dword [esi]
sub ebx, 0x4e03471
mov dword [ebp - 0x24], 0xe1f9d54c
mov dword [ebp - 0x20], 0x1c16f897
mov dword [ebp - 0x1c], 0xd02c167f
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0x34cc98ca
mov dword [ebp - 0x14], 0xe9f953
mov word [ebp - 0x10], 0xd6c2
mov byte [ebp - 0xe], 0xe8
mov byte [ebp - 0xd], cl
mov dword [ebp - 0xc], 0x5de4b9fc
mov dword [ebp - 8], 0xb97fbf91
mov dword [ebp - 4], 0x57e0b803
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x3c], eax
mov ecx, 0x4301b0
call fcn.0040f95d
push 6
pop ecx
mov esi, str.SrchCscorePI
lea edi, [ebp - 0x64]
rep movsd dword es:[edi], dword [esi]
xor edx, edx
push 0x66
pop ecx
mov eax, edx
movsw word es:[edi], word [esi]
mov dword [ebp - 0x40], eax
cmp cx, word [ebp - 0x64]
jne 0x414106
xor esi, esi
mov edx, ecx
mov ecx, esi
test dx, dx
je 0x4140c9
xor edx, edx
cmp word [ebp + ecx - 0x64], dx
je 0x4140cb
mov edx, ebx
mov ecx, 0x4301b0
call fcn.0040fd83
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
lea ecx, [eax + eax]
movzx edx, word [ecx + 0x4301b0]
cmp dx, word [ebp + ecx - 0x64]
je 0x414097
xor edx, edx
mov edi, dword [ebp - 0xac]
cmp edi, eax
jae 0x414106
mov esi, dword [ebp - 0x40]
mov ecx, 0x4301b0
call fcn.0040f95d
cmp edi, 0xa1e
jne 0x4140f0
or ebx, 0x78793e65
imul ebx, ebx, 0x9186bbbf
inc edi
cmp edi, esi
jb 0x4140d8
mov dword [ebp - 0xac], edi
xor edx, edx
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x3c]
mov edi, 0x100
mov byte [ebp + eax - 0x30c], al
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, edi
jb 0x414068
mov esi, edx
mov dl, byte [ebp + esi - 0x30c]
mov eax, esi
push 7
pop ecx
and eax, ecx
movzx ecx, dl
movzx eax, byte [ebp + eax - 0xc0]
add eax, dword [ebp - 0xc8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0xc8], ecx
mov al, byte [ebp + ecx - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + ecx - 0x30c], dl
cmp esi, edi
jb 0x414123
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x348], al
inc esi
cmp esi, 0x2c
jb 0x41416f
push 0x66
pop eax
push 0xb
mov esi, 0x42e014
mov byte [ebp - 0x24], al
pop eax
lea edi, [ebp - 0xac]
mov byte [ebp - 0x1e], al
push 6
movsd dword es:[edi], dword [esi]
xor ecx, ecx
pop eax
mov byte [ebp - 7], al
mov byte [ebp - 6], al
movsw word es:[edi], word [esi]
push 0x48
pop eax
mov byte [ebp - 4], al
mov eax, ecx
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x31c], cl
mov edi, ecx
mov dword [ebp - 0x2c], 0x31bc9ce3
mov dword [ebp - 0x28], 0x2142b024
mov dword [ebp - 0x23], 0xedf8ce34
mov byte [ebp - 0x1f], 0x25
mov dword [ebp - 0x1d], 0x872cbbe3
mov dword [ebp - 0x19], 0xfa00e2a7
mov dword [ebp - 0x15], 0xe57bcfda
mov dword [ebp - 0x11], 0x6de4cfc0
mov dword [ebp - 0xd], 0xf7093901
mov word [ebp - 9], 0x64bf
mov byte [ebp - 5], 0x29
mov word [ebp - 3], 0x746d
mov byte [ebp - 1], 0xfb
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x414245
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x30c]
push 6
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xac]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov byte [ebp + edi - 0x30c], bl
cmp esi, 0x100
jb 0x414256
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov byte [ebp + ebx - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x74], al
inc esi
cmp esi, 0x2c
jb 0x41429e
mov esi, 0x42e834
mov dword [ebp - 0x2c], 0xf4284632
push 0x11
pop eax
lea edi, [ebp - 0xc4]
mov byte [ebp - 0x25], al
movsd dword es:[edi], dword [esi]
xor ecx, ecx
push 0x66
pop eax
mov byte [ebp - 0x16], al
movsd dword es:[edi], dword [esi]
push 0x49
pop eax
mov byte [ebp - 6], al
mov eax, dword [ebp - 0x34]
movsd dword es:[edi], dword [esi]
or eax, 0xd684f97e
mov byte [ebp - 0x48], cl
mov word [ebp - 0x28], 0x6460
mov byte [ebp - 0x26], 0xe0
movsb byte es:[edi], byte [esi]
imul esi, eax, 0x79ef48f1
mov eax, ecx
mov dword [ebp - 0x24], 0x225c4346
mov dword [ebp - 0x20], 0x262e0da6
mov dword [ebp - 0x1c], 0xf824bc2e
mov word [ebp - 0x18], 0x5b92
mov dword [ebp - 0x15], 0xf0d22fae
mov dword [ebp - 0x11], 0xa5f694da
mov dword [ebp - 0xd], 0x5eaeb997
mov word [ebp - 9], 0xf4f9
mov byte [ebp - 7], 0xf9
mov dword [ebp - 5], 0xb3c8f771
mov byte [ebp - 1], 0x8c
mov dword [ebp - 0x34], esi
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x41437a
mov edi, ecx
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x30c]
push 0xc
mov eax, edi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xc4]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x30c]
mov byte [ebp + edi - 0x30c], al
inc edi
mov byte [ebp + esi - 0x30c], bl
cmp edi, 0x100
jb 0x41438d
mov esi, dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x40], eax
mov ebx, eax
mov edi, eax
lea eax, [ebx + 1]
movzx ebx, al
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xac], ebx
mov cl, byte [ebp + ebx - 0x30c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x40], eax
mov al, byte [ebp + eax - 0x30c]
mov byte [ebp + ebx - 0x30c], al
mov eax, dword [ebp - 0x40]
mov byte [ebp + eax - 0x30c], cl
movzx eax, byte [ebp + ebx - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
mov byte [ebp - 0x35], al
xor eax, eax
mov ebx, eax
mov edx, esi
mov ecx, 0x4301b0
call fcn.0040fd83
imul esi, esi, 0x2168053f
inc ebx
cmp byte [ebx + str._lS_lS], 0
jne 0x41442d
cmp ebx, 0xb6b
jae 0x41445e
call fcn.0040f8b7
imul esi, esi, 0xd26c546a
jmp 0x414464
xor esi, 0x51247395
mov al, byte [ebp + edi - 0x2c]
xor al, byte [ebp - 0x35]
mov ebx, dword [ebp - 0xac]
mov byte [ebp + edi - 0x3b0], al
inc edi
mov dword [0x435624], esi
cmp edi, 0x2c
jb 0x4143d9
push dword [ebp - 0x30]
xor ebx, ebx
lea edx, [ebp - 0x348]
push 5
pop eax
mov ecx, eax
mov byte [ebp - 0x384], bl
call fcn.0040a2e6
call eax
push dword [ebp - 0x44]
lea edx, [ebp - 0x74]
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
push dword [ebp - 0xb4]
lea edx, [ebp - 0x3b0]
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
mov esi, dword [ebp - 0x78]
mov ecx, esi
call fcn.0040b8f4
push eax
push ebx
push esi
call fcn.0040b587
mov ecx, esi
jmp 0x413a8e
mov esi, dword [ebp + 0x10]
lea edx, [ebp - 0x4a8]
push esi
push 0x400
push dword [ebp + 0x14]
push edi
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
cmp eax, 1
jne 0x414729
mov eax, dword [esi]
mov dword [ebp - 0x34], eax
mov esi, 0x42c100
mov word [ebp - 0x2c], 0x5bee
push 0xb
pop eax
lea edi, [ebp - 0xc0]
mov byte [ebp - 0x2a], al
movsd dword es:[edi], dword [esi]
xor edx, edx
push 0x23
mov byte [ebp - 0x17], al
mov ecx, edx
pop eax
movsd dword es:[edi], dword [esi]
push 0x49
mov byte [ebp - 9], al
pop eax
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0xc0], 0x63
mov dword [ebp - 0x29], 0xfe65eaf6
mov dword [ebp - 0x25], 0xf2e33753
mov dword [ebp - 0x21], 0x8dcc24aa
mov dword [ebp - 0x1d], 0x9dc99fd1
mov word [ebp - 0x19], 0x75e8
mov dword [ebp - 0x16], 0x2d551daf
mov dword [ebp - 0x12], 0xe034d82e
mov dword [ebp - 0xe], 0x4f735e75
mov byte [ebp - 0xa], 9
mov word [ebp - 8], 0xa8ba
mov byte [ebp - 6], 0xde
mov byte [ebp - 5], al
mov dword [ebp - 4], 0xdb8abae1
jne 0x4145b6
mov al, 0x63
test al, al
je 0x4145b6
cmp byte [ebp + ecx - 0xc0], dl
je 0x4145b6
mov al, byte [ecx + 0x430199]
inc ecx
cmp al, byte [ebp + ecx - 0xc0]
je 0x414599
movzx eax, byte [ebp + ecx - 0xc0]
movzx ecx, byte [ecx + 0x430198]
mov ebx, dword [0x435624]
sub ecx, eax
cmp ecx, 0x129a
jne 0x4145dd
or ebx, 0x76ca106c
jmp 0x4145e3
add ebx, 0xc931b0dc
push 5
pop eax
mov ecx, eax
lea edi, [ebp - 0x5c]
mov esi, 0x42f29c
mov eax, edx
rep movsd dword es:[edi], dword [esi]
mov edi, edx
mov byte [ebp + eax - 0x30c], al
inc eax
cmp eax, 0x100
jb 0x4145f6
mov esi, edx
xor edx, edx
mov cl, byte [ebp + esi - 0x30c]
mov eax, esi
mov byte [ebp - 0x35], cl
div dword [ebp - 0xac]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x5c]
add eax, edi
add ecx, eax
mov eax, str._lS_lS
movzx edi, cl
add ebx, 0x10ad8da7
inc eax
cmp byte [eax], 0
jne 0x41462f
mov al, byte [ebp + edi - 0x30c]
mov byte [ebp + esi - 0x30c], al
inc esi
mov al, byte [ebp - 0x35]
mov byte [ebp + edi - 0x30c], al
cmp esi, 0x100
jb 0x414607
xor eax, eax
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
and ebx, 0xbd6de33c
movzx edi, al
mov eax, dword [ebp - 0x40]
mov cl, byte [ebp + edi - 0x30c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x40], eax
mov al, byte [ebp + eax - 0x30c]
mov byte [ebp + edi - 0x30c], al
mov eax, dword [ebp - 0x40]
mov byte [ebp + eax - 0x30c], cl
movzx eax, byte [ebp + edi - 0x30c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x30c]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x3b0], al
inc esi
cmp esi, 0x2c
jb 0x414665
mov ecx, dword [ebp - 0x3c]
xor eax, eax
add ecx, dword [ebp - 0x34]
mov byte [ebp - 0x384], al
mov dword [0x435624], ebx
mov dword [ebp - 0x3c], ecx
lea eax, [ecx + 0x400]
cmp eax, 0x500000
jae 0x414792
mov ebx, dword [ebp + 0x10]
lea edx, [ebp - 0x3b0]
mov eax, dword [ebp + 0x14]
push ebx
push 0x400
add eax, ecx
push eax
push dword [ebp - 0x30]
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
mov ecx, eax
mov eax, dword [ebx]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x414723
cmp ecx, 1
je 0x414515
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x78]
push dword [ebp - 0x30]
lea edx, [ebp - 0x4d8]
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
push dword [ebp - 0x44]
lea edx, [ebp - 0x508]
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
push dword [ebp - 0xb4]
lea edx, [ebp - 0x3fc]
push 5
pop eax
mov ecx, eax
call fcn.0040a2e6
call eax
mov ecx, ebx
call fcn.0040b8f4
push eax
xor eax, eax
push eax
push ebx
call fcn.0040b587
add esp, 0xc
mov ecx, ebx
call fcn.0040a2d2
mov eax, dword [ebp - 0x3c]
mov dword [esi], eax
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
push 2
pop eax
jmp 0x41478d