Function at 0x404350
Capabilities:
Get system information on windows

Disassembly:
push 0xffffffffffffffff
push 0x42f57b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x190
mov eax, dword [0x43c178]
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 8], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x30]
mov bl, 7
push eax
mov byte [esp + 0x1a4], bl
call dword [sym.imp.KERNEL32.DLL_GetSystemInfo]
mov eax, dword [esp + 0x48]
cmp eax, 0x182
jne 0x4043c5
push str.Intel_386
jmp 0x404402
cmp eax, 0x1e6
jne 0x4043d3
push str.Intel_486
jmp 0x404402
cmp eax, 0x24a
jne 0x4043e1
push str.Intel_Pentium
jmp 0x404402
cmp eax, 0xfa0
jne 0x4043ef
push str.MIPS
jmp 0x404402
cmp eax, 0x5248
jne 0x4043fd
push str.Alpha
jmp 0x404402
push str.Unknown
lea ecx, [esp + 0x14]
call fcn.00422f18
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x94]
push 0xa
push ecx
push edx
call fcn.004159cb
add esp, 0xc
lea eax, [esp + 0x94]
lea ecx, [esp + 0x18]
push eax
call fcn.00422dfd
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x1a4], 8
call fcn.00422ec8
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a0], bl
call fcn.00422dd3
mov ax, word [esp + 0x30]
test ax, ax
jne 0x4044e9
push str.Pentium
lea ecx, [esp + 0x18]
call fcn.00422f18
mov ecx, dword [esp + 0x50]
and ecx, 0xffff
lea eax, [ecx - 3]
cmp eax, 3
ja case.0x4045e4.7
jmp dword [eax*4 + 0x4048a8]
push str.Intel_80386
lea ecx, [esp + 0xc]
jmp 0x40463c
push str.Intel_80486
lea ecx, [esp + 0xc]
jmp 0x40463c
push str.Pentium
lea ecx, [esp + 0xc]
call fcn.00422f18
push 3
call dword [sym.imp.KERNEL32.DLL_IsProcessorFeaturePresent]
test eax, eax
je case.0x4045e4.7
push str._MMX
lea ecx, [esp + 0xc]
call fcn.0042316b
jmp case.0x4045e4.7
push str.Pentium__II_Pro_
lea ecx, [esp + 0xc]
jmp 0x40463c
cmp ax, 1
jne 0x404521
push str.MIPS
lea ecx, [esp + 0x18]
call fcn.00422f18
cmp word [esp + 0x50], 4
jne 0x404513
push str.MIPS_R4000
lea ecx, [esp + 0xc]
jmp 0x40463c
push str.Unknown
lea ecx, [esp + 0xc]
jmp 0x40463c
cmp ax, 2
jne 0x4045b6
push str.Alpha
lea ecx, [esp + 0x18]
call fcn.00422f18
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x94]
push 0xa
and eax, 0xffff
push edx
push eax
call fcn.004159cb
add esp, 0xc
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x10]
call fcn.00422dfd
push eax
lea edx, [esp + 0x18]
lea eax, [esp + 0x1c]
push edx
push eax
mov byte [esp + 0x1ac], 9
call fcn.00422fbe
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x1a4], 0xa
call fcn.00422ec8
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a0], 9
call fcn.00422dd3
lea ecx, [esp + 0xc]
mov byte [esp + 0x1a0], bl
call fcn.00422dd3
jmp case.0x4045e4.7
cmp ax, 3
jne 0x40462d
push 0x43b64c
lea ecx, [esp + 0x18]
call fcn.00422f18
mov ecx, dword [esp + 0x50]
and ecx, 0xffff
lea eax, [ecx - 1]
cmp eax, 0x13
ja case.0x4045e4.7
xor edx, edx
mov dl, byte [eax + 0x4048d4]
jmp dword [edx*4 + 0x4048b8]
push str.PPC_601
lea ecx, [esp + 0xc]
jmp 0x40463c
push str.PPC_603
lea ecx, [esp + 0xc]
jmp 0x40463c
push str.PPC_604
lea ecx, [esp + 0xc]
jmp 0x40463c
push 0x43b628
lea ecx, [esp + 0xc]
jmp 0x40463c
push 0x43b61c
lea ecx, [esp + 0xc]
jmp 0x40463c
push str.PPC_620
lea ecx, [esp + 0xc]
jmp 0x40463c
cmp ax, 0xffff
jne case.0x4045e4.7
push str.Unknown
lea ecx, [esp + 0x18]
call fcn.00422f18
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x94]
push 0xa
push eax
push ecx
call fcn.004159cb
add esp, 0xc
lea edx, [esp + 0x94]
lea ecx, [esp + 0xc]
push edx
call fcn.00422dfd
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x1a4], 0xb
call fcn.00422ec8
lea ecx, [esp + 0xc]
mov byte [esp + 0x1a0], bl
call fcn.00422dd3
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x54]
push eax
push 0x43b610
push ecx
call fcn.00413174
add esp, 0xc
lea edx, [esp + 0x54]
lea ecx, [esp + 0x18]
push edx
call fcn.00422dfd
push eax
lea eax, [esp + 0x10]
push 0x43b60c
push eax
mov byte [esp + 0x1ac], 0xc
call fcn.00423098
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x1a4], 0xd
call fcn.00422ec8
lea ecx, [esp + 0xc]
mov byte [esp + 0x1a0], 0xc
call fcn.00422dd3
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a0], bl
call fcn.00422dd3
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x54]
push ecx
push 0x43b610
push edx
call fcn.00413174
add esp, 0xc
lea eax, [esp + 0x54]
lea ecx, [esp + 0x18]
push eax
call fcn.00422dfd
push eax
lea ecx, [esp + 0x10]
push 0x43b60c
push ecx
mov byte [esp + 0x1ac], 0xe
call fcn.00423098
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1a4], 0xf
call fcn.00422ec8
lea ecx, [esp + 0xc]
mov byte [esp + 0x1a0], 0xe
call fcn.00422dd3
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a0], bl
call fcn.00422dd3
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x94]
push 0xa
push edx
push eax
call fcn.004159cb
add esp, 0xc
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x10]
call fcn.00422dfd
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x1a4], 0x10
call fcn.00422ec8
lea ecx, [esp + 0xc]
mov byte [esp + 0x1a0], bl
call fcn.00422dd3
push 0
lea ecx, [esp + 0x14]
call fcn.004231bf
push eax
push str.ProcessorType:_s_r_n
push esi
call fcn.00402b80
add esp, 0xc
lea ecx, [esp + 0x14]
push 0
call fcn.004231bf
push eax
push str.Architecture:_s_r_n
push esi
call fcn.00402b80
add esp, 0xc
lea ecx, [esp + 8]
push 0
call fcn.004231bf
push eax
push str.ProcessorLevel:_s_r_n
push esi
call fcn.00402b80
add esp, 0xc
lea ecx, [esp + 0x24]
mov byte [esp + 0x1a0], 6
call fcn.00422dd3
lea ecx, [esp + 0x28]
mov byte [esp + 0x1a0], 5
call fcn.00422dd3
lea ecx, [esp + 0x20]
mov byte [esp + 0x1a0], 4
call fcn.00422dd3
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1a0], 3
call fcn.00422dd3
lea ecx, [esp + 8]
mov byte [esp + 0x1a0], 2
call fcn.00422dd3
lea ecx, [esp + 0x14]
mov byte [esp + 0x1a0], 1
call fcn.00422dd3
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1a0], 0
call fcn.00422dd3
lea ecx, [esp + 0x10]
mov dword [esp + 0x1a0], 0xffffffff
call fcn.00422dd3
mov ecx, dword [esp + 0x198]
pop esi
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x19c
ret