Function at 0x10045a8
Capabilities:
Check os version
Get system information on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1ec
mov eax, dword [0x100a1c4]
and dword [ebp - 0x1c8], 0
push esi
mov esi, dword [ebp + 8]
push edi
push 9
pop ecx
mov dword [ebp - 4], eax
xor eax, eax
push 0x47
lea edi, [ebp - 0x1ec]
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0x1c0]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1c0]
push eax
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1c0], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x1004606
inc eax
jmp 0x1004967
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push ebx
push 0x100241c
push 0x1002400
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
test eax, eax
je 0x1004631
lea ecx, [ebp - 0x1ec]
push ecx
call eax
jmp 0x100463e
lea eax, [ebp - 0x1ec]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [ebp - 0x1b0], 2
jne 0x1004958
cmp dword [ebp - 0x1bc], 4
jbe 0x1004958
cmp dword [ebp - 0x1bc], 6
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
jne 0x1004772
cmp dword [ebp - 0x1b8], 1
jne 0x10046f3
cmp byte [ebp - 0xa6], 1
jne 0x1004684
push 0x10023e8
jmp 0x1004689
push 0x10023b8
push dword [ebp - 0x1c4]
call esi
push 0x10023a8
push 0x1002400
call edi
push eax
call ebx
lea ecx, [ebp - 0x1c8]
push ecx
push 0
push 0
push 1
push 6
call eax
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
call fcn.01003959
cmp word [ebp - 0x1ec], 9
jne 0x10046d3
push 0x1002394
jmp 0x10046e2
cmp word [ebp - 0x1ec], 0
jne 0x10046ea
push 0x1002380
push dword [ebp - 0x1c4]
call esi
cmp dword [ebp - 0x1bc], 6
jne 0x1004772
cmp dword [ebp - 0x1b8], 0
jne 0x1004904
cmp byte [ebp - 0xa6], 1
jne 0x1004710
push 0x1002360
jmp 0x1004715
push 0x1002334
push dword [ebp - 0x1c4]
call esi
push 0x10023a8
push 0x1002400
call edi
push eax
call ebx
lea ecx, [ebp - 0x1c8]
push ecx
xor ebx, ebx
push ebx
push ebx
push ebx
push 6
call eax
mov edi, dword [ebp - 0x1c4]
push edi
push dword [ebp - 0x1c8]
call fcn.01003959
cmp word [ebp - 0x1ec], 9
jne 0x100475f
push 0x1002394
jmp 0x100476d
cmp word [ebp - 0x1ec], bx
jne 0x1004778
push 0x1002380
push edi
call esi
jmp 0x1004778
mov edi, dword [ebp - 0x1c4]
cmp dword [ebp - 0x1bc], 5
jne 0x100490a
cmp dword [ebp - 0x1b8], 2
jne 0x100488a
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x10047a5
push 0x1002300
jmp 0x10047d6
cmp word [ebp - 0xa8], 0x2000
jne 0x10047b7
push 0x10022c8
jmp 0x10047d6
cmp byte [ebp - 0xa6], 1
jne 0x10047d1
cmp word [ebp - 0x1ec], 9
jne 0x10047d1
push 0x1002280
jmp 0x10047d6
push 0x1002254
push edi
call esi
cmp byte [ebp - 0xa6], 1
je 0x100487d
cmp word [ebp - 0x1ec], 6
jne 0x1004810
test byte [ebp - 0xa8], 0x80
je 0x1004800
push 0x10021f8
jmp 0x100487a
test byte [ebp - 0xa8], 2
je 0x100487d
push 0x1001a08
jmp 0x100487a
cmp word [ebp - 0x1ec], 9
jne 0x1004841
test byte [ebp - 0xa8], 0x80
je 0x100482a
push 0x10021c4
jmp 0x100487a
test byte [ebp - 0xa8], 2
je 0x100483a
push 0x1002194
jmp 0x100487a
push 0x1002168
jmp 0x100487a
mov eax, dword [ebp - 0xa8]
test ah, 0x40
je 0x1004853
push 0x1002138
jmp 0x100487a
test al, al
jns 0x100485e
push 0x1001afc
jmp 0x100487a
test al, 2
je 0x1004869
push 0x1001ad4
jmp 0x100487a
test ah, 4
je 0x1004875
push 0x1002120
jmp 0x100487a
push 0x1001a84
push edi
call esi
cmp dword [ebp - 0x1bc], 5
jne 0x100490a
cmp dword [ebp - 0x1b8], 1
mov ebx, 0x1002104
jne 0x10048bd
push 0x10020ec
push edi
call esi
test byte [ebp - 0xa7], 2
je 0x10048b0
push 0x10020d0
jmp 0x10048b1
push ebx
push edi
call esi
cmp dword [ebp - 0x1bc], 5
jne 0x100490a
cmp dword [ebp - 0x1b8], 0
jne 0x100490a
push 0x10020b4
push edi
call esi
cmp byte [ebp - 0xa6], 1
jne 0x10048da
push ebx
jmp 0x10048ff
test byte [ebp - 0xa8], 0x80
je 0x10048ea
push 0x1002090
jmp 0x10048ff
test byte [ebp - 0xa8], 2
je 0x10048fa
push 0x1002070
jmp 0x10048ff
push 0x1002060
push edi
call esi
jmp 0x100490a
mov edi, dword [ebp - 0x1c4]
lea eax, [ebp - 0x1ac]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
jbe 0x100492e
push 0x100205c
push edi
call esi
lea eax, [ebp - 0x1ac]
push eax
push edi
call esi
push dword [ebp - 0x1b4]
lea eax, [ebp - 0xa4]
push 0x1002044
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0xa4]
push eax
push edi
call esi
xor eax, eax
inc eax
jmp 0x1004966
push 0x1002024
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
call fcn.01007a24
leave
ret 4