Function at 0x200725c
Capabilities:
Check os version

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x8b4
mov eax, dword [0x2015918]
and dword [ebp - 0x884], 0
and dword [ebp - 0x8a0], 0
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x888], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x894], eax
mov eax, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp + 0x20]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edx, 0xc6
mov dword [ebp - 0x890], eax
xor eax, eax
and dword [ebp - 0x568], eax
mov ecx, edx
lea edi, [ebp - 0x880]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x564]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x89c], esi
stosb byte es:[edi], al
mov dword [ebp - 0x88c], 0x32
call fcn.02008193
cmp eax, 1
je 0x20072f0
mov eax, 0x45a
jmp 0x20078df
xor edi, edi
cmp dword [ebp - 0x888], edi
je 0x20078dc
cmp esi, edi
je 0x20078dc
mov ecx, dword [ebp + 0x10]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x10000000
jne 0x2007521
add eax, 0xa
cmp ecx, 0x10000001
je 0x20074fc
cmp ecx, eax
je 0x20074fc
cmp ecx, 0x10000064
jne 0x200736f
cmp ebx, edi
je 0x20078d4
mov eax, dword [ebp - 0x894]
cmp eax, edi
je 0x20078d4
push eax
push dword [eax]
lea eax, [ebp - 0x8a0]
push ebx
push eax
push 0xd
push esi
push dword [ebp - 0x888]
call dword [0x2016650]
jmp 0x20078ce
cmp ecx, 0x10000065
jne 0x20073f6
cmp ebx, edi
je 0x20078d4
mov eax, dword [ebp - 0x894]
cmp eax, edi
je 0x20078d4
cmp dword [eax], 4
jb 0x20078d4
push eax
push 4
lea eax, [ebx + 4]
push eax
lea eax, [ebp - 0x8a0]
push eax
push 0x15
push dword [ebp - 0x89c]
push dword [ebp - 0x888]
call dword [0x2016650]
push dword [ebp - 0x894]
lea esi, [ebx + 0xc]
push 4
push esi
lea eax, [ebp - 0x8a0]
push eax
push 0x1c
push dword [ebp - 0x89c]
push dword [ebp - 0x888]
call dword [0x2016650]
mov dword [ebp - 0x88c], eax
movzx eax, word [esi + 2]
mov dword [ebx + 8], eax
movzx eax, word [esi]
mov dword [esi], eax
jmp 0x20078d4
cmp ecx, 0x10000004
jne 0x200740d
push edi
push dword [esi + 0x14]
call dword [0x20166dc]
jmp 0x20078ce
cmp ecx, 0x10000005
jne 0x2007424
push edi
push dword [esi + 0x14]
call dword [0x20166d8]
jmp 0x20078ce
cmp ecx, 0x10000007
jne 0x2007485
push edi
push dword [esi + 0x14]
lea eax, [ebp - 0x890]
push eax
lea eax, [ebp - 0x89c]
push eax
mov dword [ebp - 0x890], edi
mov dword [ebp - 0x89c], edi
call dword [0x20166e0]
cmp ebx, edi
je 0x20078d4
mov eax, dword [ebp - 0x894]
cmp eax, edi
je 0x20078d4
cmp dword [eax], 8
jne 0x20078d4
mov eax, dword [ebp - 0x89c]
mov dword [ebx], eax
mov eax, dword [ebp - 0x890]
mov dword [ebx + 4], eax
jmp 0x20078d4
cmp ecx, 0x10000008
jne 0x20074e1
push 0x49
pop ecx
xor eax, eax
lea edi, [ebp - 0x128]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x12c]
push eax
push esi
push dword [ebp - 0x888]
mov dword [ebp - 0x12c], 0x128
call dword [0x2016670]
test eax, eax
je 0x20078c8
test ebx, ebx
je 0x20078c8
lea eax, [ebp - 0x108]
mov ecx, eax
sub ebx, ecx
mov cl, byte [eax]
mov byte [ebx + eax], cl
inc eax
test cl, cl
jne 0x20074d2
jmp 0x20078c8
cmp ecx, 0x10000066
jne 0x20078d4
mov dword [ebp - 0x88c], 0x32
jmp 0x20078d4
push dword [ebp - 0x898]
xor edx, edx
push dword [ebp - 0x890]
cmp ecx, eax
sete dl
push edx
push esi
push dword [ebp - 0x888]
call fcn.02006a8c
jmp 0x20078ce
cmp eax, 0x20000000
jne 0x20078d4
push 2
push esi
push dword [ebp - 0x888]
call dword [0x201665c]
lea eax, [ebp - 0x884]
push eax
push edi
push 2
push esi
push dword [ebp - 0x888]
mov dword [ebp - 0x884], 0x31c
call dword [0x2016668]
test eax, eax
jne 0x2007577
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6f8
jne 0x2007577
mov dword [ebp - 0x884], 0x30c
lea eax, [ebp - 0x884]
push eax
mov dword [ebp - 0x88c], edi
push edi
jmp 0x2007818
push 0
mov eax, 0x31d
push eax
mov dword [ebp - 0x568], eax
lea eax, [ebp - 0x568]
push eax
lea eax, [ebp - 0x884]
push eax
push esi
push dword [ebp - 0x888]
call dword [0x2016660]
test eax, eax
jne 0x20075c6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x2007834
mov ecx, dword [ebp + 0x10]
mov eax, 0x20000002
cmp ecx, eax
je 0x200783b
cmp ecx, 0x20000003
jne 0x20076b0
mov edi, dword [ebp - 0x894]
test edi, edi
je 0x2007606
lea eax, [ebp - 0x450]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x20075f5
sub eax, edx
cmp dword [edi], eax
jb 0x2007853
test ebx, ebx
je 0x20078dc
push ebx
call fcn.0200a209
pop ecx
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.0200a209
pop ecx
push eax
call fcn.02009bb0
test eax, eax
pop ecx
pop ecx
jne 0x200786b
push 0x40
pop ecx
mov byte [ebp - 0x108], al
lea edi, [ebp - 0x107]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x898]
push eax
lea eax, [ebp - 0x108]
push eax
push 0
push 0
push 2
lea eax, [ebp - 0x450]
push eax
mov dword [ebp - 0x898], 0x104
call fcn.020070a1
push ebx
call fcn.0200a209
pop ecx
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0200a209
pop ecx
push eax
call fcn.02009bb0
test eax, eax
pop ecx
pop ecx
je 0x2007805
mov eax, dword [ebp - 0x890]
cmp dword [eax], 0
je 0x20078c8
mov dword [eax], 1
jmp 0x20078c8
cmp ecx, 0x20000006
jne 0x20077bc
push 0x21
pop ecx
xor eax, eax
mov byte [ebp - 0x1b4], 0
lea edi, [ebp - 0x1b3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x25
pop ecx
xor eax, eax
lea edi, [ebp - 0x248]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x248]
push eax
mov dword [ebp - 0x248], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x244], 6
jae 0x20077b5
lea eax, [ebp - 0x450]
push 0x5c
push eax
call fcn.0200a209
pop ecx
push eax
call fcn.02009b70
test eax, eax
pop ecx
pop ecx
je 0x2007805
push 0x2001390
push eax
call fcn.02009bb0
test eax, eax
pop ecx
pop ecx
je 0x2007805
push 0x105
call fcn.020099ae
mov esi, eax
test esi, esi
pop ecx
mov ebx, 0x200
je 0x2007799
push 0x41
xor eax, eax
pop ecx
mov edi, esi
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [ebp - 0x450]
mov edx, esi
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x2007764
push 0x2e
push esi
call fcn.02009b70
cmp byte [eax], 0x2e
pop ecx
pop ecx
jne 0x2007784
mov dword [eax + 1], 0x666e70
push ebx
lea eax, [ebp - 0x1b4]
push eax
push esi
call sub.LZ32.dll_LZOpenFileA
push esi
call fcn.020096e3
pop ecx
push ebx
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x450]
push eax
call sub.LZ32.dll_LZOpenFileA
test eax, eax
jl 0x20078df
xor eax, eax
jmp 0x20078df
cmp ecx, 0x20000008
jne 0x20077fd
xor eax, eax
lea edi, [ebp - 0x8b0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x8b4]
push eax
lea eax, [ebp - 0x884]
push eax
push esi
push dword [ebp - 0x888]
mov dword [ebp - 0x8b4], 0x14
call dword [0x2016678]
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x2007805
cmp ecx, 0x20000007
je 0x200787b
inc dword [ebp - 0x88c]
lea eax, [ebp - 0x884]
push eax
push dword [ebp - 0x88c]
push 2
push esi
push dword [ebp - 0x888]
call dword [0x2016668]
test eax, eax
jne 0x200758a
jmp 0x20078c8
push 6
jmp 0x20078de
push 0
push eax
lea eax, [ebp - 0x450]
push eax
push esi
push dword [ebp - 0x888]
call fcn.02006d48
jmp 0x20078c8
lea eax, [ebp - 0x450]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x200785c
sub eax, edx
mov dword [edi], eax
push 0x7a
jmp 0x20078de
mov eax, dword [ebp - 0x890]
cmp dword [eax], 0
je 0x20078c8
jmp 0x20076a5
test ebx, ebx
mov dword [ebp - 0x898], 0x104
je 0x20078dc
cmp dword [ebx], 0x310
jne 0x20078dc
lea eax, [ebp - 0x450]
lea edx, [ebx + 4]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x200789e
lea eax, [ebp - 0x898]
push eax
add ebx, 0x108
push ebx
push 0
push 0
push 2
lea eax, [ebp - 0x450]
push eax
call fcn.020070a1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x88c], eax
mov eax, dword [ebp - 0x88c]
jmp 0x20078df
push 0x57
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.020092eb
leave
ret 0x1c