Function at 0x4076a0
Capabilities:
Get system information on windows

Disassembly:
sub esp, 0x134
push ebx
xor ebx, ebx
push esi
mov esi, eax
cmp dword [esp + 0x140], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebx
je 0x407e68
cmp dword [esp + 0x144], 1
jl 0x407e68
cmp esi, ebx
je 0x407e68
xor eax, eax
push ebp
push edi
mov ecx, 0x14
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
xor eax, eax
mov ecx, 0x28
lea edi, [esp + 0xa0]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x94], eax
push ecx
xor ebp, ebp
mov dword [esp + 0x9c], eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [esp + 0x8c]
lea eax, [esp + 0x18]
push eax
push str.Manufacturer
push str.Win32_Processor
mov dword [esi], edx
call fcn.0044ea90
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
je 0x407783
push eax
call fcn.0044df00
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0044ded0
add esp, 8
lea edx, [esp + 0x14]
push edx
push str.Description
push str.Win32_Processor
call fcn.0044ea90
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp eax, ebx
je 0x4077b5
push eax
call fcn.0044df00
mov eax, dword [esp + 0x18]
push eax
call fcn.0044ded0
add esp, 8
lea ecx, [esp + 0x10]
push ecx
push str.Name
push str.Win32_Processor
call fcn.0044ea90
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp eax, ebx
je 0x4079d8
push eax
call fcn.0044df00
mov edx, dword [esp + 0x14]
push edx
call fcn.0044ded0
mov eax, dword [esp + 0x18]
mov cl, byte [eax]
add esp, 8
cmp cl, bl
je 0x4079d8
push str.Intel
push eax
call fcn.0044db90
add esp, 8
test eax, eax
jne 0x4078b2
mov eax, dword [esp + 0x10]
push 0x46afd4
push eax
call fcn.0044db90
add esp, 8
test eax, eax
jne 0x4078b2
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.0044db90
add esp, 8
test eax, eax
jne 0x4078b2
mov eax, dword [esp + 0x18]
push 0x50
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.00458f80
lea eax, [esp + 0x28]
add esp, 0xc
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407860
sub eax, edx
mov edx, 0x50
sub edx, eax
push edx
lea eax, [esp + 0x20]
push 0x46a3c4
push eax
call fcn.0045a290
lea eax, [esp + 0x28]
add esp, 0xc
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407890
sub eax, edx
mov edx, dword [esp + 0x10]
mov ecx, 0x50
sub ecx, eax
push ecx
push edx
lea eax, [esp + 0x24]
push eax
call fcn.0045a290
jmp 0x4078c3
mov ecx, dword [esp + 0x10]
push 0x50
push ecx
lea edx, [esp + 0x24]
push edx
call fcn.00458f80
mov eax, dword [esp + 0x20]
mov cl, byte [eax]
add esp, 0xc
cmp cl, bl
je 0x4079d3
push str._model
push eax
call fcn.0044db90
mov esi, eax
mov eax, dword [esp + 0x1c]
push str._stepping
push eax
call fcn.0044db90
mov ecx, dword [esp + 0x20]
mov edi, eax
mov al, byte [ecx]
add esp, 0x10
cmp al, bl
je 0x407979
cmp esi, ebx
je 0x407979
cmp edi, ebx
je 0x407979
lea eax, [esp + 0x1c]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407910
sub eax, edx
mov edx, 0x50
sub edx, eax
push edx
lea eax, [esp + 0x20]
push 0x46afbc
push eax
call fcn.0045a290
add esp, 0xc
cmp edi, esi
lea eax, [esp + 0x1c]
lea edx, [eax + 1]
jbe 0x407960
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407940
sub eax, edx
mov ecx, 0x50
sub ecx, eax
push ecx
push esi
lea edx, [esp + 0x24]
push edx
jmp 0x4079cb
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407960
sub eax, edx
mov ecx, 0x50
sub ecx, eax
push ecx
push edi
lea edx, [esp + 0x24]
push edx
jmp 0x4079cb
lea eax, [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407980
sub eax, edx
mov ecx, 0x50
sub ecx, eax
push ecx
lea edx, [esp + 0x20]
push 0x46afbc
push edx
call fcn.0045a290
lea eax, [esp + 0x28]
add esp, 0xc
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4079b0
sub eax, edx
mov edx, dword [esp + 0x14]
mov ecx, 0x50
sub ecx, eax
push ecx
push edx
lea eax, [esp + 0x24]
push eax
call fcn.0045a290
add esp, 0xc
mov ebp, 1
lea eax, [esp + 0x1c]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4079e0
sub eax, edx
cmp eax, 1
jge 0x407a78
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x407a78
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x407a78
cmp byte [eax], bl
je 0x407a78
cmp byte [ecx], bl
je 0x407a78
push 0x50
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.00458f80
lea eax, [esp + 0x28]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407a25
sub eax, edx
mov edx, 0x50
sub edx, eax
push edx
lea eax, [esp + 0x20]
push 0x46a3c4
push eax
call fcn.0045a290
lea eax, [esp + 0x28]
add esp, 0xc
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407a50
sub eax, edx
mov edx, dword [esp + 0x14]
mov ecx, 0x50
sub ecx, eax
push ecx
push edx
lea eax, [esp + 0x24]
push eax
call fcn.0045a290
add esp, 0xc
mov ebp, 1
lea eax, [esp + 0x1c]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407a80
sub eax, edx
cmp eax, 1
jge 0x407d6d
movzx eax, word [esp + 0x78]
cmp eax, 3
ja case.default.0x407abb
jmp dword [eax*4 + 0x407e74]
movzx eax, word [esp + 0x98]
lea ecx, [eax - 3]
cmp ecx, 3
ja case.default.0x407abb
jmp dword [ecx*4 + 0x407e84]
push eax
lea ecx, [esp + 0x20]
push str.Intel_80_d86
push ecx
call fcn.00458ee7
mov edx, dword [esp + 0xa6]
mov eax, edx
and eax, 0xff00
add esp, 0xc
cmp eax, 0xff00
lea eax, [esp + 0x1c]
lea esi, [eax + 1]
jne 0x407b18
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407af1
and edx, 0xff
push edx
sub eax, esi
lea ecx, [esp + eax + 0x20]
push str.__02X
push ecx
call fcn.00458ee7
add esp, 0xc
jmp case.default.0x407abb
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407b18
movzx ecx, dx
mov edx, ecx
and edx, 0xff
push edx
shr ecx, 8
add ecx, 0x41
push ecx
sub eax, esi
lea eax, [esp + eax + 0x24]
push str.__c_02X
push eax
call fcn.00458ee7
add esp, 0x10
jmp case.default.0x407abb
movzx eax, word [esp + 0x9a]
mov ecx, eax
and ecx, 0xff
push ecx
shr eax, 8
push eax
lea edx, [esp + 0x24]
push str.Intel_Pentium_Model__1X_Stepping__1X
push edx
call fcn.00458ee7
add esp, 0x10
jmp case.default.0x407abb
movzx ecx, word [esp + 0x9a]
mov eax, ecx
shr eax, 8
cmp eax, 1
jne 0x407ba7
mov ecx, dword [0x46af6c]
mov edx, dword [0x46af70]
mov eax, dword [str.Pentium_Pro]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
jmp 0x407d5e
cmp eax, 3
jne 0x407bed
mov eax, dword [str.Pentium_II_Model_3]
mov ecx, dword [0x46af58]
mov edx, dword [0x46af5c]
mov dword [esp + 0x1c], eax
mov eax, dword [0x46af60]
mov dword [esp + 0x20], ecx
mov cx, word [0x46af64]
mov dword [esp + 0x24], edx
mov dl, byte [0x46af66]
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], cx
mov byte [esp + 0x2e], dl
jmp case.default.0x407abb
cmp eax, 5
jne 0x407c33
mov eax, dword [str.Pentium_II_Model_5]
mov ecx, dword [0x46af44]
mov edx, dword [0x46af48]
mov dword [esp + 0x1c], eax
mov eax, dword [0x46af4c]
mov dword [esp + 0x20], ecx
mov cx, word [0x46af50]
mov dword [esp + 0x24], edx
mov dl, byte [0x46af52]
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], cx
mov byte [esp + 0x2e], dl
jmp case.default.0x407abb
cmp eax, 6
jne 0x407c79
mov eax, dword [str.Intel_Celeron_Model_6]
mov ecx, dword [0x46af2c]
mov edx, dword [0x46af30]
mov dword [esp + 0x1c], eax
mov eax, dword [0x46af34]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x46af38]
mov dword [esp + 0x24], edx
mov dx, word [0x46af3c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov word [esp + 0x30], dx
jmp case.default.0x407abb
cmp eax, 7
jne 0x407cb3
mov eax, dword [str.Pentium_III_Model_7]
mov ecx, dword [0x46af18]
mov edx, dword [0x46af1c]
mov dword [esp + 0x1c], eax
mov eax, dword [0x46af20]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x46af24]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
jmp case.default.0x407abb
cmp eax, 8
jne 0x407ced
mov edx, dword [str.Pentium_III_Model_8]
mov eax, dword [0x46af04]
mov ecx, dword [0x46af08]
mov dword [esp + 0x1c], edx
mov edx, dword [0x46af0c]
mov dword [esp + 0x20], eax
mov eax, dword [0x46af10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
jmp case.default.0x407abb
cmp eax, 0xa
jne 0x407d05
mov ecx, 6
mov esi, str.Pentium_III_Xeon_Model_A
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp case.default.0x407abb
and ecx, 0xff
push ecx
push eax
push ebx
lea ecx, [esp + 0x28]
push str.GenuineIntel_x86_Family__1d_Model__1X_Stepping__1X
push ecx
call fcn.00458ee7
add esp, 0x14
jmp case.default.0x407abb
mov edx, dword [str.PowerPC]
mov eax, dword [0x46aeac]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
jmp case.default.0x407abb
mov ecx, dword [str.MIPS]
mov dl, byte [0x46aea4]
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x20], dl
jmp case.default.0x407abb
mov cx, word [0x46ae9c]
mov eax, dword [str.Alpha]
mov word [esp + 0x20], cx
mov dword [esp + 0x1c], eax
cmp byte [esp + 0x1c], bl
je 0x407d6d
mov ebp, 3
lea eax, [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x407d74
sub eax, edx
cmp eax, 1
jge 0x407de5
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x78]
push ecx
push str.Identifier
push str.HardwareDescriptionSystemCentralProcessor0
push 0x80000002
mov dword [esp + 0x8c], 0x50
call fcn.0044b2c0
add esp, 0x18
cmp eax, ebx
jne 0x407dd2
cmp dword [esp + 0x70], 1
jne 0x407dd2
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x407dd2
cmp eax, 0x50
jae 0x407dd2
mov ebp, 2
jmp 0x407de5
mov edx, dword [str.Unknown]
mov eax, dword [0x46ae58]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
lea ecx, [esp + 0xa0]
push ecx
push 0x469e50
lea edx, [esp + 0x24]
push 0x469e4c
push edx
call fcn.0044dcb0
mov esi, dword [esp + 0x15c]
mov edi, dword [esp + 0x158]
lea eax, [esi - 1]
push eax
lea ecx, [esp + 0xb4]
push ecx
push edi
call fcn.00458f80
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, ebx
mov byte [edi + esi - 1], bl
je 0x407e39
push eax
call fcn.0045932f
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x407e4a
push eax
call fcn.0045932f
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x407e5b
push eax
call fcn.0045932f
add esp, 4
pop edi
mov eax, ebp
pop ebp
pop esi
pop ebx
add esp, 0x134
ret
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x134
ret