Function at 0x100155a0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [0x1006b5d8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0xff
lea ecx, [ebp - 0x103]
push 0
push ecx
mov dword [ebp - 0x238], eax
mov byte [ebp - 0x104], 0
call fcn.1003ae80
add esp, 0xc
lea edx, [ebp - 0x198]
push edx
mov dword [ebp - 0x198], 0x94
call dword [sym.imp.kernel32.dll_GetVersionExA]
mov eax, dword [ebp - 0x188]
mov edi, dword [ebp - 0x194]
mov ebx, dword [ebp - 0x190]
cmp eax, 1
jne 0x10015720
cmp ebx, 0xa
jne 0x1001564d
lea eax, [ebp - 0x184]
push eax
push 0x10059638
call dword [sym.imp.kernel32.dll_lstrcmp]
test eax, eax
jne 0x10015633
push 0x10059620
jmp 0x10015638
push 0x10059614
push esi
call dword [sym.imp.kernel32.dll_lstrcpy]
imul edi, edi, 0x64
add edi, 0x15f9a
jmp 0x100158dc
test ebx, ebx
jne 0x100156eb
mov ebx, dword [sym.imp.kernel32.dll_lstrcpy]
push 0x10059608
push esi
call ebx
lea ecx, [ebp - 0x184]
push ecx
push 0x10059638
call dword [sym.imp.kernel32.dll_lstrcmp]
test eax, eax
jne 0x10015693
push 0x10059604
push esi
call dword [sym.imp.kernel32.dll_lstrcat]
imul edi, edi, 0x64
add edi, 0x15f95
jmp 0x100158dc
lea edx, [ebp - 0x184]
push edx
push 0x10059600
call dword [sym.imp.kernel32.dll_lstrcmp]
test eax, eax
jne 0x100156bf
push 0x100595f8
push esi
call ebx
imul edi, edi, 0x64
add edi, 0x15f95
jmp 0x100158dc
lea eax, [ebp - 0x184]
push eax
push 0x100595f4
call dword [sym.imp.kernel32.dll_lstrcmp]
test eax, eax
jne 0x100156dd
push 0x100595ec
push esi
call ebx
imul edi, edi, 0x64
add edi, 0x15f95
jmp 0x100158dc
cmp ebx, 0x5a
jne 0x1001570a
push 0x100595e0
push esi
call dword [sym.imp.kernel32.dll_lstrcpy]
imul edi, edi, 0x64
add edi, 0x15fea
jmp 0x100158dc
push 0x100595d4
push esi
call dword [sym.imp.kernel32.dll_lstrcpy]
mov edi, 0x16152
jmp 0x100158dc
cmp eax, 2
jne 0x100158d6
cmp edi, 4
jg 0x10015772
push 0x100595c8
push esi
call dword [sym.imp.kernel32.dll_lstrcpy]
mov ecx, dword [ebp - 0x194]
push ecx
lea edx, [ebp - 0x104]
push 0x10057dbc
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x104]
push eax
push esi
call dword [sym.imp.kernel32.dll_lstrcat]
add edi, 0x3e8
imul edi, edi, 0x64
jmp 0x100158a4
cmp edi, 5
jne 0x1001588a
lea ecx, [ebp - 0x234]
push ecx
mov dword [ebp - 0x234], 0x9c
call dword [sym.imp.kernel32.dll_GetVersionExA]
cmp ebx, 1
jne 0x1001581c
mov edi, dword [sym.imp.kernel32.dll_lstrcpy]
push 0x100595bc
push esi
call edi
mov al, byte [ebp - 0x19a]
cmp al, bl
jne 0x100157eb
test dword [ebp - 0x19c], 0x200
je 0x100157d5
push 0x100595ac
push esi
call dword [sym.imp.kernel32.dll_lstrcat]
mov edi, 0x1889e
jmp 0x100158a4
push 0x1005959c
push esi
call dword [sym.imp.kernel32.dll_lstrcat]
mov edi, 0x1889e
jmp 0x100158a4
cmp al, 3
jne 0x10015812
test byte [ebp - 0x19c], 2
je 0x1001580a
push 0x10059578
push esi
call edi
mov edi, 0x1889e
jmp 0x100158a4
push 0x1005955c
push esi
call edi
mov edi, 0x1889e
jmp 0x100158a4
cmp ebx, 2
jne 0x10015834
push 0x10059548
push esi
call dword [sym.imp.kernel32.dll_lstrcpy]
mov edi, 0x188a8
jmp 0x100158a4
mov edi, dword [sym.imp.kernel32.dll_lstrcpy]
push 0x1005953c
push esi
call edi
mov al, byte [ebp - 0x19a]
cmp al, 1
jne 0x1001585f
push 0x1005959c
push esi
call dword [sym.imp.kernel32.dll_lstrcat]
mov edi, 0x18894
jmp 0x100158a4
cmp al, 3
jne 0x10015883
test byte [ebp - 0x19c], 2
je 0x1001587b
push 0x10059528
push esi
call edi
mov edi, 0x18894
jmp 0x100158a4
push 0x10059520
push esi
call edi
mov edi, 0x18894
jmp 0x100158a4
push 0x908
call fcn.1000a040
add esp, 4
push eax
push esi
call dword [sym.imp.kernel32.dll_lstrcpy]
mov edi, 0x18a88
lea edx, [ebp - 0x184]
push edx
push 0x100578e2
call fcn.1003d9ed
add esp, 8
test eax, eax
je 0x100158dc
mov ebx, dword [sym.imp.kernel32.dll_lstrcat]
push 0x100578bc
push esi
call ebx
lea eax, [ebp - 0x184]
push eax
push esi
call ebx
jmp 0x100158dc
mov edi, dword [ebp - 0x238]
movzx edx, word [ebp - 0x18c]
mov eax, dword [ebp - 0x190]
lea ecx, [ebp - 0x184]
push ecx
mov ecx, dword [ebp - 0x194]
push edx
push eax
push ecx
lea edx, [ebp - 0x104]
push 0x10059510
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebp - 0x238]
lea eax, [ebp - 0x104]
push eax
push 0x40
push ecx
call fcn.1003e589
mov ecx, dword [ebp - 4]
add esp, 0x24
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1003b1fb
mov esp, ebp
pop ebp
ret 8