Function at 0x416836
Capabilities:
Get system information on windows

Disassembly:
push 0x10c
mov eax, 0x440f8b
call fcn.0042dbe5
xor ebx, ebx
mov esi, ecx
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x18], 0xf
call fcn.00408384
mov dword [ebp - 4], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
push 9
pop ecx
xor eax, eax
mov byte [ebp - 4], 1
lea edi, [ebp - 0x80]
rep stosd dword es:[edi], eax
mov ecx, 0x406254
mov byte [ebp - 0x31], bl
call fcn.0042557b
mov edi, eax
cmp edi, ebx
je 0x4168b8
push 0x406264
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x4168ac
lea ecx, [ebp - 0x80]
push ecx
call eax
mov byte [ebp - 0x31], 1
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x31], bl
jne 0x4168c2
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
movzx eax, word [ebp - 0x80]
sub eax, ebx
je 0x416907
dec eax
je 0x416900
dec eax
je 0x4168f9
dec eax
je 0x4168f2
sub eax, 3
je 0x4168eb
sub eax, 3
je 0x4168e4
mov eax, 0x405644
jmp 0x41690c
mov eax, 0x40563c
jmp 0x41690c
mov eax, 0x405634
jmp 0x41690c
mov eax, 0x405630
jmp 0x41690c
mov eax, 0x405628
jmp 0x41690c
mov eax, 0x405620
jmp 0x41690c
mov eax, 0x405618
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.00418d94
mov edi, eax
push 0x404128
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.00408751
push edi
push eax
lea eax, [ebp - 0x118]
push eax
mov byte [ebp - 4], 3
call fcn.004170d0
push eax
lea edi, [ebp - 0x8c]
mov ebx, esi
mov byte [ebp - 4], 4
call fcn.00416d9a
lea edi, [ebp - 0xfc]
call fcn.0040a540
push 0
push 1
lea ecx, [ebp - 0x118]
call fcn.00408339
push 0
push 1
lea ecx, [ebp - 0x78]
call fcn.00408339
lea edi, [ebp - 0xc4]
mov byte [ebp - 4], 1
call fcn.0040a540
lea ebx, [ebp - 0x48]
lea edi, [ebp - 0x38]
call fcn.00423a29
test al, al
mov byte [ebp - 0x3d], al
je 0x41699d
mov byte [ebp - 0x31], 1
jmp 0x4169a5
call fcn.00423b26
mov byte [ebp - 0x31], al
lea edi, [ebp - 0x44]
call fcn.00423a8a
test al, al
lea eax, [ebp - 0x38]
lea esi, [ebp - 0x5c]
push eax
je 0x4169f0
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x38], edi
call fcn.0040b028
cmp dword [ebp - 0x48], 0xffffffff
je 0x4169d6
push dword [ebp - 0x44]
mov eax, esi
push dword [ebp - 0x48]
call fcn.0040d6e4
push dword [ebp - 0x44]
lea eax, [ebp - 0x30]
push dword [ebp - 0x48]
push edi
push 0x40564c
push eax
call fcn.0042430a
add esp, 0x14
jmp 0x416a25
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x38], ebx
call fcn.0040b028
cmp edi, 0xffffffff
je 0x416a12
lea eax, [ebp - 0x44]
push eax
lea esi, [ebp - 0x5c]
call fcn.0040b028
push edi
push ebx
lea eax, [ebp - 0x30]
push 0x405658
push eax
call fcn.0042430a
add esp, 0x10
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.00418cf6
cmp byte [ebp - 0x3d], 0
mov esi, eax
je 0x416aa6
push 0x405660
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.00408751
push esi
push eax
lea eax, [ebp - 0x118]
push eax
mov byte [ebp - 4], 6
call fcn.004170d0
mov ebx, dword [ebp - 0x4c]
push eax
lea edi, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00416d9a
lea edi, [ebp - 0xfc]
call fcn.0040a540
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x118]
call fcn.00408339
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00408339
lea edi, [ebp - 0xc4]
call fcn.0040a540
jmp 0x416b0f
push 0x40566c
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 8
call fcn.00408751
push esi
push eax
lea eax, [ebp - 0x118]
push eax
mov byte [ebp - 4], 9
call fcn.004170d0
mov ebx, dword [ebp - 0x4c]
push eax
lea edi, [ebp - 0x8c]
mov byte [ebp - 4], 0xa
call fcn.00416d9a
lea edi, [ebp - 0xfc]
call fcn.0040a540
push 0
push 1
lea ecx, [ebp - 0x118]
call fcn.00408339
push 0
push 1
lea ecx, [ebp - 0x78]
call fcn.00408339
lea edi, [ebp - 0xc4]
call fcn.0040a540
xor ebx, ebx
lea esi, [ebp - 0xc0]
call fcn.00408db8
mov al, byte [ebp - 0x31]
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0xc4], 3
mov byte [ebp - 0xa0], al
push 0x405678
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xc
call fcn.00408751
lea ecx, [ebp - 0xc4]
push ecx
push eax
lea eax, [ebp - 0x118]
push eax
mov byte [ebp - 4], 0xd
call fcn.004170d0
mov esi, dword [ebp - 0x4c]
push eax
lea edi, [ebp - 0x8c]
mov ebx, esi
mov byte [ebp - 4], 0xe
call fcn.00416d9a
lea edi, [ebp - 0xfc]
call fcn.0040a540
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x118]
call fcn.00408339
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.00408339
lea edi, [ebp - 0xc4]
mov byte [ebp - 4], 1
call fcn.0040a540
mov eax, dword [0x449634]
cmp dword [eax], 0xffffffff
je 0x416c48
push 0x405684
call fcn.004086a5
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], esi
cmp dword [ebp - 0x3c], ebx
mov edi, dword [esi + 4]
je 0x416be2
cmp dword [ebp - 0x3c], esi
je 0x416be7
call fcn.0042b0a4
cmp dword [ebp - 0x38], edi
je 0x416c48
lea esi, [ebp - 0x3c]
call fcn.004132a4
cmp dword [eax + 0x18], 0x10
jb 0x416bff
mov eax, dword [eax + 4]
jmp 0x416c02
add eax, 4
mov edi, dword [0x449634]
push eax
push 0x4056ac
call fcn.00418c96
pop ecx
pop ecx
lea esi, [ebp - 0x3c]
call fcn.004132a4
mov edi, dword [0x449634]
add eax, 0x1c
mov ecx, eax
mov esi, edi
call fcn.00418a47
push 0x403de8
mov eax, esi
call fcn.004086c7
lea esi, [ebp - 0x3c]
call fcn.00417103
mov esi, dword [ebp - 0x4c]
jmp 0x416bd5
lea esi, [ebp - 0x5c]
call fcn.00420b6d
push ebx
push 1
lea ecx, [ebp - 0x30]
call fcn.00408339
call fcn.0042dc68
ret