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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f8
mov al, byte [str.eset.com]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 1], al
push ebx
push esi
mov esi, dword [0x1003fc28]
push edi
test al, al
je 0x10018cdf
mov eax, str.eset.com
and esi, 0xf5776525
inc eax
cmp byte [eax], 0
jne 0x10018cd3
mov edx, dword [0x1003fb5c]
push ecx
call fcn.10017f21
add esp, 4
mov edi, str.hSafeArrayGetVarType__
or esi, 0x392b60fb
mov dword [ebp - 0x14], esi
mov dword [0x1003fb5c], esi
push str.hSafeArrayGetVarType__
push ecx
mov ecx, str.31494_4C4M4_4d4
call fcn.10017970
inc edi
pop ecx
pop ecx
cmp byte [edi], 0
jne 0x10018d02
lea eax, [esi - 0x4a97be04]
mov dword [ebp - 0x68], 0x1331
mov dword [ebp - 0xc], eax
xor ebx, ebx
mov dword [0x1003fc18], eax
mov edi, ebx
xor eax, eax
mov dword [ebp - 0x64], 0x1198
inc eax
mov dword [ebp - 0x60], 0x18d9
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov eax, esi
xor eax, 0xf6b16433
mov dword [ebp - 0x5c], 0x25e7
mov dword [ebp - 0x1c], eax
mov dword [0x1003fc28], eax
mov al, byte [ebp - 1]
mov dword [ebp - 0x50], 0xa21
mov dword [ebp - 0x4c], 0x236c
test al, al
je 0x10018de9
mov edi, str.eset.com
mov ecx, str.1024282X22_2d2h2l2p2t2x22
call fcn.10018055
mov esi, dword [0x1003fb5c]
mov ebx, esi
or ebx, 0x17f84c4c
mov dword [ebp - 0x14], esi
inc edi
mov dword [ebp - 0xc], ebx
mov dword [0x1003fc18], ebx
cmp byte [edi], 0
jne 0x10018d7a
mov al, byte [str.eset.com]
xor ebx, ebx
mov byte [ebp - 1], al
mov edi, ebx
mov eax, dword [0x1003fc28]
mov dword [ebp - 0x1c], eax
mov al, byte [ebp - 1]
test al, al
je 0x10018de9
mov ebx, dword [ebp - 0x1c]
xor esi, 0xd739d463
mov dword [ebp - 0xc], esi
mov esi, str.eset.com
push str.hSafeArrayGetVarType__
push ecx
mov edx, ebx
call fcn.1001739e
inc esi
pop ecx
pop ecx
cmp byte [esi], 0
jne 0x10018dd0
xor ebx, ebx
mov edi, ebx
cmp edi, 5
je 0x10018df4
inc edi
cmp edi, 8
jl 0x10018de9
mov eax, dword [ebp + edi*4 - 0x68]
mov dword [ebp - 0x20], eax
call fcn.1001729c
mov esi, str.2_212A2Q2a2q2
lea edi, [ebp - 0x38]
mov eax, ebx
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 - 0x38], 0x68
jne 0x10018e79
mov cl, 0x68
test cl, cl
je 0x10018e2f
cmp byte [ebp + eax - 0x38], 0
je 0x10018e2f
mov cl, byte [eax + 0x10038451]
inc eax
cmp cl, byte [ebp + eax - 0x38]
je 0x10018e17
mov esi, dword [ebp - 0xc]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x24], eax
jae 0x10018e7c
mov eax, dword [ebp - 0x1c]
and esi, 0x39d00bd7
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x10]
push str.eset.com
push ecx
mov edx, eax
call fcn.1001739e
pop ecx
pop ecx
cmp esi, 0xc80
jne 0x10018e70
mov edx, str.eset.com
call fcn.10017794
inc esi
mov eax, ebx
cmp esi, edi
jb 0x10018e4f
xor ebx, ebx
mov esi, dword [ebp - 0xc]
push 2
pop eax
add esi, 0x81bd1c26
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov eax, ebx
mov dword [ebp - 0xc], esi
mov dword [0x1003fc28], esi
mov dword [ebp - 0x7c], 0x94a
mov dword [ebp - 0x78], 0x1dd7
mov dword [ebp - 0x74], 0x30d
mov dword [ebp - 0x70], 0x197c
mov dword [ebp - 0x64], 0x19df
mov dword [ebp - 0x60], 0x1c20
mov dword [ebp - 0x50], 0x886
mov dword [ebp - 0x4c], 0x85c
cmp eax, 8
je 0x10018ee2
inc eax
cmp eax, 0xd
jl 0x10018ed7
mov eax, dword [ebp + eax*4 - 0x7c]
mov edi, ebx
mov dword [ebp - 0x28], eax
lea eax, [esi - 0x2103c6ee]
mov dword [0x1003fc18], eax
mov eax, 0x86
mov dword [ebp - 0x78], 0x664
mov dword [ebp - 0x74], 0xa9b
mov dword [ebp - 0x70], 0x7da
mov dword [ebp - 0x6c], 0xc6a
mov dword [ebp - 0x68], 0xfc8
mov dword [ebp - 0x64], 0x10
mov dword [ebp - 0x60], 0x76a
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], 0x420
mov dword [ebp - 0x4c], eax
call fcn.1001729c
mov dl, byte [ebp - 1]
test dl, dl
je 0x10018f83
mov esi, dword [0x1003fc18]
add esi, 0x1b98e29b
mov dword [ebp - 0xc], esi
mov dword [0x1003fc28], esi
mov esi, str.eset.com
push str.eset.com
push ecx
mov ecx, str._USING_COVERING_INDEX
call fcn.10017970
inc esi
pop ecx
pop ecx
cmp byte [esi], 0
jne 0x10018f65
mov esi, dword [ebp - 0xc]
mov dl, byte [ebp - 1]
cmp edi, 8
je 0x10018f8e
inc edi
cmp edi, 0xc
jl 0x10018f83
mov eax, dword [ebp + edi*4 - 0x78]
mov ecx, dword [ebp - 0x24]
xor eax, 0x85
cmp ecx, dword [ebp - 0x20]
jne 0x100192fc
push 0x25
pop eax
push 9
pop ecx
mov esi, 0x10037d60
mov byte [ebp - 0x33], al
lea edi, [ebp - 0x70]
mov dword [ebp - 0x38], 0xe9a76a97
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x34], 0xd4
mov eax, ebx
mov dword [ebp - 0x32], 0x5d9d331e
mov word [ebp - 0x2e], 0xa031
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [ebp + eax - 0x194], al
inc eax
cmp eax, 0x100
jb 0x10018fd4
mov esi, dword [ebp - 0xc]
mov ecx, ebx
mov dword [ebp - 0x20], ecx
mov al, byte [ebp + ecx - 0x194]
xor edx, edx
mov byte [ebp - 2], al
mov eax, ecx
push 0x25
pop ecx
div ecx
movzx ecx, byte [ebp - 2]
movzx eax, byte [ebp + edx - 0x70]
add eax, edi
mov edi, esi
add ecx, eax
xor edi, 0x148e517
movzx eax, cl
mov ecx, edi
mov dword [ebp - 0x10], eax
call fcn.10017505
mov esi, ebx
push ecx
call fcn.10017824
xor edi, 0x5d5a071f
inc esi
pop ecx
mov dword [0x1003fc18], edi
cmp byte [esi + str.hSafeArrayGetVarType__], 0
jne 0x10019022
mov eax, dword [ebp - 0x18]
cmp eax, esi
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x1c], edi
jae 0x10019099
mov ecx, dword [ebp - 8]
cmp eax, 0x10ee
jne 0x1001907f
mov edi, esi
push str.eset.com
and edi, 0xe1076a0e
push ecx
mov ecx, 0x10037df0
mov dword [0x1003fc18], edi
call fcn.10017970
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
inc eax
lea esi, [edi + 0xecb1ca3]
mov dword [0x1003fc28], esi
mov dword [ebp - 0x18], eax
cmp eax, ecx
jb 0x10019052
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0xc], esi
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
mov al, byte [ebp + edi - 0x194]
mov byte [ebp + ecx - 0x194], al
inc ecx
mov al, byte [ebp - 2]
mov byte [ebp + edi - 0x194], al
mov dword [ebp - 0x20], ecx
cmp ecx, 0x100
jb 0x10018feb
mov esi, str.wxArchiveEntry
mov dword [ebp - 8], ebx
lea edi, [ebp - 0x8c]
mov dword [ebp - 0x10], ebx
mov edx, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, str.71797_7C7J7X7a7
lea edi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0xc]
lea eax, [edx + 1]
movzx ecx, al
mov dword [ebp - 0x90], ecx
mov al, byte [ebp + ecx - 0x194]
movzx edx, al
mov byte [ebp - 2], al
mov eax, dword [ebp - 8]
add eax, edx
mov dword [ebp - 0x28], edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x194]
mov byte [ebp + ecx - 0x194], al
call fcn.10017415
cmp byte [ebp - 0x8c], 0x68
mov eax, ebx
mov dword [ebp - 0x14], eax
jne 0x1001916c
mov ebx, dword [ebp - 0x1c]
mov cl, 0x68
test cl, cl
je 0x1001916a
cmp byte [ebp + eax - 0x8c], 0
je 0x1001916a
mov ecx, ebx
call fcn.10017505
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
mov cl, byte [eax + str.hSafeArrayGetVarType__]
cmp cl, byte [ebp + eax - 0x8c]
je 0x1001913f
xor ebx, ebx
push str.versailles
mov ecx, str.hSafeArrayGetVarType__
call fcn.10017cf0
mov eax, dword [ebp - 0x20]
pop ecx
cmp eax, dword [ebp - 0x14]
jae 0x100191d4
mov ebx, dword [ebp - 0x14]
imul edi, esi, 0x6d8ab8d1
mov dword [ebp - 0xc], edi
mov dword [0x1003fc28], edi
mov edi, eax
call fcn.10017545
cmp edi, 0xed2
jne 0x100191b5
push str.IsInsideRun__
mov ecx, str.eset.com
call fcn.10017cf0
pop ecx
push str.eset.com
push ecx
mov ecx, str.8_8_8_8_8084888_8_8D8H8L8P8T8Z9
call fcn.10017970
inc edi
pop ecx
pop ecx
cmp edi, ebx
jb 0x10019198
mov dword [ebp - 0x20], edi
xor ebx, ebx
mov edi, dword [ebp - 0xc]
cmp byte [ebp - 0x58], 0x68
mov ecx, ebx
mov dword [ebp - 0x18], ecx
jne 0x10019204
mov al, 0x68
test al, al
je 0x10019204
cmp byte [ebp + ecx - 0x58], 0
je 0x10019204
call fcn.10017f38
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
mov al, byte [ecx + str.hSafeArrayGetVarType__]
cmp al, byte [ebp + ecx - 0x58]
je 0x100191e1
movzx eax, byte [ebp + ecx - 0x58]
movzx ecx, byte [ecx + str.hSafeArrayGetVarType__]
sub ecx, eax
cmp ecx, 0xf34
jae 0x1001922f
lea eax, [esi - 0x7968d0af]
mov dword [ebp - 0x1c], eax
mov dword [0x1003fc18], eax
call fcn.10017f38
jmp 0x10019243
mov edi, dword [ebp - 0x1c]
xor edi, 0x77c63c79
mov dword [0x1003fc28], edi
call fcn.1001729c
mov ecx, dword [ebp - 8]
mov edx, edi
mov al, byte [ebp - 2]
push ecx
mov byte [ebp + ecx - 0x194], al
call fcn.10017f21
add esp, 4
mov dword [ebp - 0x18], ebx
cmp byte [ebp - 1], 0
mov eax, ebx
je 0x10019279
add esi, 0x2d3fc71f
inc eax
cmp byte [eax + str.eset.com], 0
jne 0x10019266
mov dword [ebp - 0x18], eax
push str.negative_precision
mov ecx, str.eset.com
call fcn.10017cf0
cmp dword [ebp - 0x18], 0x191b
pop ecx
jae 0x100192aa
push str.ColumnsUsed
mov ecx, str.hSafeArrayGetVarType__
call fcn.10017cf0
pop ecx
add esi, 0xac18062b
jmp 0x100192b8
mov ecx, dword [ebp - 0x1c]
call fcn.10017505
xor esi, 0x51bca19e
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x10]
mov dword [0x1003fb5c], esi
movzx eax, byte [ebp + edx - 0x194]
add eax, dword [ebp - 0x28]
movzx eax, al
mov al, byte [ebp + eax - 0x194]
xor al, byte [ebp + ecx - 0x38]
mov byte [ebp + ecx - 0x48], al
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, 0xc
jb 0x100190f2
mov byte [ebp - 0x3c], bl
lea edx, [ebp - 0x48]
jmp 0x100197bf
cmp ecx, dword [ebp - 0x28]
jne 0x100195a8
mov dword [ebp - 0x48], 0x19045db5
mov edi, ebx
mov dword [ebp - 0x44], 0x8d9b4ff1
mov word [ebp - 0x40], 0x60a6
test dl, dl
je 0x10019372
mov eax, dword [0x1003fc18]
add eax, 0x329cfce
mov dword [ebp - 0x14], eax
call fcn.10017545
inc edi
cmp byte [edi + str.eset.com], 0
jne 0x1001932c
mov esi, dword [ebp - 0x94]
cmp esi, edi
jae 0x1001936f
mov ebx, dword [0x1003fc18]
lea eax, [ebx - 0x17c092ec]
mov dword [ebp - 0xc], eax
cmp esi, 0xa05
jne 0x10019363
mov ecx, ebx
call fcn.10017505
call fcn.10017415
inc esi
cmp esi, edi
jb 0x10019354
xor ebx, ebx
mov dl, byte [ebp - 1]
push 0xb
pop ecx
mov esi, str.an_internal_error_has_occurred_in_the_DDEML.
mov dword [ebp - 0x90], ebx
lea edi, [ebp - 0x78]
mov eax, ebx
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x194], al
inc eax
cmp eax, 0x100
jb 0x10019388
mov ecx, ebx
test dl, dl
je 0x100193e6
mov esi, dword [ebp - 0xc]
and esi, 0x2d86bf2c
mov dword [ebp - 0x14], esi
inc ecx
cmp byte [ecx + str.eset.com], 0
jne 0x100193a9
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], ecx
cmp eax, ecx
jae 0x100193e6
cmp eax, 0x2046
jne 0x100193d5
imul esi, esi, 0x983707e2
call fcn.1001729c
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
and esi, 0x4ad78eb
inc eax
mov dword [ebp - 0x10], eax
cmp eax, ecx
jb 0x100193bd
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 0x90]
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x194]
push 0x2c
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x78]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x194]
mov byte [ebp + esi - 0x194], al
inc esi
mov byte [ebp + edi - 0x194], bl
cmp esi, 0x100
jb 0x100193ee
imul esi, dword [ebp - 0xc], 0xd3cf550a
xor ebx, ebx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x20], esi
mov dword [0x1003fc18], esi
call fcn.10017505
add esi, 0x7d936587
mov edi, ebx
mov dword [0x1003fc28], esi
call fcn.1001729c
inc edi
cmp byte [edi + str.hSafeArrayGetVarType__], bl
jne 0x10019459
cmp edi, 0x191
jae 0x10019487
add esi, 0x6f7a5dd6
mov ecx, str.eset.com
mov dword [0x1003fc28], esi
call fcn.10017add
jmp 0x10019496
mov eax, esi
or eax, 0x5077acbd
mov dword [ebp - 0x14], eax
call fcn.10016d8b
mov esi, str.andasuolo
mov dword [ebp - 0x18], ebx
lea edi, [ebp - 0x88]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [0x1003fc28]
mov eax, dword [ebp - 0x10]
inc eax
movzx edi, al
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], edi
mov cl, byte [ebp + edi - 0x194]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x194]
mov byte [ebp + edi - 0x194], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x194], cl
movzx eax, byte [ebp + edi - 0x194]
mov edi, ebx
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x194]
mov byte [ebp - 2], al
mov eax, dword [ebp - 0x14]
or eax, 0x5a56dcd0
cmp byte [ebp - 0x88], 0x68
mov dword [ebp - 0x14], eax
mov dword [0x1003fb5c], eax
jne 0x10019536
mov al, 0x68
test al, al
je 0x10019536
cmp byte [ebp + edi - 0x88], bl
je 0x10019536
mov al, byte [edi + 0x10038451]
inc edi
cmp al, byte [ebp + edi - 0x88]
je 0x10019519
call fcn.10017545
movzx eax, byte [ebp + edi - 0x88]
movzx ecx, byte [edi + str.hSafeArrayGetVarType__]
sub ecx, eax
cmp ecx, 0x13bc
jae 0x1001955d
imul esi, dword [ebp - 0x20], 0xb73632ae
jmp 0x1001957c
mov eax, esi
mov ecx, str.hSafeArrayGetVarType__
and eax, 0x4298f72a
push str.xn__hylandet_54a
mov dword [ebp - 0x20], eax
mov dword [0x1003fc18], eax
call fcn.10017cf0
pop ecx
mov ecx, dword [ebp - 0x18]
mov al, byte [ebp + ecx - 0x48]
xor al, byte [ebp - 2]
mov byte [ebp + ecx - 0x38], al
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0xa
jb 0x100194ae
mov dword [0x1003fc28], esi
lea edx, [ebp - 0x38]
mov byte [ebp - 0x2e], bl
jmp 0x100197bf
cmp ecx, eax
jne 0x100198b6
mov eax, ebx
inc eax
cmp byte [eax + str.hSafeArrayGetVarType__], 0
jne 0x100195b2
mov esi, dword [ebp - 0x14]
mov edx, esi
push ecx
call fcn.10017f21
add esp, 4
cmp eax, 0x260d
jae 0x100195e5
push str.eset.com
push ecx
mov ecx, str.bad_address
call fcn.10017970
pop ecx
pop ecx
jmp 0x100195eb
and esi, 0x2bb35209
add esi, 0x9ed28a04
mov dword [ebp - 0x88], 0xb1281809
mov dword [ebp - 8], esi
lea edi, [ebp - 0x44]
mov esi, str.NodeSize
mov dword [ebp - 0x84], 0x4782e84b
mov byte [ebp - 0x80], 0x75
mov dword [ebp - 0x1c], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 8]
mov eax, edi
or eax, 0xac7f5c7f
add eax, 0x33fd584e
mov dword [ebp - 0x20], eax
mov dword [0x1003fb5c], eax
mov eax, ebx
mov byte [ebp + eax - 0x194], al
inc eax
cmp eax, 0x100
jb 0x10019633
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov cl, byte [ebp + edx - 0x194]
mov eax, edx
and eax, 7
mov byte [ebp - 2], cl
movzx ecx, cl
mov esi, 0x10037f94
push 5
mov dword [ebp - 0x10], ebx
movzx eax, byte [ebp + eax - 0x44]
add eax, dword [ebp - 0x1c]
add ecx, eax
imul eax, edi, 0x4e958ac6
movzx ecx, cl
lea edi, [ebp - 0x5c]
mov dword [ebp - 0x1c], ecx
mov dword [0x1003fc28], eax
mov al, byte [ebp + ecx - 0x194]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov cl, byte [ebp - 1]
mov byte [ebp + edx - 0x194], al
mov eax, ebx
cmp cl, byte [ebp - 0x5c]
jne 0x100196b7
test cl, cl
je 0x100196b4
cmp byte [ebp + eax - 0x5c], 0
je 0x100196b4
mov cl, byte [eax + 0x1003fbc1]
inc eax
cmp cl, byte [ebp + eax - 0x5c]
je 0x1001969c
mov dword [ebp - 0x10], eax
call fcn.1001729c
mov ecx, dword [ebp - 0x10]
mov esi, dword [0x1003fc28]
movzx eax, byte [ebp + ecx - 0x5c]
movzx ecx, byte [ecx + str.eset.com]
sub ecx, eax
cmp ecx, 0x953
jae 0x100196fb
mov eax, dword [ebp - 0x20]
mov edx, esi
sub eax, 0x754139b
push ecx
mov dword [ebp - 0x20], eax
mov dword [0x1003fb5c], eax
call fcn.10017f21
mov edi, dword [ebp - 8]
add esp, 4
jmp 0x1001970d
mov edi, esi
and edi, 0x178ccd98
mov ecx, edi
mov dword [ebp - 8], edi
call fcn.10017505
call fcn.10016fe7
cmp byte [ebp - 1], 0
je 0x1001972f
mov eax, str.eset.com
xor esi, 0xad365236
inc eax
cmp byte [eax], 0
jne 0x1001971d
mov dword [0x1003fc28], esi
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
inc edx
mov cl, byte [ebp - 2]
mov dword [ebp - 0x18], edx
mov byte [ebp + eax - 0x194], cl
cmp edx, 0x100
jb 0x10019647
imul eax, esi, 0x7024ed08
mov edi, ebx
mov dword [ebp - 8], ebx
mov esi, ebx
mov dword [0x1003fc18], eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x194]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x194]
mov byte [ebp + esi - 0x194], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x194], cl
movzx eax, byte [ebp + esi - 0x194]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x194]
xor al, byte [ebp + edi - 0x88]
mov byte [ebp + edi - 0x48], al
inc edi
cmp edi, 9
jb 0x10019761
mov byte [ebp - 0x3f], bl
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x1f8]
call fcn.100103ba
mov edi, dword [ebp - 0x24]
mov eax, dword [edi*4 + 0x10041340]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x1001980d
lea eax, [ebp - 0x1f8]
push eax
call dword [0x10041338]
mov esi, eax
push str.eset.com
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
imul edx, eax, 0x902a3795
mov dword [edi*4 + 0x10041340], esi
mov dword [0x1003fc28], edx
jmp 0x10019813
mov edx, dword [0x1003fc28]
push 0xa
pop ecx
mov esi, str.EnumDisplaySettings_ENUM_CURRENT_SETTINGS_
mov dword [ebp - 0x24], edx
lea edi, [ebp - 0x74]
mov eax, edx
rep movsd dword es:[edi], dword [esi]
xor eax, 0xb2605f61
mov dword [ebp - 0x28], eax
mov al, byte [str.eset.com]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp al, byte [ebp - 0x74]
jne 0x1001985f
test al, al
je 0x1001985c
cmp byte [ebp + ebx - 0x74], 0
je 0x1001985c
mov ecx, str.eset.com
call fcn.10017add
mov al, byte [ebx + 0x1003fbc1]
inc ebx
cmp al, byte [ebp + ebx - 0x74]
je 0x1001983a
mov edx, dword [ebp - 0x24]
movzx eax, byte [ebp + ebx - 0x74]
movzx ecx, byte [ebx + str.eset.com]
sub ecx, eax
cmp ecx, 0x87d
jae 0x1001988a
push str.hSafeArrayGetVarType__
push ecx
call fcn.1001739e
pop ecx
pop ecx
and edx, 0x1ed38472
jmp 0x1001989c
mov ecx, dword [0x1003fc18]
call fcn.10017505
imul edx, dword [ebp - 0x28], 0x8d7b5e5d
push dword [ebp - 0x94]
mov dword [0x1003fb5c], edx
push dword [ebp - 0x10]
call dword [0x10041330]
jmp 0x10019996
add esi, 0x7d609291
mov ecx, str.hSafeArrayGetVarType__
push str.DDDDUUUU
mov dword [0x1003fc28], esi
call fcn.10017cf0
mov esi, str.xn__klt787d
mov dword [ebp - 0x24], ebx
lea edi, [ebp - 0x38]
mov eax, ebx
pop ecx
mov cl, byte [ebp - 1]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp cl, byte [ebp - 0x38]
jne 0x10019905
test cl, cl
je 0x10019902
cmp byte [ebp + eax - 0x38], 0
je 0x10019902
mov cl, byte [eax + 0x1003fbc1]
inc eax
cmp cl, byte [ebp + eax - 0x38]
je 0x100198ea
mov dword [ebp - 0x24], eax
mov ecx, str.hSafeArrayGetVarType__
call fcn.10017add
mov edi, dword [ebp - 0x94]
mov esi, dword [ebp - 0x24]
cmp edi, esi
jae 0x10019940
mov eax, dword [ebp - 0x14]
xor eax, 0x41af7c7a
mov dword [0x1003fc28], eax
cmp edi, 0x126e
jne 0x10019936
call fcn.10017415
call fcn.1001729c
inc edi
cmp edi, esi
jb 0x10019929
mov ecx, 0xaf
mov dword [ebp - 0x78], 0x6a1
mov dword [ebp - 0x74], 0x1ae
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], 0x40e
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], 0x1d7a
mov dword [ebp - 0x5c], 0x133
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], 0xdf4
mov dword [ebp - 0x50], 0x1d5e
mov dword [ebp - 0x4c], ecx
cmp ebx, 0xb
je 0x10019990
inc ebx
cmp ebx, 0xc
jl 0x10019985
mov eax, dword [ebp + ebx*4 - 0x78]
xor eax, ecx
pop edi
pop esi
pop ebx
leave
ret