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

Disassembly:
push 0xffffffffffffffff
push 0x522d32d
mov eax, dword fs:[0]
push eax
sub esp, 0xa28
mov eax, dword [0x53f3c3c]
xor eax, esp
mov dword [esp + 0xa24], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f3c3c]
xor eax, esp
push eax
lea eax, [esp + 0xa3c]
mov dword fs:[0], eax
mov esi, dword [esp + 0xa4c]
mov edi, dword [esp + 0xa54]
mov ebp, dword [esp + 0xa58]
mov ebx, dword [esp + 0xa5c]
push esi
mov ecx, 0x53f4cc8
mov dword [esp + 0x1c], 0
call fcn.050674e0
test al, al
jne 0x5151fd0
push str._ERROR:
push 0xff
push 0x2cc
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x9b0]
call fcn.051ae270
mov dword [esp + 0xa44], 0
mov ecx, dword [0x56bc0f0]
push esi
push str.__d__META_MiscCmd_InternalGeneralFunction_r__:_invalid_handle_
push ecx
push eax
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0xa44], 0xffffffff
lea ecx, [esp + 0x9a0]
call fcn.051ae2c0
mov eax, 0xd
jmp 0x515381b
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov dword [esp + 0xa44], 1
movzx eax, byte [esp + 0xa60]
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], eax
cmp eax, 0x25
ja case.0x515200e.2
mov edx, eax
movzx eax, byte [edx + 0x5153860]
jmp dword [eax*4 + 0x5153848]
test ebp, ebp
jne case.0x515200e.2
push str._ERROR:
push 0xff
push 0x2e8
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x9b0]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 2
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebp
push ebx
push esi
push str.__d___s__:_invalid_arguments____cnf_arg_0x_08X_.
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x9a0]
call fcn.051ae2c0
mov dword [esp + 0xa44], 0xffffffff
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, 0xa
jmp 0x515381b
test ebp, ebp
je 0x51522c8
test edi, edi
je 0x51522c8
lea ecx, [esp + 0xf0]
push ecx
push edi
call fcn.051a8a10
add esp, 8
test eax, eax
je 0x5152124
push str._ERROR:
push 0xff
push 0x2fb
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0xd8]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 4
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push esi
push str.__d___s__:_ConvertMultiByteStrToWideCharStr__:_failed_
push eax
push edi
call fcn.051ae2d0
add esp, 0x14
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0xc8]
call fcn.051ae2c0
jmp 0x51537fe
mov edx, dword [esp + 0x104]
lea eax, [edx + edx + 2]
mov dword [esp + 0x24], eax
push 0x52c722a
push 1
push 0x343
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x68]
call fcn.051ae270
mov dword [esp + 0x20], eax
mov byte [esp + 0xa44], 9
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push esi
push str.__d__________Request________
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.051ae2d0
add esp, 0x10
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x58]
call fcn.051ae2c0
push 0x52c722a
push 1
push 0x344
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x68]
call fcn.051ae270
mov dword [esp + 0x30], eax
mov byte [esp + 0xa44], 0xa
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [eax + 8]
push 0x4a
push 0x4a
mov dword [esp + 0x28], ecx
call sym.META_DLL.dll_META_GetPrimitiveTypeName
push eax
mov eax, dword [esp + 0x3c]
mov edx, dword [eax*4 + 0x527f008]
push eax
push edx
push 0x49
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x38]
push ebx
push esi
push str.__d___s__:_req_s__d____s__d___cnf_s__d_
push eax
push ecx
call fcn.051ae2d0
add esp, 0x2c
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x58]
call fcn.051ae2c0
lea ecx, [esp + 0x10c]
call fcn.0514db20
mov byte [esp + 0xa44], 0xb
mov eax, dword [esp + 0x34]
push 1
push 0
lea edx, [esp + 0x114]
push edx
push 0x514fe00
push eax
push 0x4a
lea ecx, [esp + 0x30]
push ecx
push esi
lea ecx, [esp + 0x64]
call fcn.050659a0
mov byte [esp + 0xa44], 0xc
xor eax, eax
push 0x10600
mov dword [esp + 0x20], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x70], eax
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x30]
push eax
push ecx
push 0x49
push edx
push esi
call fcn.051a85f0
add esp, 0x28
test eax, eax
je 0x515252b
sub eax, 1
je 0x51524e2
sub eax, 1
je 0x51524db
sub eax, 1
je 0x51524d4
mov esi, 1
jmp 0x51524e7
push str._ERROR:
push 0xff
push 0x2f2
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0xb0]
call fcn.051ae270
mov dword [esp + 0x20], eax
mov byte [esp + 0xa44], 3
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x20]
push ebp
push edi
push ebx
push esi
push str.__d___s__:_invalid_arguments____req_arg_0x_08X___cnf_arg_0x_08X_.
push eax
push ecx
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0xa0]
jmp 0x5152076
test ebp, ebp
je 0x5152339
test edi, edi
jne case.0x515200e.2
push str._ERROR:
push 0xff
push 0x30d
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0xc4]
call fcn.051ae270
mov dword [esp + 0x20], eax
mov byte [esp + 0xa44], 5
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x20]
push ebp
push edi
push ebx
push esi
push str.__d___s__:_invalid_arguments____req_arg_0x_08X___cnf_arg_0x_08X_.
push eax
push edx
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0xb4]
jmp 0x5152076
test edi, edi
jne case.0x515200e.2
push str._ERROR:
push 0xff
push 0x327
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x88]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 6
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push 0
push ebx
push esi
push str.__d___s__:_invalid_arguments____req_arg_0x_08X_.
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x78]
jmp 0x5152076
test ebp, ebp
je 0x5152475
test edi, edi
je 0x5152475
mov eax, dword [edi]
cmp eax, 1
jb 0x515241a
cmp eax, 0x10
jbe case.0x515200e.2
push 0x52c722a
push 1
push 0x339
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x9c]
call fcn.051ae270
mov ebx, eax
mov byte [esp + 0xa44], 8
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [edi]
mov eax, dword [eax + 8]
push ecx
push str.META_MISC_GetRID__:_invalid_length___d
push eax
push ebx
call fcn.051ae2d0
add esp, 0x10
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x8c]
jmp 0x5152076
push str._ERROR:
push 0xff
push 0x331
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x68]
call fcn.051ae270
mov dword [esp + 0x20], eax
mov byte [esp + 0xa44], 7
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x20]
push ebp
push edi
push ebx
push esi
push str.__d___s__:_invalid_arguments____req_arg_0x_08X___cnf_arg_0x_08X_.
push eax
push edx
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x58]
jmp 0x5152076
mov esi, 8
jmp 0x51524e7
mov esi, 9
jmp 0x51524e7
mov esi, 0xa
mov byte [esp + 0xa44], 0xb
lea ecx, [esp + 0x44]
call fcn.05065ae0
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x10c]
call fcn.051601f0
mov dword [esp + 0xa44], 0xffffffff
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, esi
jmp 0x515381b
mov eax, dword [esp + 0xa60]
push eax
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push str.type
push ecx
push edx
push esi
call fcn.05019f90
mov eax, dword [esp + 0x4c]
dec eax
add esp, 0x18
cmp eax, 0x24
ja case.0x5152568.2
movzx eax, byte [eax + 0x51538b8]
jmp dword [eax*4 + 0x5153888]
movzx ecx, byte [edi]
push ecx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x24]
push str.cmd.m_u1SimIndex
push edx
push eax
push esi
call fcn.05019f90
jmp 0x5152cf9
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x54]
push ecx
add edx, eax
push edx
lea ecx, [esp + 0xf8]
push ecx
call fcn.051a8f60
add esp, 0xc
test eax, eax
je case.0x5152568.2
push str._ERROR:
push 0xff
push 0x37f
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x68]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0xd
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx edx, word [esp + 0x18]
mov eax, dword [eax + 8]
push edx
push ebx
push esi
push str.__d___s_token_d_:_CopyWideCharStrToBuf__:_failed_
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x58]
jmp 0x51537d4
cmp byte [edi], 0
je 0x5152643
push 1
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push str.cmd.m_bcheckImeiFlag
push eax
push ecx
push esi
call fcn.05019f90
jmp 0x5152cf9
push 0
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x24]
push str.cmd.m_bcheckImeiFlag
push edx
push eax
push esi
call fcn.05019f90
jmp 0x5152cf9
movzx ecx, word [edi]
push ecx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x24]
push str.cmd.m_u1RecordIndex
push edx
push eax
jmp 0x5152cf3
movzx ecx, word [edi + 0x10]
push ecx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x24]
push str.cmd.m_rIMEIData.record_index
push edx
push eax
push esi
call fcn.05019ff0
movzx ecx, byte [edi + 0x12]
add esp, 0x18
push ecx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x24]
push str.cmd.m_rIMEIData.svn
push edx
push eax
push esi
call fcn.05019f90
mov eax, edi
add esp, 0x18
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x51526d6
sub eax, edx
je 0x5152b2e
mov eax, edi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x51526f0
sub eax, edx
cmp eax, 0xe
jb 0x5152b2e
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5152707
sub eax, edx
cmp eax, 0xf
ja 0x5152b2e
lea ecx, [esp + 0x28]
push ecx
push edi
push esi
call sym.META_DLL.dll_META_NVRAM_Calculate_IMEI_CD_r
test eax, eax
je 0x5152786
push str._ERROR:
push 0xff
push 0x3a9
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x9c]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0xf
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push esi
push str.__d___s__:_META_NVRAM_Calculate_IMEI_CD__:_calculate_IMEI_CD_error_
push eax
push edi
call fcn.051ae2d0
add esp, 0x14
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x8c]
jmp 0x5152b97
xor eax, eax
mov dword [esp + 0x9a0], eax
mov dword [esp + 0x9a4], eax
mov dword [esp + 0x9a8], eax
mov dword [esp + 0x9ac], eax
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x51527b0
sub eax, edx
cmp eax, 0xf
jne 0x51528a7
lea eax, [edi + 0xe]
push eax
mov dword [esp + 0x24], eax
call dword [sym.imp.MSVCR90.dll_atoi]
movzx edx, word [esp + 0x2c]
add esp, 4
cmp eax, edx
je 0x515288e
push str._ERROR:
push 0xff
push 0x3b2
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x88]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x10
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [esp + 0x20]
movsx edx, byte [ecx]
movzx ecx, word [esp + 0x28]
mov eax, dword [eax + 8]
push edx
push ecx
push ebx
push str._s__:_IMEI_CD_15th_digit__is_incorrect___calculated_CD_is_CD_d__but_input_IMEI_CD_is_req__imei_14__c
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x78]
call fcn.051ae2c0
mov byte [esp + 0xa44], 0xb
lea ecx, [esp + 0x44]
call fcn.05065ae0
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x10c]
call fcn.051601f0
mov dword [esp + 0xa44], 0xffffffff
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, 0x21
jmp 0x515381b
push edi
lea edx, [esp + 0x9a4]
push 0x5397fdc
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0xc
jmp 0x51528c4
movzx eax, word [esp + 0x28]
push eax
push edi
lea ecx, [esp + 0x9a8]
push str._s_d
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x10
lea eax, [esp + 0x9a0]
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x51528d0
push 0x52c722a
push 1
push 0x3bc
sub eax, edi
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0xc4]
mov edi, eax
call fcn.051ae270
mov dword [esp + 0x20], eax
mov byte [esp + 0xa44], 0x11
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
lea edx, [esp + 0x9a4]
push edx
push ebx
push str._s__:_IMEI_with_CD__s___d_.
push eax
mov eax, dword [esp + 0x34]
push eax
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0xb4]
call fcn.051ae2c0
mov ecx, 1
xor edi, edi
mov dword [esp + 0x38], 3
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x30], 2
mov dword [esp + 0x3c], ecx
jmp 0x5152970
mov al, byte [esp + ecx + 0x99f]
mov edx, edi
sub al, 0x30
and edx, 1
mov dword [esp + 0x20], edx
jne 0x51529a3
mov ecx, edi
shr ecx, 1
mov dl, byte [esp + ecx + 0x998]
lea ecx, [esp + ecx + 0x998]
xor dl, al
and dl, 0xf
xor byte [ecx], dl
mov ecx, dword [esp + 0x3c]
jmp 0x51529c2
mov edx, edi
shr edx, 1
lea edx, [esp + edx + 0x998]
mov dword [esp + 0x2c], edx
mov dl, byte [edx]
shl al, 4
and dl, 0xf
or dl, al
mov eax, dword [esp + 0x2c]
mov byte [eax], dl
mov al, byte [esp + ecx + 0x9a0]
mov edx, dword [esp + 0x24]
sub al, 0x30
and edx, 1
mov dword [esp + 0x2c], edx
jne 0x51529f1
shr ecx, 1
mov dl, byte [esp + ecx + 0x998]
lea ecx, [esp + ecx + 0x998]
xor dl, al
and dl, 0xf
xor byte [ecx], dl
jmp 0x5152a0b
shr ecx, 1
mov dl, byte [esp + ecx + 0x998]
lea ecx, [esp + ecx + 0x998]
and dl, 0xf
shl al, 4
or dl, al
mov byte [ecx], dl
mov ecx, dword [esp + 0x30]
mov al, byte [esp + ecx + 0x9a0]
shr ecx, 1
mov dl, byte [esp + ecx + 0x998]
sub al, 0x30
cmp dword [esp + 0x20], 0
lea ecx, [esp + ecx + 0x998]
jne 0x5152a38
xor dl, al
and dl, 0xf
xor byte [ecx], dl
jmp 0x5152a42
and dl, 0xf
shl al, 4
or dl, al
mov byte [ecx], dl
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov al, byte [esp + eax + 0x9a4]
shr ecx, 1
mov dl, byte [esp + ecx + 0x998]
sub al, 0x30
cmp dword [esp + 0x2c], 0
lea ecx, [esp + ecx + 0x998]
jne 0x5152a73
xor dl, al
and dl, 0xf
xor byte [ecx], dl
jmp 0x5152a7d
and dl, 0xf
shl al, 4
or dl, al
mov byte [ecx], dl
mov eax, dword [esp + 0x38]
mov al, byte [esp + eax + 0x9a1]
lea ecx, [edi + 4]
shr ecx, 1
mov dl, byte [esp + ecx + 0x998]
sub al, 0x30
cmp dword [esp + 0x20], 0
lea ecx, [esp + ecx + 0x998]
jne 0x5152aad
xor dl, al
and dl, 0xf
xor byte [ecx], dl
jmp 0x5152ab7
and dl, 0xf
shl al, 4
or dl, al
mov byte [ecx], dl
mov ecx, dword [esp + 0x3c]
mov eax, 5
add dword [esp + 0x30], eax
add dword [esp + 0x24], eax
add dword [esp + 0x38], eax
add ecx, eax
add edi, eax
cmp ecx, 0x10
mov dword [esp + 0x3c], ecx
jl 0x5152970
xor edi, edi
nop
push edi
lea eax, [esp + 0x9d8]
push str.cmd.m_rIMEIData.imei__d_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
movzx ecx, byte [esp + edi + 0x9a4]
add esp, 0xc
push ecx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x9dc]
push edx
push eax
push ecx
push esi
call fcn.05019f90
inc edi
add esp, 0x18
cmp edi, 8
jl 0x5152ae0
jmp case.0x5152568.2
mov eax, edi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x5152b33
push str._ERROR:
push 0xff
sub eax, ecx
push 0x3a1
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0xb0]
mov ebx, eax
call fcn.051ae270
mov ebp, eax
mov byte [esp + 0xa44], 0xe
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push edi
push str.req__0x_08X___imei__s___d_.
push eax
push ebp
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0xa0]
call fcn.051ae2c0
mov byte [esp + 0xa44], 0xb
lea ecx, [esp + 0x44]
call fcn.05065ae0
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x10c]
call fcn.051601f0
jmp 0x515207b
mov dword [esp + 0x24], 0
mov edi, edi
mov edx, dword [esp + 0x24]
push edx
lea eax, [esp + 0x9b8]
push str.cmd.buffer__d_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
mov ecx, dword [esp + 0x30]
movzx edx, byte [edi + ecx]
add esp, 0xc
push edx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
lea eax, [esp + 0x9bc]
push eax
push ecx
push edx
push esi
call fcn.05019f90
mov eax, dword [esp + 0x3c]
inc eax
add esp, 0x18
cmp eax, 6
mov dword [esp + 0x24], eax
jl 0x5152bd0
jmp case.0x5152568.2
movzx eax, byte [edi]
push eax
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push str.cmd.m_u1ChargerMode
push ecx
push edx
push esi
call fcn.05019f90
jmp 0x5152cf9
mov ecx, dword [edi]
lea eax, [esp + 0x2c]
push eax
push ecx
push esi
call fcn.050c9ff0
add esp, 0xc
test al, al
je 0x5152b9c
mov edx, dword [esp + 0x2c]
push edx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push str.cmd.m_rCalDataOne.u2LIDEnum
push eax
push ecx
push esi
call fcn.05019ff0
movzx edx, word [edi + 4]
add esp, 0x18
push edx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
push eax
push str.cmd.m_rCalDataOne.u2RID
jmp 0x5152ce9
movzx edx, byte [edi]
push edx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push str.cmd.m_RIDLength
push eax
push ecx
push esi
call fcn.05019f90
jmp 0x5152cf9
movzx edx, word [edi]
push edx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
push eax
push str.cmd.m_u2MmiCacheEnumValue
jmp 0x5152ce9
movzx edx, word [edi]
push edx
push 0x49
call sym.META_DLL.dll_META_GetPrimitiveTypeName
push eax
push str.cmd.m_u1RecordIndex
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
push eax
push ecx
push esi
call fcn.05019ff0
add esp, 0x18
mov eax, dword [esp + 0x40]
push 1
lea ecx, [esp + 0x20]
test eax, eax
je 0x5152dd9
push eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x5c]
push edx
push eax
push ecx
push esi
call fcn.05032d60
add esp, 0x18
test al, al
jne 0x5152e42
push str._ERROR:
push 0xff
push 0x420
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x68]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x12
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 8]
push edx
movsx edx, word [esp + 0x1c]
push ecx
push edx
push ebx
push esi
push str.__d___s_token_d_:_SendPrimitive_local_len_d__peer_len_d__fail_
push eax
push edi
call fcn.051ae2d0
add esp, 0x20
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x58]
call fcn.051ae2c0
mov byte [esp + 0xa44], 0xb
lea ecx, [esp + 0x44]
call fcn.05065ae0
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x10c]
call fcn.051601f0
mov dword [esp + 0xa44], 0xffffffff
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, 2
jmp 0x515381b
mov eax, dword [esp + 0x18]
push eax
push ecx
push esi
call fcn.05048250
add esp, 0x10
test al, al
jne 0x5152e42
push str._ERROR:
push 0xff
push 0x428
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x68]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x13
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [esp + 0x14]
movsx ecx, word [esp + 0x18]
mov eax, dword [eax + 8]
push edx
push ecx
push ebx
push esi
push str.__d___s_token_d_:_SendPrimitive_local_len_d__fail_
push eax
push edi
call fcn.051ae2d0
add esp, 0x1c
jmp 0x5152d81
push 0x52c722a
push 1
push 0x42e
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x68]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x14
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push esi
push str.__d______Request_End.
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x58]
call fcn.051ae2c0
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [eax + 0xa8d4]
mov ecx, dword [esp + 0xa50]
add eax, 0xa8d0
mov eax, dword [esp + 0x110]
push ecx
mov dword [esp + 0x74], edx
push 0
lea edx, [esp + 0x78]
push edx
push 2
mov dword [esp + 0x84], eax
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
test eax, eax
jne 0x5152fd6
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
add eax, 0xa800
lea edi, [eax + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [edi]
mov edx, dword [eax + 4]
mov ecx, edi
call edx
mov byte [esp + 0xa44], 0x15
mov eax, dword [esp + 0x18]
push eax
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
add ecx, 0xa800
call fcn.05192530
push str._WARNING:
push 0xd2
push 0x43e
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x68]
call fcn.051ae270
mov ebp, eax
mov byte [esp + 0xa44], 0x16
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx ecx, word [esp + 0x18]
mov eax, dword [eax + 8]
push ecx
push ebx
push esi
push str.__d___s_token_d_:_Cancel_
push eax
push ebp
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 0x15
lea ecx, [esp + 0x58]
call fcn.051ae2c0
mov byte [esp + 0xa44], 0xc
mov edx, dword [edi]
mov eax, dword [edx + 8]
mov ecx, edi
call eax
mov byte [esp + 0xa44], 0xb
lea ecx, [esp + 0x44]
call fcn.05065ae0
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x10c]
call fcn.051601f0
mov dword [esp + 0xa44], 0xffffffff
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, 0x1e
jmp 0x515381b
cmp eax, 1
jne 0x51536b8
mov eax, dword [esp + 0x34]
cmp eax, 0x23
ja case.0x5152ff3.2
movzx ecx, byte [eax + 0x5153930]
jmp dword [ecx*4 + 0x51538e0]
movzx edx, byte [esp + 0x118]
mov dword [ebp], edx
jmp case.0x5152ff3.2
mov al, byte [esp + 0x12c]
mov byte [ebp + 0x14], al
cmp al, 0x14
ja 0x515302f
movzx eax, al
push eax
lea ecx, [esp + 0x11c]
push ecx
push ebp
call sub.MSVCR90.dll_memcpy
add esp, 0xc
jmp case.0x5152ff3.2
push str._ERROR:
push 0xff
push 0x46c
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x68]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x19
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movzx edx, byte [ebp + 0x14]
movsx ecx, word [esp + 0x18]
mov eax, dword [eax + 8]
push edx
push ecx
push ebx
push esi
push str.__d___s_token_d_:_copy_IMEI_value_failed_because_buf_to_small._need__d_bytes
push eax
push edi
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x58]
call fcn.051ae2c0
cmp dword [esp + 0x1c0], 0
lea ecx, [esp + 0x9b4]
je 0x515361b
push str._ERROR:
push 0xff
push 0x54f
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x22
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [esp + 0x1c0]
movsx ecx, word [esp + 0x18]
mov eax, dword [eax + 8]
push edx
push ecx
push ebx
push esi
push str.__d___s_token_d_:_misc_cnf.m_Status__d_.
push eax
push edi
jmp 0x51537bd
mov dx, word [esp + 0x118]
mov word [ebp], dx
jmp case.0x5152ff3.2
mov ax, word [esp + 0x118]
mov word [ebp], ax
jmp case.0x5152ff3.2
mov ecx, dword [esp + 0x1c0]
mov dword [ebp], ecx
jmp case.0x5152ff3.2
mov al, byte [esp + 0x118]
test al, al
sete dl
mov byte [ebp], dl
test al, al
je case.0x5152ff3.2
push str._ERROR:
push 0xff
cmp al, 1
jne 0x515319c
push 0x48f
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x9c]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x1a
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx ecx, word [esp + 0x18]
mov eax, dword [eax + 8]
push ecx
push ebx
push esi
push str.__d___s_token_d_:_verify_SML_file_result:_invalid_
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x8c]
jmp 0x515308c
push 0x493
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x88]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x1b
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx edx, word [esp + 0x18]
mov eax, dword [eax + 8]
push edx
push ebx
push esi
push str.__d___s_token_d_:_verify_SML_file_result:_fail_because_we_did_not_send_file_path
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x78]
jmp 0x515308c
mov eax, dword [esp + 0x994]
cmp eax, 0x104
jle 0x5153268
push str._ERROR:
push 0xff
push 0x49f
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0xc4]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x1c
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx ecx, word [esp + 0x18]
mov eax, dword [eax + 8]
push 0x104
push ecx
push ebx
push esi
push str.__d___s_token_d_:_Buffer_size:__d_is_not_enough_
push eax
push edi
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0xb4]
jmp 0x51537d4
push eax
lea edx, [esp + 0x1c8]
push edx
push ebp
call sub.MSVCR90.dll_memcpy
add esp, 0xc
push 0x52c722a
push 1
push 0x4a9
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0xb0]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x1d
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [esp + 0x994]
movsx edx, word [esp + 0x18]
mov eax, dword [eax + 8]
push ecx
push ebp
push edx
push ebx
push esi
push str.__d___s_token_d_:_Get_NVRAM_folder_path:_s__len:_d_
push eax
push edi
call fcn.051ae2d0
add esp, 0x20
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0xa0]
jmp 0x515308c
mov ax, word [esp + 0x118]
mov cx, word [esp + 0x11a]
mov dx, word [esp + 0x11c]
mov word [ebp], ax
mov word [ebp + 2], cx
mov word [ebp + 4], dx
jmp case.0x5152ff3.2
mov al, byte [esp + 0x118]
push 0x52c722a
push 1
push 0x4ba
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0xd8]
mov byte [ebp], al
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x1e
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movzx ecx, byte [ebp]
movsx edx, word [esp + 0x18]
mov eax, dword [eax + 8]
push ecx
push edx
push ebx
push esi
push str.__d___s_token_d_:_Get_NVRAM_folder_amount:_d
push eax
push edi
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0xc8]
jmp 0x515308c
mov al, byte [esp + 0x118]
push 0x52c722a
push 1
push 0x4c0
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x9b0]
mov byte [ebp], al
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x1f
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movzx ecx, byte [ebp]
movsx edx, word [esp + 0x18]
mov eax, dword [eax + 8]
push ecx
push edx
push ebx
push esi
push str.__d___s_token_d_:_SIM_inserted:_d
push eax
push edi
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x9a0]
jmp 0x515308c
mov eax, dword [esp + 0x118]
push 0x52c722a
push 1
push 0x4c5
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0xec]
mov dword [ebp], eax
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x20
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [ebp]
movsx edx, word [esp + 0x18]
mov eax, dword [eax + 8]
push ecx
push edx
push ebx
push esi
push str.__d___s_token_d_:_SIM_HW_Status:__d
push eax
push edi
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0xdc]
jmp 0x515308c
mov eax, dword [esp + 0x118]
mov dword [ebp], eax
jmp case.0x5152ff3.2
mov cl, byte [esp + 0x118]
mov dx, word [esp + 0x11a]
mov ax, word [esp + 0x11c]
mov byte [ebp], cl
mov word [ebp + 2], dx
mov word [ebp + 4], ax
jmp case.0x5152ff3.2
mov cl, byte [esp + 0x118]
mov eax, dword [esp + 0x11c]
mov byte [ebp], cl
xor ecx, ecx
mov dword [ebp + 4], eax
test eax, eax
jle case.0x5152ff3.2
lea edx, [esp + 0x118]
lea eax, [ebp + 0x58]
sub edx, ebp
cmp ecx, 0x14
jge case.0x5152ff3.2
mov edi, dword [esp + ecx*4 + 0x120]
mov dword [eax - 0x50], edi
mov edi, dword [edx + eax]
mov dword [eax], edi
inc ecx
add eax, 4
cmp ecx, dword [ebp + 4]
jl 0x51534b8
jmp case.0x5152ff3.2
mov cl, byte [esp + 0x118]
mov byte [ebp], cl
jmp case.0x5152ff3.2
mov dl, byte [esp + 0x118]
mov byte [ebp], dl
jmp case.0x5152ff3.2
mov al, byte [esp + 0x118]
test al, al
je 0x5153569
movzx edi, al
add edi, edi
xor ecx, ecx
test edi, edi
jle 0x5153560
mov eax, ecx
and eax, 0x80000001
jns 0x5153520
dec eax
or eax, 0xfffffffe
inc eax
mov eax, ecx
cdq
jne 0x515353e
sub eax, edx
sar eax, 1
mov al, byte [esp + eax + 0x119]
shr al, 4
mov byte [ecx + ebp], al
cmp al, 9
jbe 0x5153556
add al, 0x37
jmp 0x5153558
sub eax, edx
sar eax, 1
mov al, byte [esp + eax + 0x119]
and al, 0xf
mov byte [ecx + ebp], al
cmp al, 9
jbe 0x5153556
add al, 0x37
jmp 0x5153558
add al, 0x30
mov byte [ecx + ebp], al
inc ecx
cmp ecx, edi
jl 0x5153512
mov byte [edi + ebp], 0
jmp case.0x5152ff3.2
mov byte [ebp], 0
jmp case.0x5152ff3.2
mov cx, word [esp + 0x118]
mov word [ebp], cx
jmp case.0x5152ff3.2
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 8]
push edx
push 0
push eax
call sub.MSVCR90.dll_memset
mov eax, dword [esp + 0x9a0]
add esp, 0xc
cmp dword [ebp + 4], eax
jbe 0x51535bb
mov edx, dword [ebp + 8]
push eax
lea ecx, [esp + 0x1c8]
push ecx
push edx
call sub.MSVCR90.dll_memcpy
add esp, 0xc
jmp case.0x5152ff3.2
push str._ERROR:
push 0xff
push 0x543
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x9c4]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x21
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [esp + 0x994]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 8]
push ecx
movsx ecx, word [esp + 0x1c]
push edx
push ecx
push ebx
push esi
push str.__d___s_token_d_:_Barocde_buffer_length__d____return_barcode_length.
push eax
push edi
call fcn.051ae2d0
add esp, 0x20
jmp 0x51537c5
push 0x52c722a
push 1
push 0x553
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x23
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx edx, word [esp + 0x18]
mov eax, dword [eax + 8]
push edx
push ebx
push esi
push str.__d___s_token_d_:_OK.
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x9b4]
call fcn.051ae2c0
mov byte [esp + 0xa44], 0xb
lea ecx, [esp + 0x44]
call fcn.05065ae0
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x10c]
call fcn.051601f0
mov dword [esp + 0xa44], 0xffffffff
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
xor eax, eax
jmp 0x515381b
cmp eax, 0x102
jne 0x515376d
push str._ERROR:
push 0xff
push 0x448
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x9c4]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0xa44], 0x17
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx ecx, word [esp + 0x18]
mov eax, dword [eax + 8]
push ecx
push ebx
push esi
push str.__d___s_token_d_:_WaitForMultipleObjects___timeout_
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x9b4]
call fcn.051ae2c0
mov byte [esp + 0xa44], 0xb
lea ecx, [esp + 0x44]
call fcn.05065ae0
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x10c]
call fcn.051601f0
mov dword [esp + 0xa44], 0xffffffff
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, 0xb
jmp 0x515381b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str._ERROR:
push 0xff
push 0x44f
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [esp + 0x9c4]
mov edi, eax
call fcn.051ae270
mov ebp, eax
mov byte [esp + 0xa44], 0x18
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx edx, word [esp + 0x18]
mov eax, dword [eax + 8]
push edi
push edx
push ebx
push esi
push str.__d___s_token_d_:_WaitForMultipleObjects___failed___Err__u_.
push eax
push ebp
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0xa44], 0xc
lea ecx, [esp + 0x9b4]
call fcn.051ae2c0
mov byte [esp + 0xa44], 0xb
lea ecx, [esp + 0x44]
call fcn.05065ae0
mov byte [esp + 0xa44], 1
lea ecx, [esp + 0x10c]
call fcn.051601f0
mov dword [esp + 0xa44], 0xffffffff
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, 1
mov ecx, dword [esp + 0xa3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa24]
xor ecx, esp
call fcn.0520b902
add esp, 0xa34
ret 0x18