Function at 0x50a1450
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x52238a8
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f3c3c]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov esi, dword [esp + 0x80]
push esi
mov ecx, 0x53f4cc8
mov dword [esp + 0x1c], 6
call fcn.05065960
mov ebx, dword [esp + 0x88]
movzx edi, word [esp + 0x84]
push ebx
lea ecx, [eax + 0xa800]
mov eax, dword [ecx]
mov eax, dword [eax]
push 0
push edi
lea edx, [esp + 0x64]
push edx
call eax
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x44], edx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
test ecx, ecx
jne 0x50a14f5
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
test ebp, ebp
jne 0x50a1568
push str._ERROR:
push 0xff
push 0x131
push str..META_nvram.cpp
lea ecx, [esp + 0x3c]
call fcn.051ae270
mov ebp, eax
mov dword [esp + 0x78], 0
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [str.NO_TYPE]
mov ecx, dword [eax + 8]
push 0
push 0
push edx
push edi
push edi
mov dword [esp + 0x98], ecx
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x94]
push eax
movsx eax, bx
push eax
push esi
push str.__d__NVRAM_Read_Cnf_token_d_:__s__d____s__d_:_cnf_is_NULL_._cnf_0x_08X_.
push ecx
push ebp
call fcn.051ae2d0
add esp, 0x28
jmp 0x50a19c9
cmp dword [ebp + 0xc], 0
je 0x50a1953
cmp dword [ebp + 8], 0
jbe 0x50a1953
push ebp
push edi
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x90]
push eax
movzx eax, word [esp + 0x98]
push str.file_idx
push eax
push edx
push esi
call fcn.05019e50
add esp, 0x18
lea eax, [ebp + 2]
push eax
push edi
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x90]
push eax
movzx eax, word [esp + 0x98]
push str.para
push eax
push ecx
push esi
call fcn.05019e50
add esp, 0x18
lea eax, [ebp + 4]
push eax
push edi
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x90]
push eax
movzx eax, word [esp + 0x98]
push str.status
push eax
push edx
push esi
call fcn.05019e10
add esp, 0x18
cmp byte [ebp + 4], 0
je 0x50a1676
push str._ERROR:
push 0xff
push 0x144
push str..META_nvram.cpp
lea ecx, [esp + 0x3c]
call fcn.051ae270
mov dword [esp + 0x84], eax
mov dword [esp + 0x78], 2
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movzx ecx, byte [ebp + 4]
mov eax, dword [eax + 8]
push ecx
movsx edx, bx
push edx
push esi
push str.__d__NVRAM_Read_Cnf_token_d_:_status__d_
push eax
mov eax, dword [esp + 0x98]
push eax
call fcn.051ae2d0
add esp, 0x18
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.051ae2c0
movzx ecx, byte [ebp + 4]
push ecx
push esi
call fcn.0509a350
add esp, 8
push esi
call fcn.051a87a0
add esp, 4
cmp dword [esp + 0x94], 0
mov dword [esp + 0x84], eax
je 0x50a1817
mov cx, word [esp + 0x98]
xor edx, edx
cmp dx, cx
jae 0x50a1817
movzx edx, cx
mov dword [esp + 0x1c], edx
cmp edx, eax
jb 0x50a1817
mov ecx, dword [ebp + 8]
sub edx, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], edx
cmp edx, ecx
jbe 0x50a1766
push str._WARNING:
push 0xd2
push 0x15a
push str..META_nvram.cpp
lea ecx, [esp + 0x3c]
call fcn.051ae270
mov dword [esp + 0x24], eax
mov dword [esp + 0x78], 4
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebp + 8]
push edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
push eax
mov eax, dword [str.NO_TYPE]
push ecx
push edx
push 0
push eax
push edi
push edi
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x48]
movsx ecx, bx
push ecx
push esi
push str.__d__NVRAM_Read_Cnf_token_d_:__s__d____s__d_:_cnf__buf_0x_08X__is_too_small__truncate_it__cnf__len__u___peer_data__u_peer_len__u__peer_header__u_.
push edx
push eax
call fcn.051ae2d0
add esp, 0x38
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.051ae2c0
mov eax, dword [esp + 0x84]
jmp 0x50a1769
mov dword [ebp + 8], edx
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x94]
push ecx
add eax, edx
push eax
mov eax, dword [ebp + 0xc]
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
push 0x52c722a
push 1
push 0x162
push str..META_nvram.cpp
lea ecx, [esp + 0x3c]
call fcn.051ae270
mov dword [esp + 0x24], eax
mov dword [esp + 0x78], 5
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [eax + 8]
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x28]
push eax
push eax
mov eax, dword [ebp + 0xc]
push edx
mov edx, dword [str.NO_TYPE]
push eax
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x24]
push ecx
push 0
push edx
push edi
push edi
movsx ebx, bx
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0xa8]
push ebx
push esi
push str.__d__NVRAM_Read_Cnf_token_d_:__s__d____s__d_:_copy_peer_data__u______cnf__buf_0x_08X___u____u_bytes_copied__set_cnf__len_to__u.
push eax
push ecx
call fcn.051ae2d0
add esp, 0x38
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.051ae2c0
jmp 0x50a18b7
push str._ERROR:
push 0xff
push 0x14f
push str..META_nvram.cpp
lea ecx, [esp + 0x3c]
mov dword [ebp + 8], 0
call fcn.051ae270
mov dword [esp + 0x24], eax
mov dword [esp + 0x78], 3
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [eax + 8]
movzx eax, word [esp + 0x98]
mov ecx, dword [esp + 0x84]
push eax
mov eax, dword [str.NO_TYPE]
push ecx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x9c]
push edx
push 0
push eax
push edi
push edi
movsx ebx, bx
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
push eax
push ebx
push esi
push str.__d__NVRAM_Read_Cnf_token_d_:__s__d____s__d_:_peer_buf_0x_08X___peer_header__d___peer_len__u_.
push ecx
push edx
call fcn.051ae2d0
add esp, 0x30
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.051ae2c0
mov dword [esp + 0x18], 5
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x88]
push eax
push ecx
push ebp
call dword [esp + 0x54]
push 0x52c722a
push 1
push 0x168
push str..META_nvram.cpp
lea ecx, [esp + 0x3c]
call fcn.051ae270
mov ebp, eax
mov dword [esp + 0x78], 6
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [eax + 8]
mov eax, dword [str.NO_TYPE]
push 0
push eax
push edi
push edi
mov dword [esp + 0x94], edx
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x90]
push eax
push ebx
push esi
push str.__d__NVRAM_Read_Cnf_token_d_:__s__d____s__d_:_callback_OK.
push ecx
push ebp
call fcn.051ae2d0
add esp, 0x24
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.051ae2c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
push str._ERROR:
push 0xff
push 0x136
push str..META_nvram.cpp
lea ecx, [esp + 0x3c]
call fcn.051ae270
mov dword [esp + 0x28], eax
mov dword [esp + 0x78], 1
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [eax + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push 0
mov dword [esp + 0x90], edx
mov edx, dword [str.NO_TYPE]
push edx
push edi
push edi
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x3c]
push eax
movsx eax, bx
push eax
push esi
push str.__d__NVRAM_Read_Cnf_token_d_:__s__d____s__d_:_cnf__buf_0x_08X___cnf__len__u_.
push ecx
push edx
call fcn.051ae2d0
add esp, 0x2c
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.051ae2c0
mov eax, 4
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret