Function at 0x4c5780
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x538398
push 0x4da924
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xde8
mov eax, dword [0x566450]
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor edi, edi
mov dword [ebp - 0xd28], edi
mov dword [ebp - 0xd34], edi
mov dword [ebp - 0xd2c], 1
push 0x52fba0
mov eax, dword [ebp + 0xc]
push eax
call fcn.004da8bd
add esp, 8
mov ebx, eax
mov dword [ebp - 0xd40], ebx
cmp ebx, edi
je 0x4c5d9c
push 0x53838c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
mov dword [ebp - 0xd3c], esi
cmp esi, edi
je 0x4c5d93
push str.SymSetOptions
push esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call edi
mov dword [0x97b1f0], eax
push str.SymInitialize
push esi
call edi
mov dword [0x97b1ec], eax
push str.SymCleanup
push esi
call edi
mov dword [0x97b1e8], eax
push str.SymGetSymFromAddr
push esi
call edi
mov dword [0x97b1e4], eax
push str.SymGetLineFromAddr
push esi
call edi
mov dword [0x97b1e0], eax
push str.EnumerateLoadedModules
push esi
call edi
mov dword [0x97b1dc], eax
push str.SymGetModuleInfo
push esi
call edi
mov dword [0x97b1d4], eax
push str.SymLoadModule
push esi
call edi
mov dword [0x97b1d8], eax
push str.StackWalk
push esi
call edi
mov dword [0x97b1d0], eax
push str.SymFunctionTableAccess
push esi
call edi
mov dword [0x97b1cc], eax
push str.SymGetModuleBase
push esi
call edi
mov dword [0x97b1c8], eax
mov eax, dword [0x97b1f0]
test eax, eax
je 0x4c5d8c
mov eax, dword [0x97b1ec]
test eax, eax
je 0x4c5d8c
mov eax, dword [0x97b1e8]
test eax, eax
je 0x4c5d8c
mov eax, dword [0x97b1e4]
test eax, eax
je 0x4c5d8c
mov eax, dword [0x97b1dc]
test eax, eax
je 0x4c5d8c
mov eax, dword [0x97b1d4]
test eax, eax
je 0x4c5d8c
mov eax, dword [0x97b1d8]
test eax, eax
je 0x4c5d8c
mov eax, dword [0x97b1d0]
test eax, eax
je 0x4c5d8c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0xd38], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0xd30], eax
mov eax, dword [ebp + 8]
test eax, eax
jne 0x4c5972
mov dword [ebp - 4], eax
mov byte [eax], al
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xd2c], eax
jmp 0x4c5988
mov ecx, 0xb3
mov esi, dword [eax + 4]
lea edi, [ebp - 0x6e8]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xd38]
push 0x12
call dword [0x97b1f0]
push 0
push 0
push esi
call dword [0x97b1ec]
test eax, eax
je 0x4c5d93
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.004c5600
add esp, 8
mov ecx, 0x29
xor eax, eax
lea edi, [ebp - 0xdf8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x630]
mov dword [ebp - 0xdf8], eax
mov ecx, dword [ebp - 0x624]
mov dword [ebp - 0xdd4], ecx
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0xde0], edx
mov eax, 3
mov dword [ebp - 0xdf0], eax
mov dword [ebp - 0xdcc], eax
mov dword [ebp - 0xdd8], eax
mov ecx, 0x100
xor eax, eax
lea edi, [ebp - 0xae8]
rep stosd dword es:[edi], eax
mov dword [ebp - 0xae8], 0x18
mov dword [ebp - 0xad8], 0x3e9
push eax
mov eax, dword [0x97b1c8]
push eax
mov ecx, dword [0x97b1cc]
push ecx
push 0
lea edx, [ebp - 0x6e8]
push edx
lea eax, [ebp - 0xdf8]
push eax
mov ecx, dword [ebp - 0xd30]
push ecx
push esi
push 0x14c
call dword [0x97b1d0]
test eax, eax
je 0x4c5d7c
lea esp, [esp]
mov eax, dword [ebp - 0xd2c]
test eax, eax
jne 0x4c5a79
mov dword [ebp - 0xd2c], 1
jmp 0x4c5d42
mov eax, dword [ebp - 0xdf8]
mov dword [ebp - 0xae4], eax
mov dword [ebp - 0xd28], 0
lea edx, [ebp - 0xae8]
push edx
lea ecx, [ebp - 0xd28]
push ecx
push eax
push esi
call dword [0x97b1e4]
test eax, eax
je 0x4c5ab1
lea edi, [ebp - 0xad4]
jmp 0x4c5ae3
mov edi, str._nosymbols_
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SymGetSymFromAddr_error__d_n
push 0x400
lea edx, [ebp - 0x41c]
push edx
call fcn.004dd98c
lea eax, [ebp - 0x41c]
push eax
push ebx
call fcn.004da803
add esp, 0x18
mov eax, dword [ebp - 0xd34]
inc eax
mov dword [ebp - 0xd34], eax
mov ecx, dword [ebp - 0xdf8]
push ecx
push eax
push str.frame_:___02d__:_PC_Address_:__08x_n
push 0x400
lea edx, [ebp - 0x41c]
push edx
call fcn.004dd98c
lea eax, [ebp - 0x41c]
push eax
push ebx
call fcn.004da803
mov ecx, dword [ebp - 0xdc4]
push ecx
push str._____Param_0__:__08x_n
lea edx, [ebp - 0x41c]
push edx
call fcn.004da4d8
lea eax, [ebp - 0x41c]
push eax
push ebx
call fcn.004da803
mov ecx, dword [ebp - 0xdc0]
push ecx
push str._____Param_1__:__08x_n
lea edx, [ebp - 0x41c]
push edx
call fcn.004da4d8
lea eax, [ebp - 0x41c]
push eax
push ebx
call fcn.004da803
add esp, 0x44
mov ecx, dword [ebp - 0xdbc]
push ecx
push str._____Param_2__:__08x_n
lea edx, [ebp - 0x41c]
push edx
call fcn.004da4d8
lea eax, [ebp - 0x41c]
push eax
push ebx
call fcn.004da803
mov ecx, dword [ebp - 0xdb8]
push ecx
push str._____Param_3__:__08x_n
lea edx, [ebp - 0x41c]
push edx
call fcn.004da4d8
lea eax, [ebp - 0x41c]
push eax
push ebx
call fcn.004da803
add esp, 0x28
mov dword [ebp - 0xd24], 0x23c
lea ecx, [ebp - 0xd24]
push ecx
mov edx, dword [ebp - 0xdf8]
push edx
push esi
call dword [0x97b1d4]
test eax, eax
je 0x4c5bfe
lea eax, [ebp - 0xd08]
push eax
push str._____ModuleName_:__s_n
push 0x400
lea ecx, [ebp - 0x41c]
push ecx
call fcn.004dd98c
lea edx, [ebp - 0x41c]
push edx
jmp 0x4c5c22
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SymGetModuleInfo_error__d_n
push 0x400
lea eax, [ebp - 0x41c]
push eax
call fcn.004dd98c
lea ecx, [ebp - 0x41c]
push ecx
push ebx
call fcn.004da803
add esp, 0x18
mov dword [ebp - 0xd28], 0
mov dword [ebp - 0xd54], 0x14
mov eax, dword [0x97b1e0]
test eax, eax
je 0x4c5cee
lea edx, [ebp - 0xd54]
push edx
lea ecx, [ebp - 0xd28]
push ecx
mov edx, dword [ebp - 0xdf8]
push edx
push esi
call eax
test eax, eax
je 0x4c5cc1
mov eax, dword [ebp - 0xd48]
push eax
push str._____File_Name_:__s_n
push 0x400
lea ecx, [ebp - 0x41c]
push ecx
call fcn.004dd98c
lea edx, [ebp - 0x41c]
push edx
push ebx
call fcn.004da803
mov eax, dword [ebp - 0xd4c]
push eax
push str._____Line_Number_:__d_n
push 0x400
lea ecx, [ebp - 0x41c]
push ecx
call fcn.004dd98c
lea edx, [ebp - 0x41c]
push edx
push ebx
call fcn.004da803
add esp, 0x30
jmp 0x4c5cee
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SymGetLineFromAddr_error__d_n
push 0x400
lea eax, [ebp - 0x41c]
push eax
call fcn.004dd98c
lea ecx, [ebp - 0x41c]
push ecx
push ebx
call fcn.004da803
add esp, 0x18
push edi
push str._____Function_Name_:__s_n
push 0x400
lea edx, [ebp - 0x41c]
push edx
call fcn.004dd98c
lea eax, [ebp - 0x41c]
push eax
push ebx
call fcn.004da803
push 0x53786c
push 0x400
lea ecx, [ebp - 0x41c]
push ecx
call fcn.004dd98c
lea edx, [ebp - 0x41c]
push edx
push ebx
call fcn.004da803
add esp, 0x2c
mov eax, dword [ebp - 0xdec]
test eax, eax
je 0x4c5d7c
push 0
mov eax, dword [0x97b1c8]
push eax
mov ecx, dword [0x97b1cc]
push ecx
push 0
lea edx, [ebp - 0x6e8]
push edx
lea eax, [ebp - 0xdf8]
push eax
mov ecx, dword [ebp - 0xd30]
push ecx
push esi
push 0x14c
call dword [0x97b1d0]
test eax, eax
jne 0x4c5a60
push esi
call dword [0x97b1e8]
mov edx, dword [ebp - 0xd3c]
push edx
jmp 0x4c5d8d
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ebx
call fcn.004da7b2
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x1c]
call fcn.004da561
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret