Function at 0x50b70f0
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x52249e4
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x53f3c3c]
xor eax, esp
mov dword [esp + 0xac], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f3c3c]
xor eax, esp
push eax
lea eax, [esp + 0xc4]
mov dword fs:[0], eax
mov edi, dword [esp + 0xd8]
mov ebp, dword [esp + 0xdc]
push 0x52c722a
push 1
push 0x28a9
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
mov dword [esp + 0x30], edi
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0xcc], 0
mov esi, dword [esp + 0xd4]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [esp + 0xe0]
mov eax, dword [eax + 8]
push ecx
push ebp
push edi
push 0x5263778
push str._s__:_param_0x_08X___buf_0x_08X___buf_len__lu_.
push eax
push ebx
call fcn.051ae2d0
or ebx, 0xffffffff
add esp, 0x1c
mov dword [esp + 0xcc], ebx
lea ecx, [esp + 0x24]
call fcn.051ae2c0
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
call fcn.05067ba0
test al, al
jne 0x50b7224
push str._ERROR:
push 0xff
push 0x28ac
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0xcc], 1
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push 0x5263778
push str._s__:_NVRAM_database_is_not_loaded_yet_
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0xcc], ebx
lea ecx, [esp + 0x24]
call fcn.051ae2c0
lea eax, [ebx + 0x24]
jmp 0x50b78e6
test ebp, ebp
je 0x50b7885
mov eax, dword [esp + 0xe0]
test eax, eax
jle 0x50b7885
test edi, edi
je 0x50b7885
push eax
push 0
push ebp
call sub.MSVCR90.dll_memset
add esp, 0xc
add edi, 0x90
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], 0
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
push ebx
push ecx
push edx
lea eax, [esp + 0x4c]
push str.audio_besloudness_bpf_coeffs__d___d___d_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx]
mov ecx, dword [esp + 0xf4]
push 0
push edx
push str.nvram_ef_audio_besloudness_struct
lea eax, [esp + 0x60]
push eax
push ecx
push ebp
push esi
call fcn.050a0c70
mov edi, eax
add esp, 0x30
test edi, edi
jne 0x50b74aa
add dword [esp + 0x3c], 4
inc ebx
cmp ebx, 3
jl 0x50b727b
mov eax, dword [esp + 0x38]
add dword [esp + 0x1c], 0xc
inc eax
cmp eax, 6
mov dword [esp + 0x38], eax
jl 0x50b7271
mov eax, dword [esp + 0x18]
add dword [esp + 0x14], 0x48
inc eax
cmp eax, 4
mov dword [esp + 0x18], eax
jl 0x50b7261
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x18]
push ebx
push ecx
lea edx, [esp + 0x48]
push str.audio_besloudness_hsf_coeffs__d___d_
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esp + 0xf0]
push 0
push ecx
push str.nvram_ef_audio_besloudness_struct
lea edx, [esp + 0x5c]
push edx
push eax
push ebp
push esi
call fcn.050a0c70
mov edi, eax
add esp, 0x2c
test edi, edi
jne 0x50b7515
add dword [esp + 0x14], 4
inc ebx
cmp ebx, 4
jl 0x50b7310
mov eax, dword [esp + 0x18]
add dword [esp + 0x1c], 0x10
inc eax
cmp eax, 9
mov dword [esp + 0x18], eax
jl 0x50b7306
push str.nvram_ef_audio_besloudness_struct
push str.audio_besloudness_WS_Gain_Max
push esi
call fcn.051a88a0
add esp, 0xc
test eax, eax
jne 0x50b77a7
mov ecx, dword [esp + 0x20]
add ecx, 0x1b0
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x18]
push ebx
push eax
lea ecx, [esp + 0x48]
push str.audio_besloudness_DRC_Forget_Table__d___d_
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
mov edx, dword [esp + 0xf0]
push 0
push eax
push str.nvram_ef_audio_besloudness_struct
lea ecx, [esp + 0x5c]
push ecx
push edx
push ebp
push esi
call fcn.050a0c70
mov edi, eax
add esp, 0x2c
test edi, edi
jne 0x50b7580
add dword [esp + 0x14], 4
inc ebx
cmp ebx, 2
jl 0x50b73aa
mov eax, dword [esp + 0x18]
add dword [esp + 0x1c], 8
inc eax
cmp eax, 9
mov dword [esp + 0x18], eax
jl 0x50b73a0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x1f8]
mov ebx, dword [esp + 0xe0]
push edi
push ecx
push str.nvram_ef_audio_besloudness_struct
push str.audio_besloudness_WS_Gain_Max
push ebx
push ebp
push esi
call fcn.050a0c70
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x50b75eb
push str._ERROR:
push 0xff
push 0x28e4
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0xcc], 6
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push 0x5263778
push str._s__:_FillMemberValueByNvramDb_r_meta_handle____fail___ret__d_.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov dword [esp + 0xcc], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.051ae2c0
mov eax, 8
jmp 0x50b78e6
push str._ERROR:
push 0xff
push 0x28c1
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0xcc], 3
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push 0x5263778
push str._s__:_FillMemberValueByNvramDb_r_meta_handle____fail___ret__d_.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov dword [esp + 0xcc], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.051ae2c0
mov eax, 8
jmp 0x50b78e6
push str._ERROR:
push 0xff
push 0x28ce
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0xcc], 4
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push 0x5263778
push str._s__:_FillMemberValueByNvramDb_r_meta_handle____fail___ret__d_.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov dword [esp + 0xcc], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.051ae2c0
mov eax, 8
jmp 0x50b78e6
push str._ERROR:
push 0xff
push 0x28dd
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0xcc], 5
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push 0x5263778
push str._s__:_FillMemberValueByNvramDb_r_meta_handle____fail___ret__d_.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov dword [esp + 0xcc], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.051ae2c0
mov eax, 8
jmp 0x50b78e6
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x1fc]
push 0
push eax
push str.nvram_ef_audio_besloudness_struct
push str.audio_besloudness_WS_Gain_Min
push ebx
push ebp
push esi
call fcn.050a0c70
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x50b767e
push str._ERROR:
push 0xff
push 0x28e9
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0xcc], 7
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push 0x5263778
push str._s__:_FillMemberValueByNvramDb_r_meta_handle____fail___ret__d_.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov dword [esp + 0xcc], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.051ae2c0
mov eax, 8
jmp 0x50b78e6
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x200]
push 0
push edx
push str.nvram_ef_audio_besloudness_struct
push str.audio_besloudness_Filter_First
push ebx
push ebp
push esi
call fcn.050a0c70
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x50b7711
push str._ERROR:
push 0xff
push 0x28ee
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0xcc], 8
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push 0x5263778
push str._s__:_FillMemberValueByNvramDb_r_meta_handle____fail___ret__d_.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov dword [esp + 0xcc], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.051ae2c0
mov eax, 8
jmp 0x50b78e6
xor edi, edi
push edi
lea eax, [esp + 0x44]
push str.audio_besloudness_Gain_Map_In__d_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [ecx + edi + 0x204]
push 0
push edx
push str.nvram_ef_audio_besloudness_struct
lea eax, [esp + 0x58]
push eax
push ebx
push ebp
push esi
call fcn.050a0eb0
add esp, 0x28
mov dword [esp + 0x14], eax
test eax, eax
jne 0x50b780b
inc edi
cmp edi, 5
jl 0x50b7713
xor edi, edi
lea esp, [esp]
push edi
lea edx, [esp + 0x44]
push str.audio_besloudness_Gain_Map_Out__d_
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov eax, dword [esp + 0x2c]
movzx ecx, byte [eax + edi + 0x209]
push 0
push ecx
push str.nvram_ef_audio_besloudness_struct
lea edx, [esp + 0x58]
push edx
push ebx
push ebp
push esi
call fcn.050a0eb0
add esp, 0x28
mov dword [esp + 0x14], eax
test eax, eax
jne 0x50b7859
inc edi
cmp edi, 5
jl 0x50b7760
push 0x52c722a
push 1
push 0x2904
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0xcc], 0xb
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push 0x5263778
push str._s__:_OK.
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0xcc], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.051ae2c0
xor eax, eax
jmp 0x50b78e6
push str._ERROR:
push 0xff
push 0x28f6
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0xcc], 9
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 8]
push ecx
push 0x5263778
push str._s__:_FillMemberValueByNvramDb_r_meta_handle____fail___ret__d_.
push eax
push edi
jmp 0x50b74ef
push str._ERROR:
push 0xff
push 0x28ff
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0xcc], 0xa
jmp 0x50b7835
push str._ERROR:
push 0xff
push 0x28b1
push str..META_nvram.cpp
lea ecx, [esp + 0x34]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0xcc], 2
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push 0x5263778
push str._s__:_invalid_arguments_
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0xcc], ebx
lea ecx, [esp + 0x24]
call fcn.051ae2c0
mov eax, 0xa
mov ecx, dword [esp + 0xc4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xac]
xor ecx, esp
call fcn.0520b902
add esp, 0xbc
ret 0x10