Function at 0x478078
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff38
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x98], edx
mov esi, eax
xor eax, eax
push ebp
push 0x4783c7
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x94], 0x94
mov bl, 8
lea eax, [ebp - 0x94]
push eax
call sub.kernel32.dll_GetVersionExA
test eax, eax
je 0x478393
mov eax, dword [ebp - 0x84]
sub eax, 1
jb 0x4780f9
je 0x47814f
dec eax
je 0x478195
jmp 0x478393
lea eax, [ebp - 0x98]
push eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xa8]
mov ecx, 1
mov eax, 0x4783e0
call fcn.0040c0c0
mov edx, dword [ebp - 0x98]
mov eax, esi
call fcn.004056e8
xor ebx, ebx
jmp 0x478393
mov eax, dword [ebp - 0x8c]
sub eax, 1
jb 0x478166
sub eax, 9
je 0x478174
sub eax, 0x50
je 0x478182
jmp 0x47818e
mov eax, esi
mov edx, 0x4783f8
call fcn.004056e8
jmp 0x47818e
mov eax, esi
mov edx, 0x47840c
call fcn.004056e8
jmp 0x47818e
mov eax, esi
mov edx, 0x478420
call fcn.004056e8
mov bl, 1
jmp 0x478393
cmp dword [ebp - 0x90], 5
jne 0x4781ba
cmp dword [ebp - 0x8c], 0
jne 0x4781ba
mov eax, esi
mov edx, 0x478434
call fcn.004056e8
mov bl, 3
jmp 0x478393
cmp dword [ebp - 0x90], 5
jne 0x478209
cmp dword [ebp - 0x8c], 1
jne 0x478209
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x47844c
call fcn.0040c0c0
mov edx, dword [ebp - 0xac]
mov eax, esi
call fcn.004056e8
mov bl, 4
jmp 0x478393
cmp dword [ebp - 0x90], 5
jne 0x478258
cmp dword [ebp - 0x8c], 2
jne 0x478258
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x478464
call fcn.0040c0c0
mov edx, dword [ebp - 0xb8]
mov eax, esi
call fcn.004056e8
mov bl, 5
jmp 0x478393
cmp dword [ebp - 0x90], 6
jne 0x4782a7
cmp dword [ebp - 0x8c], 0
jne 0x4782a7
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x47847c
call fcn.0040c0c0
mov edx, dword [ebp - 0xbc]
mov eax, esi
call fcn.004056e8
mov bl, 6
jmp 0x478393
mov edi, dword [ebp - 0x90]
cmp edi, 6
jne 0x4782f8
cmp dword [ebp - 0x8c], 1
jne 0x4782f8
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 6
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x478498
call fcn.0040c0c0
mov edx, dword [ebp - 0xc0]
mov eax, esi
call fcn.004056e8
mov bl, 7
jmp 0x478393
cmp edi, 4
ja 0x47834a
lea eax, [ebp - 0xc4]
push eax
mov dword [ebp - 0xa8], edi
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xa8]
mov ecx, 1
mov eax, 0x4784b0
call fcn.0040c0c0
mov edx, dword [ebp - 0xc4]
mov eax, esi
call fcn.004056e8
mov bl, 2
jmp 0x478393
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 0xa8], edi
mov byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xa8]
mov ecx, 1
mov eax, 0x4784cc
call fcn.0040c0c0
mov edx, dword [ebp - 0xc8]
mov eax, esi
call fcn.004056e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4783ce
lea eax, [ebp - 0xc8]
mov edx, 5
call fcn.004056b8
lea eax, [ebp - 0xac]
call fcn.00405694
lea eax, [ebp - 0x98]
call fcn.00405694
ret