Function at 0x4415a0
Capabilities:
Check os version
Get session user name
Get system information on windows

Disassembly:
push edi
mov eax, 0x101
mov edi, 0x5c1583
push esi
push ebx
sub esp, 0x320
mov ebx, 0x5c158b
mov dword [esp + 0x2c], eax
mov eax, 0x94
mov esi, dword [esp + 0x330]
mov dword [esp + 0x220], eax
lea eax, [esp + 0x220]
mov dword [esp], eax
call sub.KERNEL32.dll_GetVersionExA
sub esp, 4
lea eax, [esp + 0x2c0]
mov dword [esp], eax
call sub.KERNEL32.dll_GetSystemInfo
sub esp, 4
mov eax, 1
mov ecx, 0x5c1594
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00416830
mov eax, dword [esp + 0x230]
cmp eax, 3
jbe 0x441721
mov eax, dword [esp + 0x228]
lea ebx, [esp + 0x2f0]
mov edi, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x224]
mov dword [esp + 8], eax
mov eax, 0x5c15a1
mov dword [esp + 4], eax
call sub.USER32.dll_wsprintfA
mov dword [esp + 0xc], ebx
mov ecx, 0x5c1594
mov ebx, 0x5c15a7
mov dword [esp + 0x10], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00416830
mov eax, dword [esp + 0x2c0]
cmp ax, 0xa
jbe 0x441790
lea ebx, [esp + 0x140]
mov dword [esp], ebx
call fcn.004388f0
mov dword [esp], esi
mov eax, 1
mov dword [esp + 0xc], eax
mov eax, 0x5c15b1
mov dword [esp + 8], eax
mov eax, 0x5c15b6
mov dword [esp + 4], eax
call fcn.00417460
test eax, eax
je 0x4417c6
mov dword [esp], ebx
call fcn.004388f0
mov dword [esp + 4], ebx
mov dword [esp], 0x5c15ba
call fcn.00461d80
test eax, eax
je 0x441754
mov dword [esp], esi
mov eax, 1
mov edi, 0x5c1594
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov eax, 0x5c15c3
mov dword [esp + 8], eax
call fcn.00416830
mov dword [esp], ebx
call fcn.00438bf0
add esp, 0x320
pop ebx
pop esi
pop edi
ret
mov dword [esp], esi
mov eax, dword [eax*4 + 0x59e4cc]
mov edx, 1
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, 0x5c15c8
mov dword [esp + 8], eax
mov eax, 0x5c1594
mov dword [esp + 4], eax
call fcn.00416830
jmp 0x441625
lea eax, [esp + 0x2c]
lea edi, [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.ADVAPI32.DLL_GetUserNameA
sub esp, 8
test eax, eax
je 0x4416e1
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x2c]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00460d40
jmp 0x4416e1
mov dword [esp], esi
movzx eax, ax
mov edx, 1
mov dword [esp + 0x10], edx
mov eax, dword [eax*4 + 0x59e4a0]
mov dword [esp + 0xc], eax
mov eax, 0x5c15cb
mov dword [esp + 8], eax
mov eax, 0x5c1594
mov dword [esp + 4], eax
call fcn.00416830
jmp 0x44168b
mov dword [esp], esi
mov eax, 1
mov ecx, 0x5c15b6
mov dword [esp + 0xc], eax
mov edi, 0x5c15d3
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
call fcn.00417460
test eax, eax
je 0x441802
mov dword [esp + 4], eax
mov edx, 0xffffffff
mov dword [esp + 8], edx
mov dword [esp], ebx
call fcn.00438910
mov dword [esp], esi
mov eax, 1
mov dword [esp + 0xc], eax
mov eax, 0x5c15dd
mov dword [esp + 8], eax
mov eax, 0x5c15b6
mov dword [esp + 4], eax
call fcn.00417460
test eax, eax
je 0x44183e
mov dword [esp + 4], eax
mov edi, 0xffffffff
mov dword [esp + 8], edi
mov dword [esp], ebx
call fcn.00438910
mov ecx, dword [esp + 0x144]
test ecx, ecx
jle 0x44187c
mov eax, dword [esp + 0x140]
mov edx, 1
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, 0x5c15b1
mov dword [esp + 8], eax
mov eax, 0x5c15b6
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00416830
jmp 0x4416c5
mov eax, 1
mov dword [esp + 0x10], eax
mov eax, 0x5c15e6
jmp 0x441859