Function at 0x100151ff
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100800a4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3ac
push esi
push edi
and dword [ebp - 0x88], 0
mov dword [ebp - 0x14], 0x7e2799ac
mov dword [ebp - 0x2c], 0xe7374489
mov dword [ebp - 0xf0], 0xfa607100
mov dword [ebp - 0x110], 0xfffffffb
mov dword [ebp - 0x14], 0xffffffe2
jmp 0x10015258
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffe3
jle 0x10015727
push 2
lea ecx, [ebp - 0x29c]
call fcn.10016f46
and dword [ebp - 4], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0x9a695768
push 1
lea ecx, [ebp - 0x258]
call fcn.10016f46
mov byte [ebp - 4], 1
mov dword [ebp - 0xa4], 2
mov dword [ebp - 0x1c8], 0
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x224]
push eax
push 0x2a61
push 1
call fcn.100143bc
add esp, 0x10
push 0x6030
lea eax, [ebp - 0x258]
push eax
push 0
push 0x4746
lea eax, [ebp - 0x224]
push eax
call fcn.10014a37
add esp, 0x14
mov dword [ebp - 0x64], 1
jmp 0x100152f5
mov eax, dword [ebp - 0x64]
dec eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jl 0x10015427
mov dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x300], 0x64b5c6f8
push 4
lea ecx, [ebp - 0x2b4]
call fcn.10016f46
mov byte [ebp - 4], 2
mov dword [ebp - 0x228], 1
push 0x460
lea eax, [ebp - 0x330]
push eax
push 0x7fbb
push 0x4826
push 0x6a34
push 1
push 0x5da0
push 0x4723
lea eax, [ebp - 0x2b4]
push eax
call fcn.10014439
add esp, 0x24
mov byte [ebp - 0x41], 0
movzx eax, byte [ebp - 0x41]
test eax, eax
je 0x10015390
push 0x16be
push 0
push 0x4c64
push 0x383e
push 0x1e7f
push 0x73ac
call fcn.10016afe
add esp, 0x18
mov dword [ebp - 0x68], 0
jmp 0x100153a0
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 1
jg 0x10015413
mov dword [ebp - 0x14c], 0x9c710427
mov dword [ebp - 0x230], 0x1a88af16
push 1
lea eax, [ebp - 0x14c]
push eax
call fcn.10014619
pop ecx
pop ecx
lea eax, [ebp - 0x230]
push eax
push 0x74fb
lea eax, [ebp - 0x2b4]
push eax
push 0x61b2
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x228]
push eax
push 0
lea eax, [ebp - 0x14c]
push eax
call fcn.10014cbe
add esp, 0x30
jmp 0x10015399
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2b4]
call fcn.10016fae
jmp 0x100152ee
mov eax, 0x95a2e206
test eax, eax
je 0x10015624
cmp dword [ebp - 0x60], 0
jne 0x10015597
push 0
lea ecx, [ebp - 0x258]
call fcn.10016fb3
mov dword [ebp - 0xc8], eax
push 0
lea ecx, [ebp - 0x258]
call fcn.10016fb3
mov ecx, dword [ebp - 0xc8]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc8]
cmp dword [eax], 0xfacf
jg 0x10015482
mov dword [ebp - 0x1ac], 1
jmp 0x10015489
and dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1ac], eax
jg 0x100154a0
mov dword [ebp - 0x190], 1
jmp 0x100154a7
and dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x190], eax
jl 0x100154be
mov dword [ebp - 0xd0], 1
jmp 0x100154c5
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xd0], eax
jge 0x100154dc
mov dword [ebp - 0x140], 1
jmp 0x100154e3
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x140], eax
jl 0x100154fa
mov dword [ebp - 0xd8], 1
jmp 0x10015501
and dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0xd8], eax
jle 0x1001551c
xor eax, eax
je 0x1001551c
mov dword [ebp - 0x178], 1
jmp 0x10015523
and dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x178], eax
jge 0x1001553a
mov dword [ebp - 0x1e0], 1
jmp 0x10015541
and dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jl 0x10015564
cmp dword [ebp - 0xa4], 0
jne 0x10015564
and dword [ebp - 0xe0], 0
jmp 0x1001556e
mov dword [ebp - 0xe0], 1
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0xe0], eax
jne 0x10015585
mov dword [ebp - 0x148], 1
jmp 0x1001558c
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x148], eax
jge 0x1001559b
cmp dword [ebp - 0x2c], 0
cmp dword [ebp - 0x60], 0xffff
jbe 0x100155b0
mov dword [ebp - 0xe8], 1
jmp 0x100155b7
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0xe8], eax
jl 0x100155d1
mov dword [ebp - 0x1a0], 1
jmp 0x100155d8
and dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xf0], eax
jl 0x10015601
mov dword [ebp - 0x150], 1
jmp 0x10015608
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x150]
neg eax
cmp eax, dword [ebp - 0xa4]
je 0x10015624
mov dword [ebp - 0xf8], 1
jmp 0x1001562b
and dword [ebp - 0xf8], 0
cmp dword [ebp - 0xf8], 0xd9d76c13
jae 0x10015643
mov dword [ebp - 0x180], 1
jmp 0x1001564a
and dword [ebp - 0x180], 0
cmp dword [ebp - 0x180], 0x15c25834
jne 0x10015662
mov dword [ebp - 0x100], 1
jmp 0x10015669
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x100], eax
jle 0x10015680
mov dword [ebp - 0x158], 1
jmp 0x10015687
and dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x1c8]
cmp dword [ebp - 0x158], eax
jne 0x100156a1
mov dword [ebp - 0x108], 1
jmp 0x100156a8
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x108]
cmp dword [ebp - 0x2c], eax
jle 0x100156c3
mov dword [ebp - 0x198], 1
jmp 0x100156ca
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
je 0x100156f4
mov eax, 0x5f4f
test eax, eax
je 0x100156f4
mov dword [ebp - 0x160], 1
jmp 0x100156fb
and dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x258]
call fcn.10016fae
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x29c]
call fcn.10016fae
jmp 0x10015251
mov eax, dword [0x111821e4]
and eax, 1
jne 0x1001575e
mov eax, dword [0x111821e4]
or eax, 1
mov dword [0x111821e4], eax
mov dword [ebp - 4], 3
mov ecx, 0x11182160
call fcn.1001717a
push 0x10081d3e
call fcn.10066d86
pop ecx
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 0xc]
call fcn.10010ad1
mov dword [ebp - 0x9c], eax
push 2
lea ecx, [ebp - 0x284]
call fcn.10016f46
mov dword [ebp - 4], 4
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x1c4], 0
push 1
lea eax, [ebp - 0x284]
push eax
push 0x7bb8
lea eax, [ebp - 0x320]
push eax
push 0x5b8c
call fcn.1001464d
add esp, 0x14
mov dword [ebp - 0x78], 0
jmp 0x100157c3
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 1
jg 0x100157fd
mov dword [ebp - 0x1fc], 0xfffffff8
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x1c4]
push eax
push 1
push 0x14f6
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1fc]
push eax
call fcn.100146d7
add esp, 0x18
jmp 0x100157bc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x284]
call fcn.10016fae
cmp dword [ebp - 0x9c], 6
jae 0x10015c3d
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x2c8]
push eax
mov ecx, 0x11182160
call fcn.1001708d
push eax
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x2d0]
push eax
mov ecx, 0x11182160
call fcn.1001709b
mov ecx, eax
call fcn.100170b0
movzx eax, al
test eax, eax
je 0x10015c3d
mov dword [ebp - 0x38], 0x184c506d
mov dword [ebp - 0x58], 0x6fb807cf
mov dword [ebp - 0x1a8], 1
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x2d8], 0xa7bc41bb
mov dword [ebp - 0x20], 0
jmp 0x10015897
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x100158ad
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xb4], 8
jmp 0x10015890
mov dword [ebp - 0x20], 0
jmp 0x100158bd
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x100158d3
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x370], 2
jmp 0x100158b6
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x22c], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x22c]
mov dword [ebp + eax - 0x370], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2e0], eax
or eax, 0xffffffff
jne 0x1001590b
cmp dword [ebp - 0x38], 0
jne 0x1001590b
and dword [ebp - 0x118], 0
jmp 0x10015915
mov dword [ebp - 0x118], 1
mov eax, dword [ebp - 0x118]
inc eax
cmp eax, dword [ebp - 0x38]
je 0x1001592d
mov dword [ebp - 0x188], 1
jmp 0x10015934
and dword [ebp - 0x188], 0
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0xb4], 0x9abb2e79
mov dword [ebp - 0x58], 0x9abb2e79
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x188]
jg 0x10015963
mov dword [ebp - 0x120], 1
jmp 0x1001596a
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x120], eax
jg 0x10015981
mov dword [ebp - 0x168], 1
jmp 0x10015988
and dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x168]
je 0x1001599f
mov dword [ebp - 0x128], 1
jmp 0x100159a6
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
je 0x100159ce
push 8
pop eax
test eax, eax
je 0x100159ce
mov dword [ebp - 0x130], 1
jmp 0x100159d5
and dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x38], eax
jle 0x10015bd4
push 3
lea ecx, [ebp - 0x240]
call fcn.10016f46
mov dword [ebp - 4], 5
mov dword [ebp - 0x50], 0xfffffff9
mov dword [ebp - 0x94], 0
jmp 0x10015a1e
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 3
jge 0x10015a3d
push dword [ebp - 0x94]
lea ecx, [ebp - 0x240]
call fcn.10016fb3
and dword [eax], 0
jmp 0x10015a11
push 2
lea ecx, [ebp - 0x240]
call fcn.10016fb3
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x58], 0
jmp 0x10015a5f
mov eax, dword [ebp - 0x58]
dec eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jl 0x10015bc3
mov dword [ebp - 0x84], 0
jmp 0x10015a82
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 2
jge 0x10015a9e
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*4 - 0x26c], 0x3421ad7b
jmp 0x10015a75
mov dword [ebp - 0x50], 0
jmp 0x10015aae
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jg 0x10015bbe
mov dword [ebp - 0xc4], 0xfffffff9
mov dword [ebp - 0x28], 0
jmp 0x10015ad2
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jg 0x10015b9f
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x26c], 0
jl 0x10015afe
cmp dword [ebp - 0xc4], 0
jne 0x10015afe
and dword [ebp - 0xac], 0
jmp 0x10015b08
mov dword [ebp - 0xac], 1
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0xac]
mov dword [ebp + eax*4 - 0xb4], ecx
cmp dword [ebp - 0xac], 0
jge 0x10015b2d
mov dword [ebp - 0x170], 1
jmp 0x10015b34
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x28]
inc eax
push eax
lea ecx, [ebp - 0x240]
call fcn.10016fb3
mov ecx, dword [ebp - 0x170]
cmp ecx, dword [eax]
jge 0x10015b5a
mov dword [ebp - 0x138], 1
jmp 0x10015b61
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x28]
inc eax
push eax
lea ecx, [ebp - 0x240]
call fcn.10016fb3
push 4
pop ecx
shl ecx, 1
mov ecx, dword [ebp + ecx - 0x370]
push 4
pop edx
imul edx, edx, 0
imul ecx, dword [ebp + edx - 0x26c]
add ecx, dword [ebp - 0x138]
imul ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
jmp 0x10015acb
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x10015bb9
push 1
push 0x1dd4
call fcn.10014865
pop ecx
pop ecx
jmp 0x10015aa7
jmp 0x10015a58
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x240]
call fcn.10016fae
jmp 0x10015c03
push 0x36ed
push 0x3eb0
push 0x4dcf
push 1
push 0x6697
call fcn.1001489a
add esp, 0x14
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0xb4], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x1d4]
push eax
mov ecx, 0x11182160
call fcn.100171ce
push eax
mov ecx, dword [ebp + 8]
call fcn.10016cfb
mov eax, dword [ebp - 0x88]
or eax, 1
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 8]
jmp 0x10016968
push 3
lea ecx, [ebp - 0x2a8]
call fcn.10016f46
mov dword [ebp - 4], 6
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0xa8], 0
push 3
lea ecx, [ebp - 0x264]
call fcn.10016f46
mov byte [ebp - 4], 7
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x1c], 0
jmp 0x10015c8d
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10015ca9
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x2a8]
call fcn.10016fb3
mov dword [eax], 0x648
jmp 0x10015c86
mov dword [ebp - 0x1c], 0
jmp 0x10015cb9
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10015ccf
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbc], 0
jmp 0x10015cb2
lea eax, [ebp - 0x1c]
push eax
push 0x4eb7
push 1
lea eax, [ebp - 0x264]
push eax
push 0x62f7
call fcn.10014a37
add esp, 0x14
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0xbc], 0
jmp 0x10015d1c
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xbc]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0xbc], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xbc], 2
jg 0x10015d48
mov byte [ebp - 0x2d], 0
movzx eax, byte [ebp - 0x2d]
test eax, eax
je 0x10015d46
push 0
push 0x77e3
call fcn.10014c41
pop ecx
pop ecx
jmp 0x10015d01
mov dword [ebp - 0x4c], 1
jmp 0x10015d58
mov eax, dword [ebp - 0x4c]
dec eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jl 0x10015f79
mov dword [ebp - 0x48], 0xfffffffb
mov dword [ebp - 0x40], 0
mov dword [ebp - 0xdc], 0xc13fe66
push 3
lea ecx, [ebp - 0x290]
call fcn.10016f46
mov byte [ebp - 4], 8
mov dword [ebp - 0x1dc], 1
mov dword [ebp - 0x7c], 0
jmp 0x10015da5
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 3
jge 0x10015dc1
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x290]
call fcn.10016fb3
mov dword [eax], 8
jmp 0x10015d9e
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa8]
inc ecx
mov dword [ebp - 0xa8], ecx
test eax, eax
je 0x10015ea4
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xbc]
mov dword [ebp - 0xcc], eax
push 1
lea ecx, [ebp - 0x290]
call fcn.10016fb3
mov ecx, dword [ebp - 0xcc]
mov dword [eax], ecx
mov eax, dword [ebp - 0xcc]
add eax, 0x623b4709
mov dword [ebp - 0xd4], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xd4]
mov dword [ebp + eax - 0xbc], ecx
cmp dword [ebp - 0xd4], 1
ja 0x10015e3a
mov dword [ebp - 0xec], 1
jmp 0x10015e41
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xdc]
jg 0x10015e5e
mov dword [ebp - 0xe4], 1
jmp 0x10015e65
and dword [ebp - 0xe4], 0
push 0
lea ecx, [ebp - 0x264]
call fcn.10016fb3
mov ecx, dword [ebp - 0xe4]
mov dword [eax], ecx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2e8], eax
cmp dword [ebp - 0xec], 0
jge 0x10015ea4
mov dword [ebp - 0xf4], 1
jmp 0x10015eab
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0xf4], eax
jl 0x10015ec2
mov dword [ebp - 0xfc], 1
jmp 0x10015ec9
and dword [ebp - 0xfc], 0
push 2
lea ecx, [ebp - 0x2a8]
call fcn.10016fb3
mov ecx, dword [ebp - 0xfc]
cmp ecx, dword [eax]
jg 0x10015eec
mov dword [ebp - 0x104], 1
jmp 0x10015ef3
and dword [ebp - 0x104], 0
imul eax, dword [ebp - 0x104], 0xafe3
cmp eax, dword [ebp - 0x1dc]
jne 0x10015f1b
mov byte [ebp - 0x30], 0
movzx eax, byte [ebp - 0x30]
test eax, eax
je 0x10015f19
push 1
call fcn.10014ae1
pop ecx
jmp 0x10015f65
mov dword [ebp - 0x40], 0
jmp 0x10015f2b
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 1
jg 0x10015f65
mov dword [ebp - 0x48], 0
jmp 0x10015f41
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 1
jg 0x10015f63
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp + eax*4 - 0xbc]
push dword [ebp - 0x48]
lea ecx, [ebp - 0x264]
call fcn.10016fb3
mov dword [eax], esi
jmp 0x10015f3a
jmp 0x10015f24
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x290]
call fcn.10016fae
jmp 0x10015d51
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x264]
call fcn.10016fae
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a8]
call fcn.10016fae
lea ecx, [ebp - 0x360]
call fcn.10016d23
mov dword [ebp - 4], 9
mov dword [ebp - 0x74], 0x3cdf98a5
mov dword [ebp - 0x1b0], 0xfffffff9
lea eax, [ebp - 0x74]
push eax
push 1
lea eax, [ebp - 0x1b0]
push eax
call fcn.10014b18
add esp, 0xc
mov dword [ebp - 0x74], 0x14
jmp 0x10015fdf
mov eax, dword [ebp - 0x74]
dec eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 6
jl 0x1001601d
mov dword [ebp - 0x1e4], 5
mov byte [ebp - 0x39], 0
push 0x76cc
lea eax, [ebp - 0x39]
push eax
push 0x3273
push 1
push 0x2291
call fcn.10014b5a
add esp, 0x14
cmp dword [ebp - 0x1e4], 0
je 0x1001601b
jmp 0x10015fd8
jmp 0x10015fd8
mov eax, dword [ebp - 0x9c]
xor edx, edx
push 2
pop ecx
div ecx
test edx, edx
jne 0x1001673e
mov dword [ebp - 0x10], 0x9c3fbb4
mov dword [ebp - 0x8c], 0
jmp 0x10016052
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 1
jge 0x1001606e
mov eax, dword [ebp - 0x8c]
mov dword [ebp + eax*4 - 0xc0], 0xffffffff
jmp 0x10016045
mov eax, dword [ebp - 0x10]
add eax, 5
cmp eax, 0xb0cb
jne 0x10016087
mov dword [ebp - 0x11c], 1
jmp 0x1001608e
and dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x100160a5
mov dword [ebp - 0x10c], 1
jmp 0x100160ac
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x10]
jle 0x100160c9
mov dword [ebp - 0x114], 1
jmp 0x100160d0
and dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x114], eax
jl 0x100160e7
mov dword [ebp - 0x124], 1
jmp 0x100160ee
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x11c]
cmp eax, dword [ebp - 0x124]
jge 0x10016211
cmp dword [ebp - 0x10], 0
je 0x10016211
mov dword [ebp - 0xb0], 0xfffffff6
mov dword [ebp - 0x12c], 0x3ed423cb
mov dword [ebp - 0x234], 0xfffffff8
cmp dword [ebp - 0xb0], 0
jge 0x1001613d
mov dword [ebp - 0x20c], 1
jmp 0x10016144
and dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1ec], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x1ec]
mov dword [ebp + eax - 0xc0], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xb0]
cmp dword [ebp - 0x12c], eax
jge 0x10016195
mov dword [ebp - 0x134], 1
jmp 0x1001619c
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x134], eax
jl 0x100161b3
mov dword [ebp - 0x13c], 1
jmp 0x100161ba
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0xb0]
cmp dword [ebp - 0x13c], eax
jg 0x100161d4
mov dword [ebp - 0x144], 1
jmp 0x100161db
and dword [ebp - 0x144], 0
imul eax, dword [ebp - 0x144], 0
imul eax, dword [ebp - 0x10]
sub eax, 0xc460
mov dword [ebp - 0x234], eax
mov byte [ebp - 0x32], 0
movzx eax, byte [ebp - 0x32]
test eax, eax
je 0x1001620f
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
jmp 0x10016273
mov dword [ebp - 0x2c4], 0xfffffff7
mov dword [ebp - 0x10], 0
jmp 0x1001622b
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jg 0x10016273
mov dword [ebp - 0x15c], 0xf4802d14
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc0], 0xfffffffc
cmp dword [ebp - 0x15c], 1
jge 0x1001625e
mov dword [ebp - 0x154], 1
jmp 0x10016265
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x15c], eax
jmp 0x10016224
lea eax, [ebp - 0x3a0]
push eax
call fcn.10009199
pop ecx
mov esi, eax
lea edi, [ebp - 0x37c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x37c]
lea edi, [ebp - 0x394]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xc]
call fcn.10010c1f
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1f4], 7
mov dword [ebp - 0x1bc], 0xc7730f94
mov dword [ebp - 0x308], 5
mov dword [ebp - 0x1c0], 0xffff
mov dword [ebp - 0x98], 0
jmp 0x100162e9
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 1
jge 0x10016305
mov eax, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x310], 0xffffffff
jmp 0x100162dc
push 0
lea eax, [ebp - 0x1f4]
push eax
push 0x46bf
lea eax, [ebp - 0x1bc]
push eax
call fcn.100150b0
add esp, 0x10
push 1
lea eax, [ebp - 0x1c0]
push eax
call fcn.10014c41
pop ecx
pop ecx
lea eax, [ebp - 0x394]
push eax
push dword [ebp - 0x1b8]
push dword [ebp - 0x9c]
lea eax, [ebp - 0x3b8]
push eax
call fcn.1001360c
add esp, 0x10
mov dword [ebp - 0x1d0], eax
push dword [ebp - 0x1d0]
lea ecx, [ebp - 0x360]
call fcn.10016d5b
lea ecx, [ebp - 0x3b8]
call fcn.10016d80
mov dword [ebp - 0x54], 8
mov dword [ebp - 0x318], 0x525d2d91
mov dword [ebp - 0x2cc], 0xe13a6c9c
mov dword [ebp - 0x314], 0xb44cf592
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x1f0], 0xfffffff7
mov dword [ebp - 0x1e8], 2
mov dword [ebp - 0x324], 0x1a7a81a8
mov dword [ebp - 0xa0], 0xfffffffe
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x31c], eax
mov eax, 0x94643cdf
test eax, eax
je 0x1001654d
mov dword [ebp - 0x348], 1
mov dword [ebp - 0x344], 1
mov dword [ebp - 0x340], 1
mov dword [ebp - 0x33c], 1
mov dword [ebp - 0x2e4], 0xfffffffb
mov dword [ebp - 0x32c], 1
mov dword [ebp - 0x2ec], 0xd06bde64
mov dword [ebp - 0x1b4], 0xfffffffb
mov dword [ebp - 0x54], 3
jmp 0x1001644c
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jl 0x10016532
push 2
lea ecx, [ebp - 0x2c0]
call fcn.10016f46
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x1d8], 8
mov dword [ebp - 0x24], 0
jmp 0x10016481
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x10016497
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x388], 0xfffffffd
jmp 0x1001647a
mov dword [ebp - 0x24], 0
jmp 0x100164a7
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x100164c3
push dword [ebp - 0x24]
lea ecx, [ebp - 0x2c0]
call fcn.10016fb3
mov dword [eax], 0x23371247
jmp 0x100164a0
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x388], 0
je 0x100164f1
push 0
lea ecx, [ebp - 0x2c0]
call fcn.10016fb3
cmp dword [eax], 0
je 0x100164f1
mov dword [ebp - 0x164], 1
jmp 0x100164f8
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x2e], 0
movzx eax, byte [ebp - 0x2e]
test eax, eax
je 0x1001651e
push 0
push 1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2c0]
call fcn.10016fae
jmp 0x10016445
lea eax, [ebp - 0x1b4]
push eax
push 0x4b37
push 1
call fcn.10014c75
add esp, 0xc
jmp 0x10016672
push 1
lea ecx, [ebp - 0x24c]
call fcn.10016f46
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x174], 0xffffffff
push 0x700
lea eax, [ebp - 0x24c]
push eax
push 0x677c
lea eax, [ebp - 0x334]
push eax
push 0x6895
push 0x287
push 0x389c
push 0x7b8
push 0x5f01
push 0x5438
push 1
push 0x2d0f
call fcn.10014cbe
add esp, 0x30
push 0
lea ecx, [ebp - 0x24c]
call fcn.10016fb3
mov dword [eax], 3
push 0xfffffffffffffffc
pop eax
cmp eax, 3
jg 0x100165d4
mov dword [ebp - 0x16c], 1
jmp 0x100165db
and dword [ebp - 0x16c], 0
cmp dword [ebp - 0x174], 1
jle 0x100165f0
mov dword [ebp - 0x17c], 1
jmp 0x100165f7
and dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x1e8]
imul eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x174]
imul ecx, dword [ebp - 0x17c]
imul eax, ecx
imul eax, eax, 0x3c3
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0xa0], 0
jmp 0x10016639
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jge 0x10016663
mov dword [ebp - 0x1f8], 0x34f9a325
mov esi, dword [ebp - 0x1f8]
push 0
lea ecx, [ebp - 0x24c]
call fcn.10016fb3
mov dword [eax], esi
jmp 0x1001662c
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x24c]
call fcn.10016fae
cmp dword [ebp - 0x9c], 6
jae 0x1001673e
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x208], 7
mov dword [ebp - 0x6c], 0x7d1afd06
mov dword [ebp - 0x90], 0
jmp 0x100166b3
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 1
jge 0x100166cf
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x2f4], 0xffffffff
jmp 0x100166a6
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x6c]
push eax
push 1
lea eax, [ebp - 0x208]
push eax
call fcn.10014faa
add esp, 0x10
mov dword [ebp - 0x6c], 0
jmp 0x100166fb
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jg 0x1001671f
mov byte [ebp - 0x2f], 0
push 1
push 0x2dce
lea eax, [ebp - 0x2f]
push eax
push 0x3f27
call fcn.100150b0
add esp, 0x10
jmp 0x100166f4
lea eax, [ebp - 0x360]
push eax
push 1
lea eax, [ebp + 0xc]
push eax
push 0x2486
push 0x11182160
call fcn.1001510e
add esp, 0x14
mov dword [ebp - 0x5c], 3
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x80], 0xffffffff
push 3
lea ecx, [ebp - 0x21c]
call fcn.10016f46
mov byte [ebp - 4], 0xc
push 2
lea ecx, [ebp - 0x278]
call fcn.10016f46
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x3feb
push 1
call fcn.1001517b
add esp, 0x10
mov dword [ebp - 0x70], 0
jmp 0x1001679f
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 2
jge 0x100167bb
push dword [ebp - 0x70]
lea ecx, [ebp - 0x278]
call fcn.10016fb3
mov dword [eax], 0xfffffff9
jmp 0x10016798
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x80], 0xf2ef51ae
cmp dword [ebp - 0x80], 0
je 0x100167d7
mov eax, 0x498d20b
test eax, eax
jne 0x100167e6
cmp dword [ebp - 0x5c], 0
jne 0x100167e6
and dword [ebp - 0x184], 0
jmp 0x100167f0
mov dword [ebp - 0x184], 1
push 2
lea ecx, [ebp - 0x21c]
call fcn.10016fb3
mov ecx, dword [ebp - 0x184]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x80], 0
je 0x10016827
push 6
pop eax
test eax, eax
je 0x10016827
mov dword [ebp - 0x18c], 1
jmp 0x1001682e
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18c], eax
jne 0x10016845
mov dword [ebp - 0x210], 1
jmp 0x1001684c
and dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x5c]
jg 0x1001686d
mov dword [ebp - 0x194], 1
jmp 0x10016874
and dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x194], eax
jg 0x1001688b
mov dword [ebp - 0x220], 1
jmp 0x10016892
and dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x338], eax
push 2
lea ecx, [ebp - 0x21c]
call fcn.10016fb3
push 2
lea ecx, [ebp - 0x21c]
call fcn.10016fb3
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jne 0x100168d6
mov dword [ebp - 0x19c], 1
jmp 0x100168dd
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x19c]
cmp dword [ebp - 0x5c], eax
jg 0x100168f7
mov dword [ebp - 0x1a4], 1
jmp 0x100168fe
and dword [ebp - 0x1a4], 0
imul esi, dword [ebp - 0x1a4], 0xfe22
sub esi, dword [ebp - 0x5c]
push 0
lea ecx, [ebp - 0x278]
call fcn.10016fb3
mov dword [eax], esi
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x278]
call fcn.10016fae
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x21c]
call fcn.10016fae
lea eax, [ebp - 0x360]
push eax
mov ecx, dword [ebp + 8]
call fcn.10016d36
mov eax, dword [ebp - 0x88]
or eax, 1
mov dword [ebp - 0x88], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x360]
call fcn.10016d80
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret