Function at 0x1005aba
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001930
push 0x1007044
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x179c
call fcn.01006fb0
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor esi, esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], esi
xor ebx, ebx
inc ebx
mov dword [ebp - 0x24], ebx
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x10083c8], eax
push ebx
push 0x1002c1e
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.01005405
cmp dword [0x10083cc], esi
jne 0x1006312
cmp dword [0x10081f8], esi
jne 0x10062ce
cmp dword [0x1008238], esi
jne 0x10062ce
mov dword [ebp - 0x138], 0x114
lea eax, [ebp - 0x138]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp eax, esi
jne 0x1005b69
push 0x45
pop ecx
xor eax, eax
lea edi, [ebp - 0x138]
rep stosd dword es:[edi], eax
cmp dword [0x1008178], esi
je 0x1005b93
movzx eax, word [0x1008170]
imul eax, eax, 0x3c
movzx ecx, word [0x1008172]
add eax, ecx
imul eax, eax, 0x3c
movzx ecx, word [0x1008174]
add eax, ecx
mov dword [ebp - 0x24], eax
wait
mov dword [ebp - 4], esi
cmp dword [0x10083cc], esi
je 0x1005ba5
wait
jmp 0x10062c8
push 0x8a8
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov ecx, eax
mov dword [ebp - 0x13c], ecx
cmp ecx, esi
je 0x1005bc3
call fcn.010063f0
jmp 0x1005bc5
xor eax, eax
mov ecx, eax
mov dword [0x10083c4], ecx
cmp ecx, esi
jne 0x1005bda
mov dword [ebp - 0x1c], 0xe
jmp 0x1005b9f
push 0x10083cc
call fcn.01006957
cmp dword [0x10083cc], esi
jne 0x1005b9f
cmp dword [0x10081b8], esi
je 0x1005c04
cmp dword [0x10080f8], esi
jne 0x1005c04
mov dword [ebp - 0x140], ebx
jmp 0x1005c23
lea eax, [ebp - 0x140]
push eax
push dword [0x10080e8]
call fcn.01002c5d
mov dword [ebp - 0x1c], eax
cmp eax, esi
jne 0x1005b9f
mov ebx, dword [ebp - 0x140]
cmp ebx, esi
jbe 0x1005c48
cmp ebx, 2
jbe 0x1005c31
cmp ebx, 0xffffffff
jne 0x1005c48
mov eax, dword [0x10083c4]
mov dword [ebp - 0x144], eax
mov dword [eax + 0x8a4], 1
jmp 0x1005c59
mov eax, dword [0x10083c4]
mov dword [ebp - 0x148], eax
mov dword [eax + 0x8a4], esi
cmp dword [0x10080b8], esi
je 0x1005cd2
mov esi, dword [0x10080a8]
mov dword [ebp - 0x14c], esi
test esi, esi
je 0x1005cd2
cmp word [esi], 0
je 0x1005cd2
cmp dword [0x10083cc], 0
jne 0x1005b9f
push 0x1004683
push dword [0x10082e8]
push esi
mov ecx, dword [0x10083c4]
call fcn.01006a46
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1005cbe
push eax
push esi
push 0x2c1
xor eax, eax
mov ax, word [0x100839c]
push eax
call fcn.01003273
add esp, 0x10
and dword [ebp - 0x20], 0
push esi
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea esi, [esi + eax*2 + 2]
mov dword [ebp - 0x14c], esi
jmp 0x1005c71
xor esi, esi
cmp dword [0x1008138], esi
je 0x1005d13
cmp dword [0x10083cc], esi
jne 0x1005b9f
push 0x1004683
push dword [0x10082e8]
push dword [0x1008128]
mov ecx, dword [0x10083c4]
call fcn.01006d43
mov dword [ebp - 0x1c], eax
cmp dword [0x10083cc], esi
jne 0x1005b9f
push 0x10013ac
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003260
pop ecx
pop ecx
cmp dword [0x1008038], esi
je 0x1005ead
mov ecx, dword [0x10083c4]
call fcn.01006735
xor esi, esi
mov edi, 0xfffffff
mov dword [ebp - 0x150], esi
mov ecx, dword [0x10083c4]
mov eax, dword [ecx + 0x50]
mov dword [ebp - 0x154], eax
cmp esi, eax
jae 0x1005e96
cmp dword [0x10083cc], 0
jne 0x1005b9f
push esi
call fcn.01006773
mov dword [ebp - 0x20], eax
and dword [ebp - 0x158], 0
cmp dword [ebp - 0x158], 0xa
jge 0x1005daf
cmp dword [ebp - 0x20], 0
je 0x1005dfe
push 0xa
call dword [sym.imp.msvcrt.dll__sleep]
pop ecx
push esi
mov ecx, dword [0x10083c4]
call fcn.01006773
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x158]
jmp 0x1005d80
cmp dword [ebp - 0x20], 0
je 0x1005dfe
push edi
mov ecx, dword [0x10083c4]
call fcn.010068d8
push eax
lea eax, [esi + 1]
push eax
push 0x1001910
xor eax, eax
mov ax, word [0x100839c]
push eax
call fcn.01003260
add esp, 0x10
cmp dword [0x1008028], 0
jbe 0x1005df4
push 0x1001900
push dword [ebp - 0x20]
call fcn.0100444f
pop ecx
pop ecx
and dword [ebp - 0x20], 0
inc esi
jmp 0x1005d46
push edi
mov ecx, dword [0x10083c4]
call fcn.010068d8
push eax
lea eax, [esi + 1]
push eax
push 0x10018e0
xor eax, eax
mov ax, word [0x100839c]
push eax
call fcn.01003260
add esp, 0x10
cmp dword [0x1008028], 1
jbe 0x1005df8
mov eax, dword [0x10083c4]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x15c], eax
cmp eax, 1
jbe 0x1005df8
and dword [ebp - 0x160], 0
mov ecx, dword [0x10083c4]
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x160], eax
jae 0x1005df8
cmp dword [0x10083cc], 0
jne 0x1005b9f
push dword [ebp - 0x160]
call fcn.010068d8
push eax
push 0x10018c4
xor eax, eax
mov ax, word [0x100839c]
push eax
call fcn.01003260
add esp, 0xc
inc dword [ebp - 0x160]
jmp 0x1005e48
push 0x10013ac
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003260
pop ecx
pop ecx
xor esi, esi
mov eax, dword [0x10083c4]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x168], eax
cmp eax, esi
jne 0x1005ecb
mov dword [ebp - 0x1c], 0xf0000002
jmp 0x1005b9f
cmp ebx, 0xffffffff
jne 0x100611a
push 0x10018a4
push 0x1001898
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003260
add esp, 0xc
mov ecx, dword [0x10083c4]
call fcn.01006735
xor edi, edi
mov dword [ebp - 0x16c], edi
mov esi, 0x1001884
mov ecx, dword [0x10083c4]
mov eax, dword [ecx + 0x50]
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x16c], eax
jae 0x1005f81
push dword [ebp - 0x16c]
call fcn.01006773
mov dword [ebp - 0x20], eax
cmp eax, edi
jne 0x1005f73
mov dword [ebp - 0x174], edi
mov ecx, dword [0x10083c4]
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x174], eax
jae 0x1005f79
push dword [ebp - 0x174]
call fcn.010068d8
push eax
push esi
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003260
add esp, 0xc
inc dword [ebp - 0x174]
jmp 0x1005f36
mov ecx, dword [0x10083c4]
inc dword [ebp - 0x16c]
jmp 0x1005f0d
mov dword [ebp - 0x17c], edi
cmp dword [0x10083cc], edi
jne 0x1006100
inc dword [ebp - 0x17c]
mov eax, dword [ebp - 0x24]
imul eax, eax, 0x3e8
push eax
push dword [0x10083c8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x180], eax
cmp eax, 0x102
jne 0x1006100
lea eax, [ebp - 0x190]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x182]
push eax
movzx eax, word [ebp - 0x184]
push eax
movzx eax, word [ebp - 0x186]
push eax
movzx eax, word [ebp - 0x188]
push eax
movzx eax, word [ebp - 0x190]
push eax
movzx eax, word [ebp - 0x18a]
push eax
movzx eax, word [ebp - 0x18e]
push eax
push 0x1001800
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003260
add esp, 0x24
mov ecx, dword [0x10083c4]
call fcn.01006735
mov dword [ebp - 0x194], edi
mov ecx, dword [0x10083c4]
mov eax, dword [ecx + 0x50]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x194], eax
jae 0x10060e2
push dword [ebp - 0x194]
call fcn.01006773
mov dword [ebp - 0x20], eax
cmp eax, edi
jne 0x10060b9
mov dword [ebp - 0x19c], edi
mov ecx, dword [0x10083c4]
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x19c], eax
jae 0x10060d7
push dword [ebp - 0x19c]
call fcn.0100684c
push ecx
push ecx
fstp qword [esp]
push 0x10017f8
lea eax, [ebp - 0x3a0]
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
lea eax, [ebp - 0x3a0]
push eax
push esi
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003260
add esp, 0x1c
inc dword [ebp - 0x19c]
jmp 0x100605f
push 0xffffffffffffffff
push 0x10017e4
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003260
add esp, 0xc
mov ecx, dword [0x10083c4]
inc dword [ebp - 0x194]
jmp 0x1006032
cmp dword [0x1008278], edi
je 0x1005f87
mov eax, dword [ebp - 0x17c]
cmp eax, dword [0x1008268]
jb 0x1005f87
push 0x10013ac
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003260
pop ecx
pop ecx
jmp 0x1005b9f
lea eax, [ebp - 0x5a0]
push eax
lea eax, [ebp - 0x7a0]
push eax
lea eax, [ebp - 0xfa0]
push eax
lea eax, [ebp - 0xfa8]
push eax
push dword [0x10081a8]
call dword [sym.imp.msvcrt.dll__wsplitpath]
lea eax, [ebp - 0x5a0]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
add esp, 0x18
test eax, eax
jne 0x1006185
mov eax, ebx
dec eax
je 0x1006171
dec eax
je 0x100616a
sub eax, 6
jne 0x1006185
push 0x10017dc
jmp 0x1006176
push 0x10017d4
jmp 0x1006176
push 0x10017cc
lea eax, [ebp - 0x5a0]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
lea eax, [ebp - 0x5a0]
push eax
lea eax, [ebp - 0x7a0]
push eax
lea eax, [ebp - 0xfa0]
push eax
lea eax, [ebp - 0xfa8]
push eax
lea eax, [ebp - 0x17a8]
push eax
call dword [sym.imp.msvcrt.dll__wmakepath]
add esp, 0x14
cmp dword [ebp - 0x12c], 0x893
ja 0x10061cb
cmp ebx, 8
jne 0x10061cb
push 3
pop ebx
mov dword [ebp - 0x140], ebx
cmp dword [0x10081b8], esi
je 0x10061f9
cmp dword [0x1008328], esi
jne 0x10061f9
cmp ebx, 7
je 0x10061f9
push 5
lea eax, [ebp - 0x17a8]
push eax
call fcn.01003eee
mov dword [ebp - 0x1c], eax
cmp eax, esi
jne 0x1005b9f
push ebx
lea eax, [ebp - 0x17a8]
push eax
mov ecx, dword [0x10083c4]
call fcn.01006567
mov dword [ebp - 0x20], eax
cmp eax, esi
jne 0x1005b9f
mov ecx, dword [0x10083c4]
mov eax, dword [ebp - 0x24]
imul eax, eax, 0x3e8
cmp dword [0x1008278], esi
je 0x1006236
push dword [0x1008268]
jmp 0x1006238
push 0xffffffffffffffff
push eax
call fcn.010065fe
and dword [ebp - 0x17ac], 0
mov esi, 0x10017c0
mov dword [ebp - 0x17b0], esi
cmp dword [0x10083cc], 0
jne 0x1005b9f
mov eax, dword [ebp - 0x17ac]
cdq
push 4
pop ecx
idiv ecx
movzx eax, word [esi + edx*2]
push eax
push 0x10017b4
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
pop ecx
inc dword [ebp - 0x17ac]
push 0x1f4
push dword [0x10083c8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x17b4], eax
cmp eax, 0x102
jne 0x1005b9f
mov ecx, dword [0x10083c4]
call fcn.010065fa
cmp eax, 1
je 0x1006250
jmp 0x1005b9f
or dword [ebp - 4], 0xffffffff
jmp 0x1006312
cmp dword [0x10081b8], esi
je 0x10062f2
cmp dword [0x1008328], esi
jne 0x10062f2
push 5
push dword [0x10081a8]
call fcn.01003eee
mov dword [ebp - 0x1c], eax
cmp eax, esi
jne 0x1006312
cmp dword [0x10081f8], esi
je 0x1006303
push esi
push dword [0x10081e8]
jmp 0x100630a
push ebx
push dword [0x1008228]
call fcn.01002d08
mov dword [ebp - 0x20], eax
mov esi, 0x10017b0
push esi
mov edi, dword [sym.imp.msvcrt.dll_wprintf]
call edi
mov dword [esp], 0x2bd
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003273
push esi
call edi
add esp, 0xc
mov ecx, dword [0x10083c4]
test ecx, ecx
je 0x100634c
push 1
call fcn.01002c41
push 0x2be
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003273
pop ecx
pop ecx
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x10063ad
cmp esi, 0xf0000001
je 0x100638f
cmp esi, 0xf0000002
je 0x1006380
push esi
call fcn.010053f5
jmp 0x10063da
push 0x2bc
xor eax, eax
mov ax, word [0x100839c]
jmp 0x10063c0
push dword [0x10080e8]
push 0x2c0
xor eax, eax
mov ax, word [0x100839c]
push eax
call fcn.01003273
add esp, 0xc
jmp 0x10063da
cmp dword [ebp - 0x20], 0
jne 0x10063c8
push 0x23b
xor eax, eax
mov ax, word [0x1008398]
push eax
call fcn.01003273
jmp 0x10063d8
push 0x1001900
push dword [ebp - 0x20]
call fcn.0100444f
mov esi, dword [ebp - 0x20]
pop ecx
pop ecx
call fcn.01001d99
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret