Function at 0x43f250
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x5458e2
push eax
mov eax, 0x24f8
mov dword fs:[0], esp
call fcn.00540a20
push ebx
push ebp
push esi
mov ebx, ecx
xor esi, esi
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], 0x556d3c
mov dword [esp + 0x14], esi
mov eax, dword [ebx + 0x18c]
mov dword [esp + 0x2510], esi
push eax
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x5c], 0x80b6
mov dword [esp + 0x60], 0x80aa
mov dword [esp + 0x64], 0x80a8
mov dword [esp + 0x68], 0x80ac
mov dword [esp + 0x6c], 0x80a6
mov dword [esp + 0x70], 0x80a7
mov dword [esp + 0x74], 0x80ae
mov dword [esp + 0x78], 0x80ab
mov dword [esp + 0x7c], 0x80ad
mov dword [esp + 0x80], 0x80a9
mov dword [esp + 0x84], 0x80d7
mov dword [esp + 0x88], esi
mov dword [esp + 0x40], 0x80d6
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], 0x80b2
mov dword [esp + 0x54], 0x80b3
mov dword [esp + 0x58], esi
mov dword [esp + 0x48], 0x80d2
mov dword [esp + 0x4c], esi
mov dword [esp + 0x38], 0x80d1
mov dword [esp + 0x3c], esi
mov dword [esp + 0x8c], 0x8027
mov dword [esp + 0x90], 0x8029
mov dword [esp + 0x94], 0x8037
mov dword [esp + 0x98], 0x802a
mov dword [esp + 0x9c], 0x802b
mov dword [esp + 0xa0], 0x802c
mov dword [esp + 0xa4], 0x802d
mov dword [esp + 0xa8], 0x802e
mov dword [esp + 0xac], 0x802f
mov dword [esp + 0xb0], 0x8030
mov dword [esp + 0xb4], 0x8031
mov dword [esp + 0xb8], 0x8032
mov dword [esp + 0xbc], 0x8033
mov dword [esp + 0xc0], 0x8034
mov dword [esp + 0xc4], 0x8035
mov dword [esp + 0xc8], 0x8036
mov dword [esp + 0xcc], 0x805c
mov dword [esp + 0xd0], 0x805d
mov dword [esp + 0xd4], 0x805e
mov dword [esp + 0xd8], 0x805f
mov dword [esp + 0xdc], 0x8060
mov dword [esp + 0xe0], 0x8061
mov dword [esp + 0xe4], 0x8062
mov dword [esp + 0xe8], 0x8063
mov dword [esp + 0xec], 0x8064
mov dword [esp + 0xf0], 0x8069
mov dword [esp + 0xf4], 0x8065
mov dword [esp + 0xf8], 0x8066
mov dword [esp + 0xfc], 0x8067
mov dword [esp + 0x100], 0x8068
call fcn.0042b330
mov ecx, dword [ebx + 0x18c]
mov dword [esp + 0x24], eax
push ecx
mov ecx, ebx
call fcn.00432720
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x43f4b7
mov edi, eax
mov ecx, edi
call fcn.004e6e80
mov ecx, edi
mov esi, eax
call fcn.004e6e90
mov edi, eax
push 0x81
push 4
push 0x81
call fcn.0054010a
push eax
call dword [0x553d18]
push eax
lea ecx, [esp + 0x14]
call fcn.0054029c
cmp esi, 1
jge 0x43f4f0
mov edx, dword [esp + 0x14]
push 0
push 0x801d
push edx
call dword [0x553d20]
cmp esi, 2
jge 0x43f507
mov eax, dword [esp + 0x14]
push 0
push 0x801e
push eax
call dword [0x553d20]
cmp esi, 3
jge 0x43f51e
mov ecx, dword [esp + 0x14]
push 0
push 0x801f
push ecx
call dword [0x553d20]
cmp edi, 1
jge 0x43f545
mov edx, dword [esp + 0x14]
mov esi, dword [0x553d20]
push 0
push 0x811c
push edx
call esi
mov eax, dword [esp + 0x14]
push 0
push 0x811d
push eax
call esi
cmp edi, 2
jge 0x43f55c
mov ecx, dword [esp + 0x14]
push 0
push 0x811e
push ecx
call dword [0x553d20]
cmp edi, 3
jge 0x43f573
mov edx, dword [esp + 0x14]
push 0
push 0x811f
push edx
call dword [0x553d20]
cmp edi, 4
jge 0x43f58a
mov eax, dword [esp + 0x14]
push 0
push 0x8120
push eax
call dword [0x553d20]
cmp edi, 5
jge 0x43f5a1
mov ecx, dword [esp + 0x14]
push 0
push 0x8121
push ecx
call dword [0x553d20]
test edi, edi
jg 0x43f5b9
mov edx, dword [esp + 0x14]
push 0
push 0x8020
push edx
call dword [0x553d20]
jmp case.default.0x43f5c5
mov eax, dword [ebx + 0x204]
inc eax
cmp eax, 5
ja case.default.0x43f5c5
jmp dword [eax*4 + 0x43fc3c]
mov eax, dword [esp + 0x14]
push 8
push 0x811c
push eax
jmp 0x43f619
mov ecx, dword [esp + 0x14]
push 8
push 0x811d
push ecx
jmp 0x43f619
push 8
push 0x811e
jmp 0x43f614
mov eax, dword [esp + 0x14]
push 8
push 0x811f
push eax
jmp 0x43f619
mov ecx, dword [esp + 0x14]
push 8
push 0x8120
push ecx
jmp 0x43f619
push 8
push 0x8121
mov edx, dword [esp + 0x1c]
push edx
call dword [0x553cd8]
mov ecx, dword [ebx + 0x200]
test ecx, ecx
je 0x43f6d7
call fcn.00452d60
mov ebp, eax
cmp ebp, 0x1e
jle 0x43f640
mov ebp, 0x1e
jmp 0x43f646
test ebp, ebp
jge 0x43f646
xor ebp, ebp
xor edi, edi
test ebp, ebp
jle 0x43f6d2
lea ebx, [esp + 0x88]
mov eax, dword [esp + 0x20]
push edi
mov ecx, dword [eax + 0x200]
call fcn.004df390
mov esi, eax
push 0
mov ecx, esi
call fcn.004ddf50
test eax, eax
je 0x43f6ab
lea ecx, [esp + 0x28]
lea edx, [esp + 0x1c]
push ecx
push edx
push 0x581abc
push eax
call dword [0x553b08]
mov eax, dword [esp + 0x38]
add esp, 0x10
cmp eax, 0xffffffff
jl 0x43f6a4
test eax, eax
jne 0x43f6ab
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x43f6ab
dec edi
sub ebx, 4
dec ebp
jmp 0x43f6c6
push 0
mov ecx, esi
call fcn.004ddd90
mov ecx, dword [ebx]
push eax
mov eax, dword [esp + 0x18]
push ecx
push 0
push ecx
push eax
call dword [0x553d04]
inc edi
add ebx, 4
cmp edi, ebp
jl 0x43f657
mov ebx, dword [esp + 0x20]
cmp ebp, 0x1e
jge 0x43f700
cmp ebp, 0x1e
jge 0x43f700
mov edi, 0x1e
lea esi, [esp + ebp*4 + 0x88]
sub edi, ebp
mov eax, dword [esi]
mov ecx, dword [esp + 0x14]
push 0
push eax
push ecx
call dword [0x553d20]
add esi, 4
dec edi
jne 0x43f6ea
mov edx, dword [ebx + 0x60]
mov eax, dword [edx + 0x858]
test eax, eax
je 0x43f723
mov eax, dword [esp + 0x14]
mov esi, dword [0x553cd8]
push 8
push 0x8021
push eax
call esi
jmp 0x43f729
mov esi, dword [0x553cd8]
mov ecx, dword [ebx + 0x60]
add ecx, 0x464
call fcn.0054043a
mov ecx, dword [ebx + 0x60]
shr eax, 0x1c
and eax, 1
mov dword [ecx + 0x84c], eax
mov edx, dword [ebx + 0x60]
mov eax, dword [edx + 0x84c]
test eax, eax
je 0x43f761
mov eax, dword [esp + 0x14]
push 8
push 0x8039
push eax
call esi
mov eax, dword [ebx + 0x274]
test eax, eax
je 0x43f779
mov ecx, dword [esp + 0x14]
push 8
push 0x8057
push ecx
call esi
mov eax, dword [ebx + 0x278]
test eax, eax
je 0x43f791
mov edx, dword [esp + 0x14]
push 8
push 0x8058
push edx
call esi
mov eax, dword [0x5d9748]
mov edi, dword [0x553d1c]
test ah, 0x20
je 0x43f7b3
mov eax, dword [0x5d94e8]
test eax, eax
jne 0x43f7b3
mov eax, dword [0x5d94f4]
test eax, eax
je 0x43f7fd
mov eax, dword [esp + 0x14]
push 3
push 0x801a
push eax
call edi
mov ecx, dword [esp + 0x14]
push 3
push 0x801b
push ecx
call edi
mov edx, dword [esp + 0x14]
push 3
push 0x8038
push edx
call edi
mov eax, dword [0x5d94e8]
test eax, eax
jne 0x43f7ef
mov eax, dword [0x5d94f4]
test eax, eax
je 0x43f7fd
mov eax, dword [esp + 0x14]
push 3
push 0x8091
push eax
call edi
mov ecx, 0x5d9260
call fcn.00467dc0
test eax, eax
je 0x43f828
mov ecx, 0x5d9260
call fcn.00467dc0
cmp eax, 1
je 0x43f828
mov ecx, dword [esp + 0x14]
push 3
push 0x8091
push ecx
call edi
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x43f847
call fcn.004e6000
test al, al
je 0x43f847
mov edx, dword [esp + 0x14]
push 8
push 0x8094
push edx
call esi
mov eax, dword [ebx + 0xa88]
test eax, eax
jne 0x43f85f
mov eax, dword [esp + 0x14]
push 3
push 0x8104
push eax
call edi
mov ecx, dword [ebx + 0x64]
mov eax, dword [ecx + 0x98]
test eax, eax
jne 0x43f87a
mov edx, dword [esp + 0x14]
push 3
push 0x80fe
push edx
call edi
mov eax, dword [ebx + 0x64]
mov ecx, dword [eax + 0x9c]
test ecx, ecx
jne 0x43f895
mov ecx, dword [esp + 0x14]
push 3
push 0x8100
push ecx
call edi
mov eax, dword [ebx + 0x60]
mov ecx, dword [eax + 0xf4]
test ecx, ecx
je 0x43f8b7
mov eax, dword [eax + 0xfc]
cmp eax, 1
je 0x43f8c5
cmp eax, 2
je 0x43f8c5
cmp eax, 0x20
je 0x43f8c5
mov edx, dword [esp + 0x14]
push 3
push 0x8091
push edx
call edi
mov esi, dword [esp + 0x30]
test esi, esi
je 0x43fb5c
mov ecx, esi
mov byte [esp + 0x1b], 0
call fcn.004e1480
mov ebp, eax
lea eax, [ebp - 1]
cmp eax, 8
ja case.0x43f8e7.5
jmp dword [eax*4 + 0x43fc54]
mov ecx, dword [esp + 0x24]
call fcn.004e6e70
cmp eax, 0xa
jl case.0x43f8e7.5
mov byte [esp + 0x1b], 1
jmp case.0x43f8e7.5
mov ecx, esi
call fcn.004facb0
cmp eax, 0xa
jl case.0x43f8e7.5
mov byte [esp + 0x1b], 1
jmp case.0x43f8e7.5
mov eax, 0x80d1
lea esi, [esp + 0x34]
push 0
push eax
mov eax, dword [esp + 0x1c]
push eax
call dword [0x553d20]
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x43f91f
cmp ebp, 3
je 0x43f95d
mov eax, 0x80b6
lea esi, [esp + 0x58]
mov ecx, dword [esp + 0x14]
push 0
push eax
push ecx
call dword [0x553d20]
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x43f945
cmp ebp, 4
je 0x43f983
mov eax, 0x80d6
lea esi, [esp + 0x3c]
mov edx, dword [esp + 0x14]
push 0
push eax
push edx
call dword [0x553d20]
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x43f96b
cmp ebp, 1
je 0x43f9a9
mov eax, 0x80b2
lea esi, [esp + 0x4c]
push 0
push eax
mov eax, dword [esp + 0x1c]
push eax
call dword [0x553d20]
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x43f991
test ebp, ebp
je 0x43f9f1
cmp ebp, 7
je 0x43f9f1
cmp ebp, 8
je 0x43f9f1
mov ebx, dword [0x553d20]
mov eax, 0x80d2
lea esi, [esp + 0x44]
mov ecx, dword [esp + 0x14]
push 0
push eax
push ecx
call ebx
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x43f9c6
cmp ebp, 1
je 0x43f9f1
cmp ebp, 2
je 0x43f9f1
mov edx, dword [esp + 0x14]
push eax
push 0x80da
push edx
call ebx
mov al, byte [esp + 0x1b]
test al, al
je 0x43fa08
mov eax, dword [0x5d9748]
test ah, 2
je 0x43fa08
test ah, 1
jne 0x43fa16
mov eax, dword [esp + 0x14]
push 3
push 0x8092
push eax
call edi
mov ecx, dword [esp + 0x14]
push 3
push 0x80e3
push ecx
call edi
mov edx, dword [esp + 0x14]
push 3
push 0x80b2
push edx
call edi
mov eax, dword [esp + 0x14]
push 3
push 0x80b3
push eax
call edi
push str.Advanced3D
push 0x57f0a0
lea ecx, [esp + 0x108]
call fcn.0049ebf0
push str.Advanced_3D
push str.3D_Description
lea ecx, [esp + 0x108]
mov byte [esp + 0x2518], 1
call fcn.0049f040
push eax
lea ecx, [esp + 0x2c]
call fcn.0053ffba
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push ecx
push 0x8119
push 0
push 0x8119
push edx
mov byte [esp + 0x2524], 2
call dword [0x553d04]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x1c]
push eax
call fcn.00447c30
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2510], 3
call fcn.00540410
lea ecx, [esp + 0x30]
push 8
push ecx
lea ecx, [esp + 0x24]
call fcn.0053ffd2
mov eax, dword [eax]
push str.MIFUSION
push eax
call dword [0x553af0]
add esp, 8
lea ecx, [esp + 0x30]
test eax, eax
sete bl
call fcn.0053feb8
test bl, bl
je 0x43fb02
mov edx, dword [esp + 0x14]
push 0
push 0x8119
push edx
jmp 0x43fb20
mov al, byte [esp + 0x1b]
test al, al
je 0x43fb14
mov eax, dword [0x5d9748]
test ah, 4
jne 0x43fb22
mov eax, dword [esp + 0x14]
push 3
push 0x8119
push eax
call edi
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2510], 2
call fcn.0053feb8
lea ecx, [esp + 0x28]
mov byte [esp + 0x2510], 1
call fcn.0053feb8
lea ecx, [esp + 0x100]
mov byte [esp + 0x2510], 0
call fcn.0049ecc0
mov ebx, dword [esp + 0x20]
push str.Hide_saved_measurements
lea ecx, [esp + 0x30]
call fcn.0053ffba
mov ecx, dword [ebx + 0x64]
mov byte [esp + 0x2510], 4
mov eax, dword [ecx + 0xc8]
test eax, eax
je 0x43fb8d
push str.Show_saved_measurements
lea ecx, [esp + 0x30]
call fcn.0053fed6
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
push edx
push 0x8132
push 0
push 0x8132
push eax
call dword [0x553d04]
mov ecx, dword [ebx + 0x64]
mov eax, dword [ecx + 0x118]
test eax, eax
jne 0x43fbc4
mov edx, dword [esp + 0x14]
push 3
push 0x8132
push edx
call edi
mov eax, dword [esp + 0x14]
push 0
push eax
call dword [0x553d28]
push eax
call fcn.00540296
mov ecx, dword [esp + 0x251c]
mov edx, dword [esp + 0x2518]
push 0
push ebx
push ecx
push edx
push 2
mov ecx, eax
call fcn.00540290
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2510], 0
call fcn.0053feb8
mov dword [esp + 0x10], 0x556d3c
lea ecx, [esp + 0x10]
mov dword [esp + 0x2510], 5
call fcn.0054028a
mov ecx, dword [esp + 0x2508]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2504
ret 8