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

Disassembly:
push 0xffffffffffffffff
push 0x52309a3
mov eax, dword fs:[0]
push eax
sub esp, 0x12c
mov eax, dword [0x53f3c3c]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f3c3c]
xor eax, esp
push eax
lea eax, [esp + 0x140]
mov dword fs:[0], eax
movzx ebp, word [esp + 0x154]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x15c]
lea edx, [esp + 0x17]
push edx
push ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x1f], 0
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edi, dword [esp + 0x164]
mov esi, dword [esp + 0x154]
push eax
push str.result.m_rEnsmAllResult.m_ucNum
push edi
push ebx
push esi
call fcn.05019e10
add esp, 0x18
lea eax, [esp + 0x16]
push eax
push ebp
call sym.META_DLL.dll_META_GetPrimitiveTypeName
push eax
push str.result.m_rEnsmAllResult.m_ucErrorNum
push edi
push ebx
push esi
call fcn.05019e10
movzx eax, byte [esp + 0x2e]
add esp, 0x18
xor edi, edi
test eax, eax
jle 0x518ab61
lea ebx, [ebx]
push edi
lea ecx, [esp + 0x78]
push str.result.m_rEnsmAllResult.m_ucErrorCode__d_
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0xc
lea edx, [esp + edi + 0x40]
push edx
push ebp
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x164]
push eax
lea eax, [esp + 0x7c]
push eax
push ecx
push ebx
push esi
call fcn.05019e10
movzx eax, byte [esp + 0x2e]
inc edi
add esp, 0x18
cmp edi, eax
jl 0x518ab20
cmp byte [esp + 0x17], 0xa
jb 0x518abd7
push str._ERROR:
push 0xff
push 0x1d8
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x5c]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x148], 0
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movzx edx, byte [esp + 0x17]
movsx ecx, word [esp + 0x158]
mov eax, dword [eax + 8]
push edx
push ecx
push str.Token:__d__Confirm:_META_TDMB_COPY_ENSEMBLE_INFO__:_number___10:___d_.
push eax
push edi
call fcn.051ae2d0
add esp, 0x14
mov dword [esp + 0x148], 0xffffffff
lea ecx, [esp + 0x4c]
call fcn.051ae2c0
jmp 0x518b21d
mov al, byte [esp + 0x170]
cmp al, 3
jne 0x518ae00
movzx eax, byte [esp + 0x16]
mov dword [esp + 0x18], 0
test eax, eax
jle 0x518acd2
or edi, 0xffffffff
mov edx, dword [esp + 0x18]
cmp byte [esp + edx + 0x40], 1
push str._ERROR:
push 0xff
jne 0x518ac66
push 0x1e3
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x5c]
call fcn.051ae270
mov ebp, eax
mov dword [esp + 0x148], 1
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx ecx, word [esp + 0x158]
mov eax, dword [eax + 8]
push ecx
push str.Token:__d__Confirm:_Channel_DB_State_number___10.
push eax
push ebp
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x148], edi
lea ecx, [esp + 0x4c]
jmp 0x518acb7
push 0x1e7
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x70]
call fcn.051ae270
mov ebp, eax
mov dword [esp + 0x148], 2
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movsx ecx, word [esp + 0x158]
mov eax, dword [eax + 8]
push ecx
push str.Token:__d__Confirm:_Undefined_Error_in_Copy_Channel_DB.
push eax
push ebp
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x148], edi
lea ecx, [esp + 0x60]
call fcn.051ae2c0
mov ecx, dword [esp + 0x18]
movzx eax, byte [esp + 0x16]
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jl 0x518abfe
movzx eax, byte [esp + 0x17]
xor edi, edi
mov dword [esp + 0x18], eax
test eax, eax
jle 0x518b21d
jmp 0x518aceb
mov ebx, dword [esp + 0x1c]
push edi
lea eax, [esp + 0x78]
push str.result.m_rEnsmAllResult.m_ucEnsembleIndex__d_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
movzx eax, word [esp + 0x160]
add esp, 0xc
lea ebp, [esp + edi + 0x40]
push ebp
push eax
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x164]
push eax
lea ecx, [esp + 0x7c]
push ecx
push edx
push ebx
push esi
call fcn.05019e10
push edi
lea eax, [esp + 0x90]
push str.result.m_rEnsmAllResult.m_ucServiceIndex__d_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
movzx eax, word [esp + 0x178]
add esp, 0x24
lea ebx, [esp + edi + 0x4c]
push ebx
push eax
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x7c]
push ecx
push edx
push eax
push esi
call fcn.05019e10
push edi
lea ecx, [esp + 0x90]
push str.result.m_rEnsmAllResult.m_ucChannelIndex__d_
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x24
lea eax, [esp + edi + 0x60]
push eax
movzx eax, word [esp + 0x158]
push eax
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x168]
lea edx, [esp + 0x7c]
push edx
push eax
push ecx
push esi
call fcn.05019e10
movzx eax, byte [esp + edi + 0x78]
movzx edx, byte [ebp]
imul eax, eax, 0xa4
movzx ecx, byte [ebx]
imul edx, edx, 0x449c
add eax, dword [esp + 0x3c]
imul ecx, ecx, 0x6d0
add eax, edx
lea edx, [ecx + eax + 0xe8]
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x40]
push edx
push edi
push eax
push ecx
push esi
call fcn.051897b0
inc edi
add esp, 0x2c
cmp edi, dword [esp + 0x18]
jl 0x518ace7
jmp 0x518b21d
cmp al, 2
jne 0x518b02f
movzx eax, byte [esp + 0x16]
mov dword [esp + 0x18], 0
test eax, eax
jle 0x518af51
movsx ebp, word [esp + 0x158]
or edi, 0xffffffff
mov edx, dword [esp + 0x18]
mov al, byte [esp + edx + 0x40]
push str._ERROR:
push 0xff
cmp al, 1
jne 0x518ae92
push 0x208
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x5c]
call fcn.051ae270
mov dword [esp + 0x20], eax
mov dword [esp + 0x148], 3
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebp
push str.Token:__d__Confirm:_Service_DB_State_number___10.
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x148], edi
lea ecx, [esp + 0x4c]
jmp 0x518af36
cmp al, 2
jne 0x518aee7
push 0x20c
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x70]
call fcn.051ae270
mov dword [esp + 0x20], eax
mov dword [esp + 0x148], 4
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x20]
push ebp
push str.Token:__d__Confirm:_Too_many_Channel_DB_in_this_Service.
push eax
push ecx
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x148], edi
lea ecx, [esp + 0x60]
jmp 0x518af36
push 0x210
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x3c]
call fcn.051ae270
mov dword [esp + 0x20], eax
mov dword [esp + 0x148], 5
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x20]
push ebp
push str.Token:__d__Confirm:_Undefined_Error_in_Copy_Service_DB.
push eax
push edx
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x148], edi
lea ecx, [esp + 0x2c]
call fcn.051ae2c0
mov eax, dword [esp + 0x18]
movzx ecx, byte [esp + 0x16]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x518ae28
movzx eax, byte [esp + 0x17]
xor edi, edi
mov dword [esp + 0x18], eax
test eax, eax
jle 0x518b21d
jmp 0x518af6a
mov ebx, dword [esp + 0x1c]
push edi
lea eax, [esp + 0x78]
push str.result.m_rEnsmAllResult.m_ucEnsembleIndex__d_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
movzx eax, word [esp + 0x160]
add esp, 0xc
lea ebp, [esp + edi + 0x40]
push ebp
push eax
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x164]
push eax
lea ecx, [esp + 0x7c]
push ecx
push edx
push ebx
push esi
call fcn.05019e10
push edi
lea eax, [esp + 0x90]
push str.result.m_rEnsmAllResult.m_ucServiceIndex__d_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
movzx eax, word [esp + 0x178]
add esp, 0x24
lea ebx, [esp + edi + 0x4c]
push ebx
push eax
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x7c]
push ecx
push edx
push eax
push esi
call fcn.05019e10
movzx ecx, byte [ebx]
movzx edx, byte [ebp]
imul ecx, ecx, 0x6d0
add ecx, dword [esp + 0x3c]
imul edx, edx, 0x449c
lea eax, [edx + ecx + 0x88]
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x40]
push eax
push edi
push ecx
push edx
push esi
call fcn.0518a0d0
inc edi
add esp, 0x2c
cmp edi, dword [esp + 0x18]
jl 0x518af66
jmp 0x518b21d
cmp al, 1
jne 0x518b21d
mov eax, dword [esp + 0x24]
add eax, 0xc
push eax
push ebp
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov ecx, dword [esp + 0x164]
push eax
push str.result.m_rEnsmAllResult.m_ucNum
push ecx
push ebx
push esi
call fcn.05019e10
movzx eax, byte [esp + 0x2e]
add esp, 0x18
mov dword [esp + 0x18], 0
test eax, eax
jle 0x518b198
movsx ebp, word [esp + 0x158]
or edi, 0xffffffff
mov edx, dword [esp + 0x18]
mov al, byte [esp + edx + 0x40]
push str._ERROR:
push 0xff
cmp al, 1
jne 0x518b0e1
push 0x22e
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x3c]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0x148], 6
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebp
push str.Token:__d__Confirm:_Ensemble_DB_State_number___10.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x148], edi
lea ecx, [esp + 0x2c]
jmp 0x518b179
cmp al, 2
jne 0x518b130
push 0x232
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x5c]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0x148], 7
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebp
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 + 0x148], edi
lea ecx, [esp + 0x4c]
jmp 0x518b179
push 0x236
push str..FunctionMultimediaMETA_tdmb.cpp
lea ecx, [esp + 0x70]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0x148], 8
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebp
push str.Token:__d__Confirm:_Undefined_Error_in_Copy_Ensemble_DB.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x10
mov dword [esp + 0x148], edi
lea ecx, [esp + 0x60]
call fcn.051ae2c0
mov eax, dword [esp + 0x18]
movzx ecx, byte [esp + 0x16]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x518b07d
mov ebx, dword [esp + 0x1c]
movzx eax, byte [esp + 0x17]
xor edi, edi
mov dword [esp + 0x18], eax
test eax, eax
jle 0x518b21d
jmp 0x518b1b0
push edi
lea eax, [esp + 0x78]
push str.result.m_rEnsmAllResult.m_ucEnsembleIndex__d_
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
movzx eax, word [esp + 0x160]
add esp, 0xc
lea ebp, [esp + edi + 0x40]
push ebp
push eax
call sym.META_DLL.dll_META_GetPrimitiveTypeName
mov edx, dword [esp + 0x164]
push eax
lea ecx, [esp + 0x7c]
push ecx
push edx
push ebx
push esi
call fcn.05019e10
movzx eax, byte [ebp]
mov ecx, dword [esp + 0x3c]
imul eax, eax, 0x449c
lea edx, [eax + ecx + 0x10]
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x40]
push edx
push edi
push eax
push ecx
push esi
call fcn.0518a4b0
inc edi
add esp, 0x2c
cmp edi, dword [esp + 0x18]
jl 0x518b1b0
mov ecx, dword [esp + 0x140]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.0520b902
add esp, 0x138
ret