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

Disassembly:
push 0xffffffffffffffff
push 0x5230a6f
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x53f3c3c]
xor eax, esp
mov dword [esp + 0x124], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f3c3c]
xor eax, esp
push eax
lea eax, [esp + 0x13c]
mov dword fs:[0], eax
movzx ebx, word [esp + 0x150]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x168]
mov ebp, dword [esp + 0x158]
lea edx, [esp + 0x16]
push edx
push ebx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ecx
mov byte [esp + 0x1e], 0
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edi, dword [esp + 0x160]
mov esi, dword [esp + 0x150]
push eax
push str.result.m_rEnsmAllResult.m_ucNum
push edi
push ebp
push esi
call fcn.05019e10
add esp, 0x18
lea eax, [esp + 0x17]
push eax
push ebx
call sym.META_DLL.dll_META_GetPrimitiveTypeName
push eax
push str.result.m_rEnsmAllResult.m_ucErrorNum
push edi
push ebp
push esi
call fcn.05019e10
movzx eax, byte [esp + 0x2f]
add esp, 0x18
xor edi, edi
test eax, eax
jle 0x518b351
lea ebx, [ebx]
push edi
lea ecx, [esp + 0x74]
push str.result.m_rEnsmAllResult.m_ucErrorCode__d_
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0xc
lea edx, [esp + edi + 0x3c]
push edx
push ebx
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x160]
push eax
lea eax, [esp + 0x78]
push eax
push ecx
push ebp
push esi
call fcn.05019e10
movzx eax, byte [esp + 0x2f]
inc edi
add esp, 0x18
cmp edi, eax
jl 0x518b310
cmp byte [esp + 0x16], 0xa
jb 0x518b3c2
push str._ERROR:
push 0xff
push 0x266
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x58]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x144], 0
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movzx edx, byte [esp + 0x16]
movsx ecx, word [esp + 0x154]
mov eax, dword [eax + 8]
push edx
push ecx
push str.Token:__d__Confirm:_META_TDMB_COPY_ENSEMBLE_INFO_FROM_FREQ_SETTING__:_number___10:___d_.
push eax
push edi
call fcn.051ae2d0
add esp, 0x14
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x48]
jmp 0x518bbd5
mov al, byte [esp + 0x16c]
cmp al, 3
jne 0x518b66c
movzx eax, byte [esp + 0x17]
xor ebp, ebp
test eax, eax
jle 0x518b4b0
movsx ebx, word [esp + 0x154]
jmp 0x518b3f0
cmp byte [esp + ebp + 0x3c], 1
push str._ERROR:
push 0xff
jne 0x518b450
push 0x271
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x58]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x144], 1
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push str.Token:__d__Confirm:_Channel_DB_State_number___10.
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x48]
jmp 0x518b49d
push 0x275
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x6c]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x144], 2
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push str.Token:__d__Confirm:_Undefined_Error_in_Copy_Channel_DB.
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.051ae2c0
movzx eax, byte [esp + 0x17]
inc ebp
cmp ebp, eax
jl 0x518b3f0
movzx eax, byte [esp + 0x16]
xor edi, edi
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x518bbda
mov ebp, dword [sym.imp.MSVCR90.dll_sprintf]
push edi
lea edx, [esp + 0x74]
push str.result.m_rEnsmAllResult.m_ucEnsembleIndex__d_
push edx
call ebp
movzx ebx, word [esp + 0x15c]
add esp, 0xc
lea eax, [esp + edi + 0x3c]
push eax
push ebx
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x24]
push eax
lea eax, [esp + 0x78]
push eax
push ecx
push edx
push esi
call fcn.05019e10
push edi
lea eax, [esp + 0x8c]
push str.result.m_rEnsmAllResult.m_ucServiceIndex__d_
push eax
call ebp
add esp, 0x24
lea ebp, [esp + edi + 0x5c]
push ebp
push ebx
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x160]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x78]
push ecx
push edx
push eax
push esi
call fcn.05019e10
push edi
lea ecx, [esp + 0x8c]
push str.result.m_rEnsmAllResult.m_ucChannelIndex__d_
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
movzx eax, word [esp + 0x174]
add esp, 0x24
lea ebx, [esp + edi + 0x48]
push ebx
push eax
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x164]
lea edx, [esp + 0x78]
push edx
push eax
push ecx
push esi
call fcn.05019e10
mov al, byte [esp + 0x188]
add esp, 0x18
cmp al, 1
jne 0x518b5ad
movzx edx, byte [ebx]
movzx eax, byte [ebp]
imul edx, edx, 0xa4
imul eax, eax, 0x6d0
add edx, dword [esp + 0x18]
lea eax, [eax + edx + 0x2af00]
jmp 0x518b5dc
test al, al
jne 0x518b608
movzx edx, byte [ebx]
movzx ecx, byte [esp + edi + 0x3c]
imul edx, edx, 0xa4
movzx eax, byte [ebp]
imul ecx, ecx, 0x449c
add edx, dword [esp + 0x18]
imul eax, eax, 0x6d0
add edx, ecx
lea eax, [eax + edx + 0xe8]
test eax, eax
je 0x518b608
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push eax
push edi
push ecx
push edx
push esi
call fcn.051897b0
inc edi
add esp, 0x14
cmp edi, dword [esp + 0x1c]
jl 0x518b4c3
jmp 0x518bbda
push str._ERROR:
push 0xff
push 0x297
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x58]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x144], 3
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx ecx, word [esp + 0x154]
mov eax, dword [eax + 8]
push ecx
push str.Token:__d__Confirm:_Can_not_get_channel_DB_pointer.
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x48]
jmp 0x518bbd5
cmp al, 2
jne 0x518b8fb
movzx eax, byte [esp + 0x17]
xor ebp, ebp
test eax, eax
jle 0x518b7a7
movsx edi, word [esp + 0x154]
jmp 0x518b690
mov al, byte [esp + ebp + 0x3c]
push str._ERROR:
push 0xff
cmp al, 1
jne 0x518b6f4
push 0x2a6
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x58]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0x144], 4
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.Token:__d__Confirm:_Service_DB_State_number___10.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x48]
jmp 0x518b794
cmp al, 2
jne 0x518b747
push 0x2aa
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x6c]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0x144], 5
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.Token:__d__Confirm:_Too_many_Channel_DB_in_this_Service.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x5c]
jmp 0x518b794
push 0x2ae
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x38]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0x144], 6
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.Token:__d__Confirm:_Undefined_Error_in_Copy_Service_DB.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x28]
call fcn.051ae2c0
movzx eax, byte [esp + 0x17]
inc ebp
cmp ebp, eax
jl 0x518b690
movzx eax, byte [esp + 0x16]
xor edi, edi
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x518bbda
lea ebx, [ebx]
mov ebx, dword [sym.imp.MSVCR90.dll_sprintf]
push edi
lea edx, [esp + 0x74]
push str.result.m_rEnsmAllResult.m_ucEnsembleIndex__d_
push edx
call ebx
movzx eax, word [esp + 0x15c]
add esp, 0xc
lea ebp, [esp + edi + 0x3c]
push ebp
push eax
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x24]
push eax
lea eax, [esp + 0x78]
push eax
push ecx
push edx
push esi
call fcn.05019e10
push edi
lea eax, [esp + 0x8c]
push str.result.m_rEnsmAllResult.m_ucServiceIndex__d_
push eax
call ebx
movzx eax, word [esp + 0x174]
add esp, 0x24
lea ebx, [esp + edi + 0x5c]
push ebx
push eax
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x160]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x78]
push ecx
push edx
push eax
push esi
call fcn.05019e10
mov al, byte [esp + 0x188]
add esp, 0x18
cmp al, 1
jne 0x518b865
movzx ecx, byte [ebx]
mov edx, dword [esp + 0x18]
imul ecx, ecx, 0x6d0
lea eax, [ecx + edx + 0x2aea0]
jmp 0x518b887
test al, al
jne 0x518b8b3
movzx eax, byte [ebp]
movzx ecx, byte [ebx]
imul eax, eax, 0x449c
imul ecx, ecx, 0x6d0
add eax, dword [esp + 0x18]
lea eax, [ecx + eax + 0x88]
test eax, eax
je 0x518b8b3
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x28]
push edi
push edx
push eax
push esi
call fcn.0518a0d0
inc edi
add esp, 0x14
cmp edi, dword [esp + 0x1c]
jl 0x518b7c0
jmp 0x518bbda
push str._ERROR:
push 0xff
push 0x2ca
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x38]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x144], 7
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx ecx, word [esp + 0x154]
push ecx
push str.Token:__d__Confirm:_Can_not_get_Service_DB_pointer.
jmp 0x518bbb9
cmp al, 1
jne 0x518bbda
mov edx, dword [esp + 0x18]
add edx, 0xd
push edx
push ebx
call sym.META_DLL.dll_META_GetPrimitiveTypeName
push eax
mov eax, dword [esp + 0x164]
push str.result.m_rEnsmAllResult.m_ucNum
push eax
push ebp
push esi
call fcn.05019e10
movzx eax, byte [esp + 0x2f]
add esp, 0x18
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x518ba69
movsx edi, word [esp + 0x154]
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + ecx + 0x3c]
push str._ERROR:
push 0xff
cmp al, 1
jne 0x518b9ae
push 0x2da
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x38]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0x144], 8
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.Token:__d__Confirm:_Ensemble_DB_State_number___10.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x28]
jmp 0x518ba4e
cmp al, 2
jne 0x518ba01
push 0x2de
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x58]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0x144], 9
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.Token:__d__Confirm:_Too_many_Service_DB_in_this_Ensemble.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x48]
jmp 0x518ba4e
push 0x2e2
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x6c]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0x144], 0xa
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.Token:__d__Confirm:_Undefined_Error_in_Copy_Ensemble_DB.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.051ae2c0
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x17]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x518b946
movzx eax, byte [esp + 0x16]
xor edi, edi
test eax, eax
jle 0x518bbda
jmp 0x518ba80
push edi
lea edx, [esp + 0x74]
push str.result.m_rEnsmAllResult.m_ucEnsembleIndex__d_
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
movzx eax, word [esp + 0x15c]
add esp, 0xc
lea ebx, [esp + edi + 0x3c]
push ebx
push eax
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x160]
push eax
lea eax, [esp + 0x78]
push eax
push ecx
push ebp
push esi
call fcn.05019e10
mov al, byte [esp + 0x188]
add esp, 0x18
cmp al, 1
jne 0x518bb35
mov eax, dword [esp + 0x18]
add eax, 0x2ae28
cmp byte [esp + 0x16], 1
jbe 0x518bb4a
push str._ERROR:
push 0xff
push 0x2f3
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x38]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x144], 0xb
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movzx ecx, byte [esp + 0x16]
mov eax, dword [eax + 8]
push ecx
movsx ecx, word [esp + 0x158]
push ecx
push str.Token:__d__Confirm:_more_than_one_Current_Ensemble__d_.
push eax
push edi
call fcn.051ae2d0
add esp, 0x14
jmp 0x518bbc6
test al, al
jne 0x518bb76
movzx edx, byte [ebx]
mov eax, dword [esp + 0x18]
imul edx, edx, 0x449c
lea eax, [edx + eax + 0x10]
test eax, eax
je 0x518bb76
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x24]
push eax
push edi
push ecx
push edx
push esi
call fcn.0518a4b0
movzx eax, byte [esp + 0x2a]
inc edi
add esp, 0x14
cmp edi, eax
jl 0x518ba80
jmp 0x518bbda
push str._ERROR:
push 0xff
push 0x2fe
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x38]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x144], 0xc
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx edx, word [esp + 0x154]
push edx
push str.Token:__d__Confirm:_Can_not_get_Ensemble_DB_pointer.
mov eax, dword [eax + 8]
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x28]
call fcn.051ae2c0
mov ecx, dword [esp + 0x13c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.0520b902
add esp, 0x134
ret