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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c0
mov eax, dword [0x10112018]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov eax, str.Win32
mov edx, ebx
push edi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10057d52
lea eax, [ebp - 0x198]
push eax
mov dword [ebp - 0x198], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea ecx, [ebp - 0x1c0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x188]
cmp eax, 2
jne 0x100581a9
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x194]
push edx
push eax
lea ecx, [ebx + 0x202]
push str.Windows_NT__d._d
push ecx
call sym.ACE.dll_int___cdecl_ACE_OS::sprintf_char___char_const__
mov eax, dword [ebp - 0x18c]
lea edx, [ebp - 0x184]
push edx
push eax
lea ecx, [ebx + 0x303]
push str.Build__d__s
push ecx
call sym.ACE.dll_int___cdecl_ACE_OS::sprintf_char___char_const__
mov esi, dword [str.Unknown]
mov edi, dword [0x100a8fc8]
push 0x77
lea edx, [ebp - 0xfc]
push 0
push edx
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], edi
call sub.MSVCR100.dll_memset
push 0x77
lea eax, [ebp - 0x7c]
push 0
push eax
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], edi
call sub.MSVCR100.dll_memset
movzx eax, word [ebp - 0x1c0]
add esp, 0x38
cmp eax, 0xa
ja case.0x10057e1e.4
jmp dword [eax*4 + 0x100583e0]
xor eax, eax
jmp 0x10057e30
mov cl, byte [eax + str.Intel]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x10057e30
mov ax, word [ebp - 0x1a0]
cmp ax, 3
jne 0x10057e68
xor eax, eax
mov cl, byte [eax + str.80386]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10057e51
jmp 0x10058182
cmp ax, 4
jne 0x10057e87
xor eax, eax
mov cl, byte [eax + str.80486]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10057e70
jmp 0x10058182
cmp ax, 5
jne 0x10057ea7
xor eax, eax
nop
mov cl, byte [eax + str.Pentium]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10057e90
jmp 0x10058182
cmp ax, 6
jne 0x10057ec7
xor eax, eax
nop
mov cl, byte [eax + str.Pentium_Pro]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10057eb0
jmp 0x10058182
cmp ax, 7
jne 0x10057ee7
xor eax, eax
nop
mov cl, byte [eax + str.Pentium_II]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10057ed0
jmp 0x10058182
movzx ecx, ax
push ecx
lea edx, [ebp - 0x84]
push 0x100a7490
push edx
call sym.ACE.dll_int___cdecl_ACE_OS::sprintf_char___char_const__
add esp, 0xc
jmp 0x10058182
xor eax, eax
jmp 0x10057f10
mov cl, byte [eax + str.MIPS]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x10057f10
mov ax, word [ebp - 0x1a0]
cmp ax, 3
jne 0x10057f48
xor eax, eax
mov cl, byte [eax + str.R3000]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10057f31
jmp 0x10058182
cmp ax, 4
jne 0x10057f67
xor eax, eax
mov cl, byte [eax + str.R4000]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10057f50
jmp 0x10058182
movzx eax, ax
push eax
lea ecx, [ebp - 0x84]
push 0x100a7490
push ecx
call sym.ACE.dll_int___cdecl_ACE_OS::sprintf_char___char_const__
add esp, 0xc
jmp 0x10058182
xor eax, eax
jmp 0x10057f90
mov cl, byte [eax + str.Alpha]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x10057f90
movzx edx, word [ebp - 0x1a0]
push edx
lea eax, [ebp - 0x84]
push 0x100a7490
push eax
call sym.ACE.dll_int___cdecl_ACE_OS::sprintf_char___char_const__
add esp, 0xc
jmp 0x10058182
xor eax, eax
jmp 0x10057fd0
mov cl, byte [eax + 0x100a9024]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x10057fd0
mov ax, word [ebp - 0x1a0]
cmp ax, 1
jne 0x10058008
xor eax, eax
mov cl, byte [eax + 0x100a9028]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10057ff1
jmp 0x10058182
cmp ax, 3
jne 0x10058027
xor eax, eax
mov cl, byte [eax + 0x100a902c]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10058010
jmp 0x10058182
cmp ax, 4
jne 0x10058047
xor eax, eax
nop
mov cl, byte [eax + 0x100a9030]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10058030
jmp 0x10058182
cmp ax, 6
jne 0x10058067
xor eax, eax
nop
mov cl, byte [eax + str.603]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10058050
jmp 0x10058182
cmp ax, 9
jne 0x10058087
xor eax, eax
nop
mov cl, byte [eax + str.804]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x10058070
jmp 0x10058182
cmp ax, 0x14
jne 0x10058182
xor eax, eax
jmp 0x100580a0
mov cl, byte [eax + 0x100a9044]
mov byte [ebp + eax - 0x84], cl
inc eax
test cl, cl
jne 0x100580a0
jmp 0x10058182
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + str.Itanium]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x100580c0
movzx ecx, word [ebp - 0x1a0]
jmp 0x10057eea
xor eax, eax
mov cl, byte [eax + 0x100a9050]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x100580e0
movzx eax, word [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x84]
push 0x100a7490
push ecx
call sym.ACE.dll_int___cdecl_ACE_OS::sprintf_char___char_const__
add esp, 0xc
jmp 0x10058182
xor eax, eax
mov cl, byte [eax + str.WOW64]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x10058112
movzx edx, word [ebp - 0x1a0]
push edx
lea eax, [ebp - 0x84]
push 0x100a7490
push eax
call sym.ACE.dll_int___cdecl_ACE_OS::sprintf_char___char_const__
add esp, 0xc
jmp 0x10058182
xor eax, eax
jmp 0x10058150
mov cl, byte [eax + 0x100a905c]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x10058150
movzx ecx, word [ebp - 0x1a0]
jmp 0x10057eea
xor eax, eax
mov cl, byte [eax + str.Unknown]
mov byte [ebp + eax - 0x104], cl
inc eax
test cl, cl
jne 0x10058170
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x104]
push ecx
lea edx, [ebx + 0x404]
push str._s__s
push edx
call sym.ACE.dll_int___cdecl_ACE_OS::sprintf_char___char_const__
add esp, 0x10
jmp 0x1005836e
cmp eax, 1
jne 0x10058310
cmp dword [ebp - 0x194], 4
jne 0x10058250
mov eax, dword [ebp - 0x190]
test eax, eax
jne 0x100581fb
lea ecx, [ebx + 0x202]
mov eax, str.Windows_95
mov esi, ecx
sub esi, eax
mov dl, byte [eax]
mov byte [esi + eax], dl
inc eax
test dl, dl
jne 0x100581d8
cmp byte [ebp - 0x183], 0x43
jne 0x1005826e
mov eax, str._OSR2
call fcn.1002fdd0
jmp 0x1005826e
cmp eax, 0xa
jne 0x1005822f
lea ecx, [ebx + 0x202]
mov eax, str.Windows_98
mov esi, ecx
sub esi, eax
nop
mov dl, byte [eax]
mov byte [esi + eax], dl
inc eax
test dl, dl
jne 0x10058210
cmp byte [ebp - 0x183], 0x41
jne 0x1005826e
mov eax, 0x100a9088
call fcn.1002fdd0
jmp 0x1005826e
cmp eax, 0x5a
jne 0x10058250
mov eax, str.Windows_Me
mov edx, ebx
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax + 0x202], cl
inc eax
test cl, cl
jne 0x10058240
jmp 0x1005826e
mov eax, 0x100a8fa0
mov edx, ebx
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax + 0x202], cl
inc eax
test cl, cl
jne 0x10058260
movzx eax, word [ebp - 0x18c]
push eax
lea ecx, [ebx + 0x303]
push 0x100a7490
push ecx
call sym.ACE.dll_int___cdecl_ACE_OS::sprintf_char___char_const__
mov eax, dword [ebp - 0x1a8]
add esp, 0xc
mov edx, ebx
cmp eax, 0x182
jne 0x100582b3
mov eax, str.Intel_80386
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax + 0x404], cl
inc eax
test cl, cl
jne 0x100582a0
jmp 0x1005836e
cmp eax, 0x1e6
jne 0x100582d4
mov eax, str.Intel_80486
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax + 0x404], cl
inc eax
test cl, cl
jne 0x100582c1
jmp 0x1005836e
cmp eax, 0x24a
jne 0x100582f5
mov eax, str.Intel_Pentium
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax + 0x404], cl
inc eax
test cl, cl
jne 0x100582e2
jmp 0x1005836e
mov eax, 0x100a8fa0
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax + 0x404], cl
inc eax
test cl, cl
jne 0x10058300
jmp 0x1005836e
mov eax, 0x100a8fa0
mov edx, ebx
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax + 0x202], cl
inc eax
test cl, cl
jne 0x10058320
mov eax, 0x100a8fa0
mov edx, ebx
sub edx, eax
jmp 0x10058340
mov cl, byte [eax]
mov byte [edx + eax + 0x303], cl
inc eax
test cl, cl
jne 0x10058340
mov eax, 0x100a8fa0
mov edx, ebx
sub edx, eax
jmp 0x10058360
mov cl, byte [eax]
mov byte [edx + eax + 0x404], cl
inc eax
test cl, cl
jne 0x10058360
push 0x101
lea esi, [ebx + 0x101]
push esi
mov dword [ebp - 0x19c], 0x101
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
jne 0x1005839f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009acfd
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x19c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
cmp esi, 0xffffffff
jne 0x100583cb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], edi
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.1009acfd
mov esp, ebp
pop ebp
ret