Function at 0x518bc10
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 0x518bd11
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 0x518bcd0
cmp byte [esp + 0x16], 0xa
jb 0x518bd82
push str._ERROR:
push 0xff
push 0x326
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_ENSM_GETTING__:_number___10:___d_.
push eax
push edi
call fcn.051ae2d0
add esp, 0x14
mov dword [esp + 0x144], 0xffffffff
lea ecx, [esp + 0x48]
jmp 0x518c595
mov al, byte [esp + 0x16c]
cmp al, 3
jne 0x518c02c
movzx eax, byte [esp + 0x17]
xor ebp, ebp
test eax, eax
jle 0x518be70
movsx ebx, word [esp + 0x154]
jmp 0x518bdb0
cmp byte [esp + ebp + 0x3c], 1
push str._ERROR:
push 0xff
jne 0x518be10
push 0x331
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 0x518be5d
push 0x335
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 0x518bdb0
movzx eax, byte [esp + 0x16]
xor edi, edi
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x518c59a
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 0x518bf6d
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 0x518bf9c
test al, al
jne 0x518bfc8
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 0x518bfc8
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 0x518be83
jmp 0x518c59a
push str._ERROR:
push 0xff
push 0x357
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 0x518c595
cmp al, 2
jne 0x518c2bb
movzx eax, byte [esp + 0x17]
xor ebp, ebp
test eax, eax
jle 0x518c167
movsx edi, word [esp + 0x154]
jmp 0x518c050
mov al, byte [esp + ebp + 0x3c]
push str._ERROR:
push 0xff
cmp al, 1
jne 0x518c0b4
push 0x365
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 0x518c154
cmp al, 2
jne 0x518c107
push 0x369
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 0x518c154
push 0x36d
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 0x518c050
movzx eax, byte [esp + 0x16]
xor edi, edi
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x518c59a
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 0x518c225
movzx ecx, byte [ebx]
mov edx, dword [esp + 0x18]
imul ecx, ecx, 0x6d0
lea eax, [ecx + edx + 0x2aea0]
jmp 0x518c247
test al, al
jne 0x518c273
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 0x518c273
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 0x518c180
jmp 0x518c59a
push str._ERROR:
push 0xff
push 0x388
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 0x518c579
cmp al, 1
jne 0x518c59a
mov edx, dword [esp + 0x18]
add edx, 0xc
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 0x518c429
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 0x518c36e
push 0x399
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 0x518c40e
cmp al, 2
jne 0x518c3c1
push 0x39d
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 0x518c40e
push 0x3a1
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 0x518c306
movzx eax, byte [esp + 0x16]
xor edi, edi
test eax, eax
jle 0x518c59a
jmp 0x518c440
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 0x518c4f5
mov eax, dword [esp + 0x18]
add eax, 0x2ae28
cmp byte [esp + 0x16], 1
jbe 0x518c50a
push str._ERROR:
push 0xff
push 0x3b2
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 0x518c586
test al, al
jne 0x518c536
movzx edx, byte [ebx]
mov eax, dword [esp + 0x18]
imul edx, edx, 0x449c
lea eax, [edx + eax + 0x10]
test eax, eax
je 0x518c536
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 0x518c440
jmp 0x518c59a
push str._ERROR:
push 0xff
push 0x3bc
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