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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd0
mov eax, dword [0x462544]
xor eax, ebp
mov dword [ebp - 0x30], eax
mov dword [ebp - 8], 0
push 0x9c
push 0
lea eax, [ebp - 0xd0]
push eax
call fcn.00409d80
add esp, 0xc
push 0x24
push 0
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00409d80
add esp, 0xc
push 4
push 0
mov edx, dword [ebp + 8]
add edx, 0x19c
push edx
call fcn.00409d80
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax + 0x1ac], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1b0], 0
mov edx, dword [ebp + 8]
mov dword [edx + 0x1b8], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x19c], 0
mov dword [ebp - 0xd0], 0x9c
lea ecx, [ebp - 0xd0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x43b7aa
mov dword [ebp - 0xd0], 0x94
lea edx, [ebp - 0xd0]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x43b7aa
jmp 0x43bafb
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x1ac], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x1b0], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + 0x1b4], edx
movzx eax, word [ebp - 0x3c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1b8], eax
push str.GetNativeSystemInfo
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x43b80d
lea edx, [ebp - 0x2c]
push edx
call dword [ebp - 4]
jmp 0x43b817
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [ebp - 0xc0], 2
jne 0x43bafb
cmp dword [ebp - 0xcc], 6
jne 0x43b84c
cmp dword [ebp - 0xc8], 1
jne 0x43b84c
movzx ecx, byte [ebp - 0x36]
cmp ecx, 1
jne 0x43b84c
mov edx, dword [ebp + 8]
mov dword [edx + 0x19c], 0xd
cmp dword [ebp - 0xcc], 6
jne 0x43b883
cmp dword [ebp - 0xc8], 0
jne 0x43b883
movzx eax, byte [ebp - 0x36]
cmp eax, 1
jne 0x43b876
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x19c], 9
jmp 0x43b883
mov edx, dword [ebp + 8]
mov dword [edx + 0x19c], 0xc
cmp dword [ebp - 0xcc], 5
jne 0x43b8de
cmp dword [ebp - 0xc8], 2
jne 0x43b8de
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x43b8b0
mov eax, dword [ebp + 8]
mov dword [eax + 0x19c], 6
jmp 0x43b8de
movzx ecx, byte [ebp - 0x36]
cmp ecx, 1
jne 0x43b8d1
movzx edx, word [ebp - 0x2c]
cmp edx, 9
jne 0x43b8d1
mov eax, dword [ebp + 8]
mov dword [eax + 0x19c], 8
jmp 0x43b8de
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x19c], 5
cmp dword [ebp - 0xcc], 5
jne 0x43b8fd
cmp dword [ebp - 0xc8], 1
jne 0x43b8fd
mov edx, dword [ebp + 8]
mov dword [edx + 0x19c], 7
cmp dword [ebp - 0xcc], 5
jne 0x43b91c
cmp dword [ebp - 0xc8], 0
jne 0x43b91c
mov eax, dword [ebp + 8]
mov dword [eax + 0x19c], 4
cmp dword [ebp - 0xcc], 4
ja 0x43b932
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x19c], 3
cmp dword [ebp - 8], 0
je 0x43bafb
movzx edx, byte [ebp - 0x36]
cmp edx, 1
jne 0x43b993
movzx eax, word [ebp - 0x2c]
cmp eax, 9
je 0x43b993
cmp dword [ebp - 0xcc], 4
jne 0x43b966
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1a0], 1
jmp 0x43b98e
movzx edx, word [ebp - 0x38]
and edx, 0x200
je 0x43b981
mov eax, dword [ebp + 8]
mov dword [eax + 0x1a0], 2
jmp 0x43b98e
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1a0], 3
jmp 0x43bafb
movzx edx, byte [ebp - 0x36]
cmp edx, 3
je 0x43b9a9
movzx eax, byte [ebp - 0x36]
cmp eax, 2
jne 0x43bafb
cmp dword [ebp - 0xcc], 5
jne 0x43baa9
cmp dword [ebp - 0xc8], 2
jne 0x43baa9
movzx ecx, word [ebp - 0x2c]
cmp ecx, 6
jne 0x43ba02
movzx edx, word [ebp - 0x38]
and edx, 0x80
je 0x43b9e7
mov eax, dword [ebp + 8]
mov dword [eax + 0x1a0], 4
jmp 0x43b9fd
movzx ecx, word [ebp - 0x38]
and ecx, 2
je 0x43b9fd
mov edx, dword [ebp + 8]
mov dword [edx + 0x1a0], 6
jmp 0x43baa7
movzx eax, word [ebp - 0x2c]
cmp eax, 9
jne 0x43ba4d
movzx ecx, word [ebp - 0x38]
and ecx, 0x80
je 0x43ba26
mov edx, dword [ebp + 8]
mov dword [edx + 0x1a0], 5
jmp 0x43ba4b
movzx eax, word [ebp - 0x38]
and eax, 2
je 0x43ba3e
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1a0], 7
jmp 0x43ba4b
mov edx, dword [ebp + 8]
mov dword [edx + 0x1a0], 0xc
jmp 0x43baa7
movzx eax, word [ebp - 0x38]
and eax, 0x80
je 0x43ba67
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1a0], 4
jmp 0x43baa7
movzx edx, word [ebp - 0x38]
and edx, 2
je 0x43ba7f
mov eax, dword [ebp + 8]
mov dword [eax + 0x1a0], 6
jmp 0x43baa7
movzx ecx, word [ebp - 0x38]
and ecx, 0x400
je 0x43ba9a
mov edx, dword [ebp + 8]
mov dword [edx + 0x1a0], 8
jmp 0x43baa7
mov eax, dword [ebp + 8]
mov dword [eax + 0x1a0], 0xb
jmp 0x43bafb
cmp dword [ebp - 0xcc], 5
jne 0x43bafb
cmp dword [ebp - 0xc8], 0
jne 0x43bafb
movzx ecx, word [ebp - 0x38]
and ecx, 0x80
je 0x43bad6
mov edx, dword [ebp + 8]
mov dword [edx + 0x1a0], 4
jmp 0x43bafb
movzx eax, word [ebp - 0x38]
and eax, 2
je 0x43baee
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1a0], 9
jmp 0x43bafb
mov edx, dword [ebp + 8]
mov dword [edx + 0x1a0], 0xa
mov ecx, dword [ebp - 0x30]
xor ecx, ebp
call fcn.00409d69
mov esp, ebp
pop ebp
ret