Function at 0x40f0e7
Capabilities:
Modify service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x374
push esi
jmp 0x40f10d
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
add eax, 4
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
add eax, 4
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp dword [eax], 0
je 0x4108aa
mov dword [ebp - 0x14], 0xc64a6847
mov dword [ebp - 0x2d0], 0xfffffffc
mov dword [ebp - 0x2cc], 0xfffffffc
mov dword [ebp - 0x2c8], 0xfffffffc
mov dword [ebp - 0x2c4], 0xfffffffc
lea ecx, [ebp - 0xcd]
call fcn.0042aefd
push eax
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x374]
call fcn.0042af00
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x2dc]
call fcn.0042aeac
mov dword [ebp - 0x5c], 0x4f9dbc9b
mov dword [ebp - 0x9c], 0x4174aa7f
mov dword [ebp - 0x7c], 0
jmp 0x40f1a0
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 1
jge 0x40f1b3
mov eax, dword [ebp - 0x7c]
mov dword [ebp + eax*4 - 0x64], 0x39924432
jmp 0x40f199
mov dword [ebp - 0x14], 0
jmp 0x40f1c3
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 5
jle 0x40f1df
mov byte [ebp - 0x32], 0
movzx eax, byte [ebp - 0x32]
test eax, eax
je 0x40f1dd
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
jmp 0x40f1bc
mov dword [ebp - 0x14], 0
jmp 0x40f1ef
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x40f86f
mov dword [ebp - 4], 0xd2086bd0
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x54], 1
mov dword [ebp - 4], 0
jmp 0x40f21e
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jl 0x40f86a
mov dword [ebp - 0x24], 0xffffffff
push 1
lea ecx, [ebp - 0xc4]
call fcn.0042ae00
mov dword [ebp - 0x114], 0xfffffff9
push 3
lea ecx, [ebp - 0x2f4]
call fcn.0042ae00
mov dword [ebp - 0x20], 0
jmp 0x40f263
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x40f27c
push dword [ebp - 0x20]
lea ecx, [ebp - 0xc4]
call fcn.0042aeee
or dword [eax], 0xffffffff
jmp 0x40f25c
mov dword [ebp - 0x20], 0
jmp 0x40f28c
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x40f2a8
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2f4]
call fcn.0042aeee
mov dword [eax], 0xfffffffc
jmp 0x40f285
cmp dword [ebp - 4], 0
jne 0x40f4fd
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x190], eax
push 0
lea ecx, [ebp - 0x2dc]
call fcn.0042aeee
mov ecx, dword [ebp - 0x190]
mov dword [eax], ecx
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jne 0x40f2ee
cmp dword [ebp - 0x24], 0
jne 0x40f2ee
and dword [ebp - 0x254], 0
jmp 0x40f2f8
mov dword [ebp - 0x254], 1
mov eax, dword [ebp - 4]
lea eax, [ebp + eax*4 - 0x64]
mov dword [ebp - 0x170], eax
push 0
lea ecx, [ebp - 0xc4]
call fcn.0042aeee
mov ecx, dword [ebp - 0x170]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0x170]
cmp dword [eax], 0
jne 0x40f37b
cmp dword [ebp - 4], 0x2506
je 0x40f33c
mov dword [ebp - 0xdc], 1
jmp 0x40f343
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 4]
imul eax, dword [ebp - 4]
test eax, eax
jne 0x40f37b
and dword [ebp - 0x1b4], 0
jmp 0x40f385
mov dword [ebp - 0x1b4], 1
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x38], eax
jl 0x40f3ab
mov dword [ebp - 0xe4], 1
jmp 0x40f3b2
and dword [ebp - 0xe4], 0
cmp dword [ebp - 0xe4], 1
jae 0x40f3c7
mov dword [ebp - 0x1bc], 1
jmp 0x40f3ce
and dword [ebp - 0x1bc], 0
cmp dword [ebp - 0x1bc], 0x26ae69ed
jge 0x40f3e6
mov dword [ebp - 0xec], 1
jmp 0x40f3ed
and dword [ebp - 0xec], 0
cmp dword [ebp - 0xec], 0x4db1d70f
jge 0x40f405
mov dword [ebp - 0x1c4], 1
jmp 0x40f40c
and dword [ebp - 0x1c4], 0
push 0
lea ecx, [ebp - 0xc4]
call fcn.0042aeee
mov ecx, dword [ebp - 0x1c4]
cmp ecx, dword [eax]
jge 0x40f42f
mov dword [ebp - 0xf4], 1
jmp 0x40f436
and dword [ebp - 0xf4], 0
push 0
lea ecx, [ebp - 0xc4]
call fcn.0042aeee
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [eax]
jne 0x40f459
mov dword [ebp - 0x2a4], 1
jmp 0x40f460
and dword [ebp - 0x2a4], 0
push 0
lea ecx, [ebp - 0xc4]
call fcn.0042aeee
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x33c], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x64]
mov dword [ebp - 0x344], eax
mov esi, dword [ebp - 0x5c]
push 0
lea ecx, [ebp - 0xc4]
call fcn.0042aeee
cmp esi, dword [eax]
jg 0x40f4ac
cmp dword [ebp - 4], 0
je 0x40f4ac
mov dword [ebp - 0x1cc], 1
jmp 0x40f4b3
and dword [ebp - 0x1cc], 0
push 0
lea ecx, [ebp - 0xc4]
call fcn.0042aeee
mov ecx, dword [ebp - 0x1cc]
sub ecx, dword [eax]
cmp ecx, 0xfffffff9
jle 0x40f4e2
mov eax, 0x39bb816e
test eax, eax
je 0x40f4e2
mov dword [ebp - 0xfc], 1
jmp 0x40f4e9
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xfc], eax
jle 0x40f4fd
and dword [ebp - 0x1d4], 0
jmp 0x40f507
mov dword [ebp - 0x1d4], 1
mov eax, dword [ebp - 0x1d4]
sub eax, dword [ebp - 4]
jne 0x40f516
cmp dword [ebp - 0x38], 0
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x64], 1
jle 0x40f52c
mov dword [ebp - 0x104], 1
jmp 0x40f533
and dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x104], eax
jge 0x40f54a
mov dword [ebp - 0x1dc], 1
jmp 0x40f551
and dword [ebp - 0x1dc], 0
cmp dword [ebp - 0x1dc], 1
jbe 0x40f566
mov dword [ebp - 0x10c], 1
jmp 0x40f56d
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x54], eax
jl 0x40f59c
cmp dword [ebp - 0x24], 0
je 0x40f59c
mov dword [ebp - 0x1e4], 1
jmp 0x40f5a3
and dword [ebp - 0x1e4], 0
push 0
lea ecx, [ebp - 0xc4]
call fcn.0042aeee
mov ecx, dword [ebp - 0x1e4]
sub ecx, dword [eax]
mov dword [ebp - 0x114], ecx
mov eax, dword [ebp - 0x114]
add eax, 0xff42
cmp eax, 0xffff
jae 0x40f5dc
mov dword [ebp - 0x1ec], 1
jmp 0x40f5e3
and dword [ebp - 0x1ec], 0
cmp dword [ebp - 0x1ec], 0xfff7
je 0x40f601
cmp dword [ebp - 0x9c], 0
jne 0x40f601
and dword [ebp - 0x11c], 0
jmp 0x40f60b
mov dword [ebp - 0x11c], 1
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x64]
cmp dword [ebp - 0x11c], eax
jl 0x40f626
mov dword [ebp - 0x1f4], 1
jmp 0x40f62d
and dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x1f4], eax
jg 0x40f644
mov dword [ebp - 0x2ac], 1
jmp 0x40f64b
and dword [ebp - 0x2ac], 0
push 0
lea ecx, [ebp - 0x2dc]
call fcn.0042aeee
mov dword [ebp - 0x124], eax
push 0
lea ecx, [ebp - 0xc4]
call fcn.0042aeee
mov ecx, dword [ebp - 0x124]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x124]
cmp dword [ecx], eax
je 0x40f68e
mov dword [ebp - 0x1fc], 1
jmp 0x40f695
and dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0x1fc], eax
jg 0x40f6af
mov dword [ebp - 0x12c], 1
jmp 0x40f6b6
and dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x12c], eax
jl 0x40f6cd
mov dword [ebp - 0x204], 1
jmp 0x40f6d4
and dword [ebp - 0x204], 0
push 0
lea ecx, [ebp - 0xc4]
call fcn.0042aeee
mov ecx, dword [ebp - 0x204]
cmp ecx, dword [eax]
je 0x40f6f7
mov dword [ebp - 0x134], 1
jmp 0x40f6fe
and dword [ebp - 0x134], 0
imul eax, dword [ebp - 0x134], 0xc92
cmp eax, 0xffff
jae 0x40f71b
mov dword [ebp - 0x20c], 1
jmp 0x40f722
and dword [ebp - 0x20c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x64]
cmp dword [ebp - 0x20c], eax
jle 0x40f74c
cmp dword [ebp - 0x38], 0
je 0x40f74c
cmp dword [ebp - 0x24], 0
je 0x40f74c
mov dword [ebp - 0x13c], 1
jmp 0x40f753
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x13c], eax
je 0x40f76d
cmp dword [ebp - 4], 0
jne 0x40f76d
and dword [ebp - 0xa8], 0
jmp 0x40f777
mov dword [ebp - 0xa8], 1
push 2
lea ecx, [ebp - 0x2f4]
call fcn.0042aeee
mov ecx, dword [ebp - 0xa8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0xa8], eax
jl 0x40f7a6
mov dword [ebp - 0x214], 1
jmp 0x40f7ad
and dword [ebp - 0x214], 0
cmp dword [ebp - 0x214], 1
jne 0x40f7c2
mov dword [ebp - 0x144], 1
jmp 0x40f7c9
and dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x144], eax
jl 0x40f7e0
mov dword [ebp - 0x21c], 1
jmp 0x40f7e7
and dword [ebp - 0x21c], 0
imul eax, dword [ebp - 0x21c], 0xe9f7
sub eax, dword [ebp - 0x54]
cmp dword [ebp - 0x24], eax
jl 0x40f805
mov dword [ebp - 0x14c], 1
jmp 0x40f80c
and dword [ebp - 0x14c], 0
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x14c]
jle 0x40f823
mov dword [ebp - 0x224], 1
jmp 0x40f82a
and dword [ebp - 0x224], 0
cmp dword [ebp - 0x224], 0x69b762b0
jle 0x40f842
mov dword [ebp - 0x29c], 1
jmp 0x40f849
and dword [ebp - 0x29c], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x2f4]
call fcn.0042aed2
lea ecx, [ebp - 0xc4]
call fcn.0042aed2
jmp 0x40f217
jmp 0x40f1e8
lea ecx, [ebp - 0x2dc]
call fcn.0042aed2
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0x80000000
je 0x40fa7e
mov dword [ebp - 0xb4], 0x6de713a
mov dword [ebp - 0x6c], 0xbf48
mov dword [ebp - 0xcc], 2
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x15c], 1
mov dword [ebp - 0x234], 0xc2076acb
cmp dword [ebp - 0xb4], 0
jne 0x40f8db
push 6
pop eax
test eax, eax
jne 0x40f8db
and dword [ebp - 0x154], 0
jmp 0x40f8e5
mov dword [ebp - 0x154], 1
cmp dword [ebp - 0x154], 0xfffffffb
je 0x40f8fa
mov dword [ebp - 0x22c], 1
jmp 0x40f901
and dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x22c]
dec eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x2c], eax
jl 0x40f91f
mov dword [ebp - 0x274], 1
jmp 0x40f926
and dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x354], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x6c]
mov dword [ebp - 0x234], eax
je 0x40f970
cmp dword [ebp - 0x2c], 0
je 0x40f970
mov dword [ebp - 0x164], 1
jmp 0x40f977
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0xb4]
cmp dword [ebp - 0x164], eax
jg 0x40f991
mov dword [ebp - 0x23c], 1
jmp 0x40f998
and dword [ebp - 0x23c], 0
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x23c]
je 0x40f9d1
cmp dword [ebp - 0xcc], 0
je 0x40f9d1
mov dword [ebp - 0x290], 1
mov dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x270], eax
jmp 0x40fa4d
push 2
lea ecx, [ebp - 0x2e8]
call fcn.0042ae00
mov dword [ebp - 0x84], 0
jmp 0x40f9f7
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 2
jge 0x40fa19
push dword [ebp - 0x84]
lea ecx, [ebp - 0x2e8]
call fcn.0042aeee
mov dword [eax], 0xb79ae4f7
jmp 0x40f9ea
mov dword [ebp - 0x2c], 0
jmp 0x40fa29
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x40fa42
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x2e8]
call fcn.0042aeee
and dword [eax], 0
jmp 0x40fa22
lea ecx, [ebp - 0x2e8]
call fcn.0042aed2
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xffff
push eax
mov eax, dword [ebp + 8]
push dword [eax]
push 0x4a6
push 0x4ea
call fcn.004073b4
pop ecx
pop ecx
call eax
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
mov dword [ecx], eax
jmp 0x4102c7
mov dword [ebp - 8], 0xfffffff8
mov dword [ebp - 0x10], 0x2e31d83
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0xa4], 0
jmp 0x40fab3
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 1
jge 0x40facf
mov eax, dword [ebp - 0xa4]
mov dword [ebp + eax*4 - 0x278], 0xd7a7
jmp 0x40faa6
xor eax, eax
jne 0x40fae3
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x40fba5
mov eax, 0xad67a4be
test eax, eax
je 0x40fb66
push 0xfffffffffffffffa
pop eax
test eax, eax
je 0x40fb22
cmp dword [ebp - 0x10], 1
jge 0x40fb05
mov dword [ebp - 0x244], 1
jmp 0x40fb0c
and dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x244]
neg eax
je 0x40fb22
mov dword [ebp - 0x16c], 1
jmp 0x40fb29
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x16c], eax
jle 0x40fb40
mov dword [ebp - 0x210], 1
jmp 0x40fb47
and dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x10], eax
imul eax, dword [ebp - 8], 0x4e26
dec eax
je 0x40fb66
mov dword [ebp - 0x178], 1
jmp 0x40fb6d
and dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x178]
sub eax, 0x954e
cmp eax, dword [ebp - 0x60]
jl 0x40fb89
mov dword [ebp - 0x1e0], 1
jmp 0x40fb90
and dword [ebp - 0x1e0], 0
cmp dword [ebp - 0x1e0], 0xfffffff6
jl 0x40fba5
mov dword [ebp - 0x180], 1
jmp 0x40fbac
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x40fe12
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x8c], 0
jmp 0x40fbe2
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 3
jge 0x40fbfe
mov eax, dword [ebp - 0x8c]
mov dword [ebp + eax*4 - 0x2bc], 0x8ee8
jmp 0x40fbd5
mov dword [ebp - 0x60], 0xffffffea
jmp 0x40fc0e
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 2
jg 0x40fde8
mov dword [ebp - 0x74], 0xcbaa6f4e
mov dword [ebp - 0x10], 0
jmp 0x40fc2f
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jg 0x40fdc5
mov dword [ebp - 0x50], 0
jmp 0x40fc49
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 2
jg 0x40fc7f
mov dword [ebp - 8], 0
jmp 0x40fc5f
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
jg 0x40fc7d
mov byte [ebp - 0x2e], 0
movzx eax, byte [ebp - 0x2e]
test eax, eax
je 0x40fc7b
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
jmp 0x40fc58
jmp 0x40fc42
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2bc]
mov dword [ebp - 0x340], eax
cmp dword [ebp - 0x74], 1
jl 0x40fca1
mov dword [ebp - 0x238], 1
jmp 0x40fca8
and dword [ebp - 0x238], 0
cmp dword [ebp - 0x238], 0xffffffff
jl 0x40fcbd
mov dword [ebp - 0x188], 1
jmp 0x40fcc4
and dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2bc]
cmp dword [ebp - 0x188], eax
jle 0x40fce3
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x2bc], 0
jne 0x40fcf5
mov eax, 0x2f34
test eax, eax
jne 0x40fcf5
and dword [ebp - 0x1e8], 0
jmp 0x40fcff
mov dword [ebp - 0x1e8], 1
cmp dword [ebp - 0x1e8], 0xfffffff9
jge 0x40fd14
mov dword [ebp - 0xd4], 1
jmp 0x40fd1b
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2bc]
cmp eax, dword [ebp - 0xd4]
jle 0x40fd39
mov dword [ebp - 0x218], 1
jmp 0x40fd40
and dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jne 0x40fd5e
cmp dword [ebp - 0x74], 0
jne 0x40fd5e
and dword [ebp - 0x198], 0
jmp 0x40fd68
mov dword [ebp - 0x198], 1
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2bc]
cmp eax, dword [ebp - 0x198]
jl 0x40fd86
mov dword [ebp - 0x1f0], 1
jmp 0x40fd8d
and dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 0x1f0]
neg eax
mov ecx, 0x3d2f
sub ecx, eax
cmp ecx, dword [ebp - 8]
jge 0x40fdad
mov dword [ebp - 0x1a0], 1
jmp 0x40fdb4
and dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x2b0], eax
jmp 0x40fc28
mov byte [ebp - 0x2d], 0
movzx eax, byte [ebp - 0x2d]
test eax, eax
je 0x40fde3
push 0x1fa
push 0x2141
push 0
call dword [sym.imp.USER32.dll_InflateRect]
jmp 0x40fc07
mov byte [ebp - 0x2f], 0
movzx eax, byte [ebp - 0x2f]
test eax, eax
je 0x40fe10
push 0x2279
push 0x1a20
push 0xc93
push 0x1fcb
push 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
jmp 0x40fe44
mov dword [ebp - 8], 0
jmp 0x40fe22
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jg 0x40fe44
mov dword [ebp - 0x298], 0xb91ee328
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x278]
mov dword [ebp - 0x298], eax
jmp 0x40fe1b
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
add ecx, dword [eax]
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x68], 0x4f78d7cb
mov dword [ebp - 0xac], 0xe8e60a2f
mov dword [ebp - 0x280], 0x3314648a
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x174], 0x4179b2c3
mov byte [ebp - 0x30], 0
movzx eax, byte [ebp - 0x30]
test eax, eax
je 0x40fea8
push 0
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x40], 7
jmp 0x40feb8
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x13
jge 0x41029f
mov dword [ebp - 0x18], 0xe713a473
mov dword [ebp - 0x28], 0x20a2e71c
mov dword [ebp - 0xb0], 0xbe94
mov dword [ebp - 0x18], 0x19
jmp 0x40feea
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff7
jge 0x41019e
mov dword [ebp - 0x70], 0xdade
mov dword [ebp - 0x58], 0x9fa8bc07
mov dword [ebp - 0x240], 0xffffffff
push 1
lea ecx, [ebp - 0x36c]
call fcn.0042ae00
mov dword [ebp - 0xa0], 0
jmp 0x40ff32
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 1
jge 0x40ff51
push dword [ebp - 0xa0]
lea ecx, [ebp - 0x36c]
call fcn.0042aeee
or dword [eax], 0xffffffff
jmp 0x40ff25
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x40], eax
jle 0x40ff65
mov dword [ebp - 0x220], 1
jmp 0x40ff6c
and dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x68]
je 0x40ff8d
mov dword [ebp - 0x230], 1
jmp 0x40ff94
and dword [ebp - 0x230], 0
cmp dword [ebp - 0x230], 0xc7ba3f30
ja 0x40ffac
mov dword [ebp - 0x1a8], 1
jmp 0x40ffb3
and dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x1a8]
cmp eax, dword [ebp - 0x68]
jl 0x40ffcd
mov dword [ebp - 0x1f8], 1
jmp 0x40ffd4
and dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1f8], eax
je 0x40ffeb
mov dword [ebp - 0x1b0], 1
jmp 0x40fff2
and dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x1b0], eax
jle 0x410009
mov dword [ebp - 0x1b8], 1
jmp 0x410010
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x1b8]
cmp dword [ebp - 0x98], eax
jl 0x41003f
mov dword [ebp - 0x200], 1
jmp 0x410046
and dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x200]
add eax, 0x11a53fde
jne 0x410065
mov eax, 0x9eb818f8
test eax, eax
jne 0x410065
and dword [ebp - 0x1c0], 0
jmp 0x41006f
mov dword [ebp - 0x1c0], 1
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x28], eax
xor eax, eax
sub eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x68]
jge 0x4100a3
cmp dword [ebp - 0x98], 0
je 0x4100a3
mov dword [ebp - 0x1c8], 1
jmp 0x4100aa
and dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x68]
cmp dword [ebp - 0x1c8], eax
jg 0x4100c1
mov dword [ebp - 0x208], 1
jmp 0x4100c8
and dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x208], eax
jl 0x4100df
mov dword [ebp - 0x1d0], 1
jmp 0x4100e6
and dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x1d0], eax
jl 0x4100fd
mov dword [ebp - 0x228], 1
jmp 0x410104
and dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x228], eax
jne 0x41011b
mov dword [ebp - 0x1d8], 1
jmp 0x410122
and dword [ebp - 0x1d8], 0
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x58], 0
jmp 0x41013e
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jg 0x41018e
mov dword [ebp - 0x168], 0x228d
mov byte [ebp - 0x41], 0
movzx eax, byte [ebp - 0x41]
test eax, eax
je 0x41017f
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x1347
push 0xc3d
push 0x992
push 0
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
mov eax, dword [ebp - 0x168]
dec eax
mov dword [ebp - 0x168], eax
jmp 0x410137
lea ecx, [ebp - 0x36c]
call fcn.0042aed2
jmp 0x40fee3
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x31c], eax
imul eax, dword [ebp - 0x40], 0x5901
sub eax, 0x3b
cmp eax, 0x103ca543
jge 0x4101dc
mov dword [ebp - 0x2a8], 1
jmp 0x4101e3
and dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0xf9e84ebf
ja 0x410210
mov dword [ebp - 0x17c], 1
jmp 0x410217
and dword [ebp - 0x17c], 0
cmp dword [ebp - 0x17c], 8
jg 0x41022c
mov dword [ebp - 0x184], 1
jmp 0x410233
and dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x184]
cmp eax, dword [ebp - 0x28]
jg 0x41024d
mov dword [ebp - 0x18c], 1
jmp 0x410254
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xb0], eax
jg 0x410281
mov dword [ebp - 0x194], 1
jmp 0x410288
and dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x98], eax
jmp 0x40feb1
mov eax, dword [ebp - 0x288]
inc eax
inc eax
push eax
mov eax, dword [ebp + 8]
push dword [eax]
push 0x4a6
push 0x4ea
call fcn.004073b4
pop ecx
pop ecx
call eax
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
mov dword [ecx], eax
mov dword [ebp - 0x94], 0xfffffff8
mov dword [ebp - 0x2a0], 0xddae974c
mov dword [ebp - 0xb8], 0xcbdb62b2
mov dword [ebp - 0x90], 0
jmp 0x4102fe
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 3
jge 0x41031a
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x250], 0xffffffff
jmp 0x4102f1
push 4
pop eax
shl eax, 1
imul eax, dword [ebp + eax - 0x250], 0x3c67
cmp eax, dword [ebp - 0x94]
jl 0x41033e
mov dword [ebp - 0x19c], 1
jmp 0x410345
and dword [ebp - 0x19c], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x250]
add eax, dword [ebp - 0x19c]
je 0x410365
mov dword [ebp - 0x1a4], 1
jmp 0x41036c
and dword [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x1a4]
neg eax
cmp dword [ebp - 0x94], eax
jle 0x410388
mov dword [ebp - 0x1ac], 1
jmp 0x41038f
and dword [ebp - 0x1ac], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x250]
cmp dword [ebp - 0x1ac], eax
jl 0x4103b5
cmp dword [ebp - 0x94], 0
jne 0x4103b5
and dword [ebp - 0xd8], 0
jmp 0x4103bf
mov dword [ebp - 0xd8], 1
mov eax, dword [ebp - 0x94]
cmp dword [ebp - 0xd8], eax
je 0x4103d9
mov dword [ebp - 0xe0], 1
jmp 0x4103e0
and dword [ebp - 0xe0], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x250]
cmp eax, dword [ebp - 0xe0]
jge 0x410401
mov dword [ebp - 0xe8], 1
jmp 0x410408
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0x2a0]
cmp dword [ebp - 0xe8], eax
jne 0x410422
mov dword [ebp - 0xf0], 1
jmp 0x410429
and dword [ebp - 0xf0], 0
cmp dword [ebp - 0xf0], 0x7904
jge 0x410441
mov dword [ebp - 0xf8], 1
jmp 0x410448
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0xf8]
sub eax, 0x76b00abb
je 0x41052c
mov dword [ebp - 0x4c], 0xc3f30b91
mov dword [ebp - 0x78], 0
jmp 0x410470
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 1
jge 0x410486
mov eax, dword [ebp - 0x78]
mov dword [ebp + eax*4 - 0x26c], 0x5bf81606
jmp 0x410469
cmp dword [ebp - 0x4c], 0
je 0x4104fa
xor eax, eax
inc eax
je 0x4104a3
cmp dword [ebp - 0x4c], 0
je 0x4104a3
mov dword [ebp - 0x100], 1
jmp 0x4104aa
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
cmp dword [ebp - 0x4c], eax
jle 0x4104cd
mov dword [ebp - 0x108], 1
jmp 0x4104d4
and dword [ebp - 0x108], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x250]
add eax, dword [ebp - 0x108]
cmp eax, 0x634d
jge 0x4104fa
mov dword [ebp - 0x25c], 1
jmp 0x410501
and dword [ebp - 0x25c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x250]
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0x4c]
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x26c], eax
jmp 0x41053e
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x41053e
call dword [sym.imp.USER32.dll_EndMenu]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp dword [eax], 0
jne 0x4108a5
mov dword [ebp - 0x328], 0x76b0
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x41056a
push 0
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov byte [ebp - 0x33], 0
movzx eax, byte [ebp - 0x33]
test eax, eax
je 0x410588
push 0x24cb
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov eax, dword [ebp + 0x18]
and dword [eax], 0
mov dword [ebp - 0xc], 0x7e17f75
mov dword [ebp - 0x48], 0xfffd
mov dword [ebp - 0x140], 1
mov dword [ebp - 0x1c], 0x3c3fa3c9
mov dword [ebp - 0x80], 0
jmp 0x4105bd
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 3
jge 0x4105d3
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x268], 0xfffffffd
jmp 0x4105b6
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jne 0x4105e7
mov dword [ebp - 0x118], 1
jmp 0x4105ee
and dword [ebp - 0x118], 0
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jge 0x410602
mov dword [ebp - 0x110], 1
jmp 0x410609
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0xc]
imul eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x48]
jl 0x41062a
mov dword [ebp - 0x120], 1
jmp 0x410631
and dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0xfffffffa
jg 0x410646
mov dword [ebp - 0x128], 1
jmp 0x41064d
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x128], eax
jle 0x410664
mov dword [ebp - 0x258], 1
jmp 0x41066b
and dword [ebp - 0x258], 0
mov eax, 0x8a973314
test eax, eax
jne 0x410683
cmp dword [ebp - 0xc], 0
jne 0x410683
and dword [ebp - 0x130], 0
jmp 0x41068d
mov dword [ebp - 0x130], 1
cmp dword [ebp - 0x130], 0x886255d5
je 0x4106a5
mov dword [ebp - 0x27c], 1
jmp 0x4106ac
and dword [ebp - 0x27c], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x138], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x138]
mov dword [ebp + eax - 0x268], ecx
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x140]
neg eax
cmp eax, dword [ebp - 0xc]
jge 0x4106ff
mov dword [ebp - 0x284], 1
jmp 0x410706
and dword [ebp - 0x284], 0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jl 0x410739
xor eax, eax
je 0x410739
mov dword [ebp - 0x28c], 1
jmp 0x410740
and dword [ebp - 0x28c], 0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0
jmp 0x41075f
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jg 0x4108a3
mov dword [ebp - 0x150], 1
push 3
lea ecx, [ebp - 0x300]
call fcn.0042ae00
mov dword [ebp - 0x160], 0xffffffff
mov dword [ebp - 0x88], 0
jmp 0x4107a3
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 3
jge 0x4107c5
push dword [ebp - 0x88]
lea ecx, [ebp - 0x300]
call fcn.0042aeee
mov dword [eax], 0xfffffff6
jmp 0x410796
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x268]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x294]
mov dword [ebp + eax*4 - 0x268], ecx
mov eax, 0xe158
test eax, eax
je 0x41082c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x268], 0
cmp dword [ebp - 0x48], 0
jle 0x41080e
mov dword [ebp - 0x148], 1
jmp 0x410815
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x150], eax
jle 0x410842
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x268], 0
jne 0x410842
and dword [ebp - 0x158], 0
jmp 0x41084c
mov dword [ebp - 0x158], 1
cmp dword [ebp - 0x158], 0x56cd219f
jl 0x410864
mov dword [ebp - 0xc8], 1
jmp 0x41086b
and dword [ebp - 0xc8], 0
push 2
lea ecx, [ebp - 0x300]
call fcn.0042aeee
mov ecx, dword [ebp - 0xc8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x160]
imul eax, dword [ebp - 0xc8]
mov dword [ebp - 0x160], eax
lea ecx, [ebp - 0x300]
call fcn.0042aed2
jmp 0x410758
jmp 0x4108aa
jmp 0x40f0f3
pop esi
mov esp, ebp
pop ebp
ret