Function at 0x10015267
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007e1b2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x240
push esi
push edi
and dword [ebp - 0x5c], 0
mov eax, dword [0x107338f4]
and eax, 1
jne 0x100152bf
mov eax, dword [0x107338f4]
or eax, 1
mov dword [0x107338f4], eax
and dword [ebp - 4], 0
mov ecx, 0x107338a8
call fcn.10016f87
push 0x1007fd4e
call fcn.10066a96
pop ecx
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 0xc]
call fcn.1001150e
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x10], 0xfffffffd
mov dword [ebp - 0x154], 0xfffb
mov dword [ebp - 0x6c], 0
jmp 0x100152eb
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 1
jge 0x100152fe
mov eax, dword [ebp - 0x6c]
mov dword [ebp + eax*4 - 0x18], 0xfff7
jmp 0x100152e4
mov dword [ebp - 0x10], 0
jmp 0x1001530e
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jg 0x10015559
mov dword [ebp - 0x124], 0xffffffff
cmp dword [ebp - 0x10], 7
jl 0x10015334
mov dword [ebp - 0xcc], 1
jmp 0x1001533b
and dword [ebp - 0xcc], 0
cmp dword [ebp - 0xcc], 0x6084
je 0x10015359
mov eax, 0xc995f762
test eax, eax
jne 0x10015359
and dword [ebp - 0x90], 0
jmp 0x10015363
mov dword [ebp - 0x90], 1
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x90], eax
je 0x1001537a
mov dword [ebp - 0x114], 1
jmp 0x10015381
and dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x18]
jne 0x100153a0
mov dword [ebp - 0x158], 1
jmp 0x100153a7
and dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x18]
mov dword [ebp - 0x1b8], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x18]
mov dword [ebp - 0x1c4], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x18], 0
jne 0x100153dd
mov dword [ebp - 0x110], 1
jmp 0x100153e4
and dword [ebp - 0x110], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x18]
cmp dword [ebp - 0x110], eax
je 0x10015402
mov dword [ebp - 0x168], 1
jmp 0x10015409
and dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x18]
add eax, 0x1230
mov ecx, dword [ebp - 0x10]
cmp eax, dword [ebp + ecx*4 - 0x18]
jg 0x1001542a
mov dword [ebp - 0x98], 1
jmp 0x10015431
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x98]
sub ecx, dword [ebp + eax*4 - 0x18]
jne 0x1001544f
cmp dword [ebp - 0x10], 0
jne 0x1001544f
and dword [ebp - 0xd8], 0
jmp 0x10015459
mov dword [ebp - 0xd8], 1
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xd8], eax
jne 0x10015470
mov dword [ebp - 0xa0], 1
jmp 0x10015477
and dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x18]
cmp dword [ebp - 0xa0], eax
je 0x10015492
mov dword [ebp - 0xf8], 1
jmp 0x10015499
and dword [ebp - 0xf8], 0
cmp dword [ebp - 0xf8], 0x6f62939
jne 0x100154b1
mov dword [ebp - 0xa8], 1
jmp 0x100154b8
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x18]
cmp eax, dword [ebp - 0xa8]
jle 0x100154d3
mov dword [ebp - 0xe0], 1
jmp 0x100154da
and dword [ebp - 0xe0], 0
cmp dword [ebp - 0xe0], 0x4ad3
jne 0x100154f2
mov dword [ebp - 0x140], 1
jmp 0x100154f9
and dword [ebp - 0x140], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x18]
cmp dword [ebp - 0x10], eax
jne 0x10015514
mov dword [ebp - 0xb0], 1
jmp 0x1001551b
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x18]
cmp dword [ebp - 0xb0], eax
jne 0x10015536
mov dword [ebp - 0x108], 1
jmp 0x1001553d
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x18]
imul eax, dword [ebp - 0x108]
imul eax, eax, 3
mov dword [ebp - 0x124], eax
jmp 0x10015307
push 0
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x10]
push eax
push 0x5913
push 0x5eb4
call fcn.10014ea4
add esp, 0x14
cmp dword [ebp - 0x54], 6
jae 0x100155f3
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x1cc]
push eax
mov ecx, 0x107338a8
call fcn.10016df7
push eax
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x1dc]
push eax
mov ecx, 0x107338a8
call fcn.10016e05
mov ecx, eax
call fcn.10016e1a
movzx eax, al
test eax, eax
je 0x100155f3
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x118]
push eax
mov ecx, 0x107338a8
call fcn.10016fdb
push eax
mov ecx, dword [ebp + 8]
call fcn.10016a65
mov eax, dword [ebp - 0x5c]
or eax, 1
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 8]
jmp 0x10016192
mov dword [ebp - 0x1d8], 0
mov byte [ebp - 0x27], 0
movzx eax, byte [ebp - 0x27]
test eax, eax
je 0x10015622
push 0x47d3
push 0x13e1
push 1
push 0x45d5
call fcn.10014c8e
add esp, 0x10
push 0x1e1a
push 1
push 0x5814
call fcn.10014d15
add esp, 0xc
lea ecx, [ebp - 0x20c]
call fcn.10016a8d
mov dword [ebp - 4], 1
mov dword [ebp - 0x1c], 0x99841b3c
mov dword [ebp - 0x1b0], 7
mov dword [ebp - 0x1ac], 0x3c5e
mov dword [ebp - 0x164], 0x1919b17c
mov dword [ebp - 0x14], 0
jmp 0x1001567d
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10015693
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x160], 0xc520ea0c
jmp 0x10015676
mov dword [ebp - 0x14], 0
jmp 0x100156a3
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x100156b9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x14c], 0xfffffffd
jmp 0x1001569c
mov dword [ebp - 0x14], 0
jmp 0x100156c9
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x100156df
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x238], 1
jmp 0x100156c2
mov dword [ebp - 0x1c], 0
jmp 0x100156ef
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 7
jne 0x100158f0
mov dword [ebp - 0x24], 0xfffffff8
imul eax, dword [ebp - 0x1c], 0x519d
cmp dword [ebp - 0x1c], eax
jne 0x10015718
mov dword [ebp - 0xb8], 1
jmp 0x1001571f
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0x24]
jne 0x10015739
cmp dword [ebp - 0x1c], 0
jne 0x10015739
and dword [ebp - 0x134], 0
jmp 0x10015743
mov dword [ebp - 0x134], 1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1b4], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x160]
inc eax
cmp eax, dword [ebp - 0x1c]
jge 0x10015783
cmp dword [ebp - 0x1c], 0
je 0x10015783
mov dword [ebp - 0xe8], 1
jmp 0x1001578a
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0xe8], eax
jle 0x100157a7
cmp dword [ebp - 0x1c], 0
je 0x100157a7
mov dword [ebp - 0xc0], 1
jmp 0x100157ae
and dword [ebp - 0xc0], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x160]
cmp dword [ebp - 0xc0], eax
jg 0x1001585a
push 1
lea ecx, [ebp - 0x1a8]
call fcn.10016cb0
mov byte [ebp - 4], 2
mov dword [ebp - 0x68], 0
jmp 0x100157e8
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 1
jge 0x10015804
push dword [ebp - 0x68]
lea ecx, [ebp - 0x1a8]
call fcn.10016d1d
mov dword [eax], 0xd02e
jmp 0x100157e1
push 0
lea ecx, [ebp - 0x1a8]
call fcn.10016d1d
push 4
pop ecx
shl ecx, 0
mov eax, dword [eax]
mov dword [ebp + ecx - 0x14c], eax
mov dword [ebp - 0x24], 0
jmp 0x10015830
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jg 0x10015846
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x148], 0xcaad901
jmp 0x10015829
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1a8]
call fcn.10016d18
jmp 0x100158eb
mov dword [ebp - 0x78], 1
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0x13c], 0x332e0c28
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x14c], 0xfffffff8
jae 0x10015891
mov dword [ebp - 0x16c], 1
jmp 0x10015898
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1d0], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x160]
imul eax, dword [ebp - 0x78]
cmp dword [ebp - 0x78], eax
jge 0x100158c3
mov dword [ebp - 0x100], 1
jmp 0x100158ca
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x13c], eax
jmp 0x100156e8
push 1
lea eax, [ebp - 0x164]
push eax
call fcn.10014e0d
pop ecx
pop ecx
mov eax, dword [ebp - 0x54]
xor edx, edx
push 2
pop ecx
div ecx
test edx, edx
jne 0x100160d8
mov dword [ebp - 0x64], 0xa6318529
mov dword [ebp - 0x1d4], 0xa7fe64fd
mov dword [ebp - 0x64], 0
jmp 0x10015933
mov eax, dword [ebp - 0x64]
dec eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0xfffffff7
jge 0x10015a01
push 4
lea ecx, [ebp - 0x178]
call fcn.10016cb0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x178]
push eax
push 0
call fcn.100161a2
add esp, 0xc
mov dword [ebp - 0x3c], 0
jmp 0x10015973
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jge 0x10015989
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x240], 0
jmp 0x1001596c
push 1
lea ecx, [ebp - 0x178]
call fcn.10016d1d
and dword [eax], 0
jmp 0x100159bf
push 1
lea ecx, [ebp - 0x178]
call fcn.10016d1d
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0xf0]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x178]
call fcn.10016d1d
cmp dword [eax], 0x14
jle 0x100159ed
mov dword [ebp - 0x144], 0xffff
push 1
lea eax, [ebp - 0x144]
push eax
call fcn.10014e57
pop ecx
pop ecx
jmp 0x1001599b
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x178]
call fcn.10016d18
jmp 0x1001592c
lea eax, [ebp - 0x24c]
push eax
call fcn.10008c39
pop ecx
mov esi, eax
lea edi, [ebp - 0x224]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x224]
lea edi, [ebp - 0x218]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x60], 0
jmp 0x10015a42
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 1
jge 0x10015a58
mov eax, dword [ebp - 0x60]
mov dword [ebp + eax*4 - 0x150], 0xfe387fb0
jmp 0x10015a3b
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x150]
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0x26], 0
movzx eax, byte [ebp - 0x26]
test eax, eax
je 0x10015a85
push 0x2803
push 0
call fcn.1001678b
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
call fcn.10011761
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x40], 0xb26bdde0
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x38], 0x611f
mov dword [ebp - 0x40], 0
jmp 0x10015ab8
mov eax, dword [ebp - 0x40]
dec eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xfffffffa
jl 0x10015fbd
push 4
lea ecx, [ebp - 0x184]
call fcn.10016cb0
mov byte [ebp - 4], 4
push 1
lea ecx, [ebp - 0x50]
call fcn.10016cb0
mov byte [ebp - 4], 5
mov dword [ebp - 0x2c], 6
push 4
lea ecx, [ebp - 0x19c]
call fcn.10016cb0
mov byte [ebp - 4], 6
push 1
push 0x58a4
push 0x32f3
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10014ea4
add esp, 0x14
mov dword [ebp - 0x20], 0
jmp 0x10015b28
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x10015b41
push dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.10016d1d
mov dword [eax], 8
jmp 0x10015b21
mov dword [ebp - 0x20], 0
jmp 0x10015b51
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10015b67
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x190], 1
jmp 0x10015b4a
push 0x29ad
push 1
lea eax, [ebp - 0x20]
push eax
push 0x433f
push 0x509b
push 0x5a5c
lea eax, [ebp - 0x19c]
push eax
push 0x1cdc
push 0x13ff
call fcn.10014f25
add esp, 0x24
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
and dword [eax], 0
jmp 0x10015bca
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0xd0]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
cmp dword [eax], 3
jg 0x10015de8
mov dword [ebp - 0xa4], 0xb7b8
mov dword [ebp - 0x120], 0
xor eax, eax
inc eax
je 0x10015cd6
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x10015cd6
mov dword [ebp - 0x2c], 0x389
cmp dword [ebp - 0x2c], 0
jne 0x10015c2f
cmp dword [ebp - 0x38], 0
jne 0x10015c2f
and dword [ebp - 0x8c], 0
jmp 0x10015c39
mov dword [ebp - 0x8c], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x190]
cmp dword [ebp - 0x8c], eax
jge 0x10015c5a
mov dword [ebp - 0x94], 1
jmp 0x10015c61
and dword [ebp - 0x94], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x190]
cmp dword [ebp - 0x94], eax
jge 0x10015c82
mov dword [ebp - 0x9c], 1
jmp 0x10015c89
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa4], eax
mov esi, dword [ebp - 0xa4]
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
push dword [eax]
lea ecx, [ebp - 0x184]
call fcn.10016d1d
add esi, dword [eax]
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
add esi, dword [eax]
imul eax, esi, 0x7e29
test eax, eax
je 0x10015cd6
mov dword [ebp - 0xac], 1
jmp 0x10015cdd
and dword [ebp - 0xac], 0
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
mov ecx, dword [ebp - 0xac]
add ecx, dword [eax]
cmp ecx, 0xfd8c6581
jbe 0x10015d06
cmp dword [ebp - 0x38], 0
jne 0x10015d06
and dword [ebp - 0xb4], 0
jmp 0x10015d10
mov dword [ebp - 0xb4], 1
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0xb4], eax
jl 0x10015d27
mov dword [ebp - 0xbc], 1
jmp 0x10015d2e
and dword [ebp - 0xbc], 0
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
push dword [eax]
lea ecx, [ebp - 0x184]
call fcn.10016d1d
mov eax, dword [eax]
cmp eax, dword [ebp - 0xbc]
jl 0x10015d5b
mov dword [ebp - 0xc4], 1
jmp 0x10015d62
and dword [ebp - 0xc4], 0
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
push dword [eax]
lea ecx, [ebp - 0x184]
call fcn.10016d1d
mov esi, dword [eax]
imul esi, dword [ebp - 0xc4]
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
cmp esi, dword [eax]
jg 0x10015d9c
mov dword [ebp - 0x88], 1
jmp 0x10015da3
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x88]
cmp eax, 0xd1456b86
ja 0x10015dc2
cmp dword [ebp - 0x30], 0
jne 0x10015dc2
and dword [ebp - 0xd4], 0
jmp 0x10015dcc
mov dword [ebp - 0xd4], 1
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x30], 0
je 0x10015de3
jmp 0x10015ba9
jmp 0x10015ba9
mov dword [ebp - 0x2c], 0
jmp 0x10015df8
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1c
jg 0x10015f8e
mov dword [ebp - 0x80], 0xffffffff
mov dword [ebp - 0x84], 0
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
mov eax, dword [eax]
mov dword [ebp - 0x80], eax
imul eax, dword [ebp - 0x80], 0x61b8
mov dword [ebp - 0x30], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x190]
push 4
pop ecx
shl ecx, 1
add eax, dword [ebp + ecx - 0x190]
jne 0x10015f4f
cmp dword [ebp - 0x38], 0
jne 0x10015e60
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
cmp dword [eax], 0
je 0x10015e73
push 3
pop eax
test eax, eax
je 0x10015e73
mov dword [ebp - 0x128], 1
jmp 0x10015e7a
and dword [ebp - 0x128], 0
mov esi, dword [ebp - 0x84]
push 0
lea ecx, [ebp - 0x50]
call fcn.10016d1d
cmp esi, dword [eax]
je 0x10015e9a
mov dword [ebp - 0xdc], 1
jmp 0x10015ea1
and dword [ebp - 0xdc], 0
cmp dword [ebp - 0xdc], 0
jae 0x10015eb6
mov dword [ebp - 0xe4], 1
jmp 0x10015ebd
and dword [ebp - 0xe4], 0
cmp dword [ebp - 0xe4], 0
jg 0x10015ed2
mov dword [ebp - 0xec], 1
jmp 0x10015ed9
and dword [ebp - 0xec], 0
cmp dword [ebp - 0xec], 0xfffffffd
jne 0x10015eee
mov dword [ebp - 0xf4], 1
jmp 0x10015ef5
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x84]
jns 0x10015f0f
mov dword [ebp - 0xfc], 1
jmp 0x10015f16
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0xfc], eax
jne 0x10015f30
mov dword [ebp - 0x104], 1
jmp 0x10015f37
and dword [ebp - 0x104], 0
cmp dword [ebp - 0x104], 0
jne 0x10015f4f
cmp dword [ebp - 0x80], 0
jne 0x10015f4f
and dword [ebp - 0x10c], 0
jmp 0x10015f59
mov dword [ebp - 0x10c], 1
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x10c]
je 0x10015f6d
mov dword [ebp - 0x7c], 1
jmp 0x10015f71
and dword [ebp - 0x7c], 0
push 1
lea ecx, [ebp - 0x19c]
call fcn.10016d1d
mov ecx, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x30], eax
jmp 0x10015df1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x19c]
call fcn.10016d18
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x50]
call fcn.10016d18
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x184]
call fcn.10016d18
jmp 0x10015ab1
lea eax, [ebp - 0x20c]
push eax
push 1
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.10015049
add esp, 0x14
cmp dword [ebp - 0x54], 6
jae 0x100160d8
mov dword [ebp - 0x44], 0xffffffff
push 3
lea ecx, [ebp - 0x1f4]
call fcn.10016cb0
mov byte [ebp - 4], 7
mov dword [ebp - 0x34], 0
jmp 0x10016012
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x10016028
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x230], 0xfffffff9
jmp 0x1001600b
push 0x372a
push 0x5df2
lea eax, [ebp - 0x1f4]
push eax
push 0x51fb
push 0x20e2
lea eax, [ebp - 0x34]
push eax
push 1
push 0x28da
push 0x2ad4
call fcn.100150da
add esp, 0x24
mov dword [ebp - 0x44], 2
jmp 0x1001606b
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jl 0x100160a1
mov dword [ebp - 0x74], 6
mov dword [ebp - 0x74], 2
jmp 0x10016088
mov eax, dword [ebp - 0x74]
dec eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jl 0x1001609f
mov eax, dword [ebp - 0x44]
cmp dword [ebp + eax*4 - 0x230], 0
je 0x1001609d
jmp 0x1001609f
jmp 0x10016081
jmp 0x10016064
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1f4]
call fcn.10016d18
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x138]
push eax
mov ecx, 0x107338a8
call fcn.10016fdb
mov ecx, eax
call fcn.10016af4
push 1
lea ecx, [ebp - 0x1e8]
call fcn.10016cb0
mov byte [ebp - 4], 8
mov dword [ebp - 0x58], 0xfffffff6
mov dword [ebp - 0x70], 0
jmp 0x10016100
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 1
jge 0x1001611c
push dword [ebp - 0x70]
lea ecx, [ebp - 0x1e8]
call fcn.10016d1d
mov dword [eax], 1
jmp 0x100160f9
mov dword [ebp - 0x58], 0
jmp 0x1001612c
mov eax, dword [ebp - 0x58]
dec eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jl 0x10016151
mov byte [ebp - 0x25], 0
movzx eax, byte [ebp - 0x25]
test eax, eax
je 0x1001614f
push 0
push 0
push 0x1acc
push 0
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
jmp 0x10016125
push 1
call fcn.10015221
pop ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1e8]
call fcn.10016d18
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10016aa0
mov eax, dword [ebp - 0x5c]
or eax, 1
mov dword [ebp - 0x5c], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20c]
call fcn.10016aea
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