Function at 0x14fb1b0
Capabilities:
Link many functions at runtime

Disassembly:
sub esp, 0x108
mov eax, dword [0x15b0648]
xor eax, esp
mov dword [esp + 0x104], eax
cmp byte [0x15d5f58], 0
je 0x14fb1e4
mov al, 1
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.0153eb33
add esp, 0x108
ret
push esi
push edi
push 0x103
lea eax, [esp + 0xd]
push 0
push eax
mov byte [esp + 0x14], 0
call fcn.0153ecd0
add esp, 0xc
push 0x158824c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
mov dword [0x15d5f54], eax
jne 0x14fb286
mov eax, 0x15d5f60
mov edx, str.cannot_load_dbghelp.dll
xor edi, edi
mov esi, 0x1000
sub edx, eax
lea ecx, [esi + 0x7fffeffe]
test ecx, ecx
je 0x14fb243
mov cl, byte [edx + eax]
test cl, cl
je 0x14fb243
mov byte [eax], cl
add eax, 1
sub esi, 1
jne 0x14fb226
jmp 0x14fb247
test esi, esi
jne 0x14fb24f
sub eax, 1
mov edi, 0x8007007a
test edi, edi
mov byte [eax], 0
je 0x14fb25b
call fcn.014fbaa0
push 0x15d5f60
push 0x2000001
call fcn.01509090
add esp, 8
pop edi
xor al, al
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.0153eb33
add esp, 0x108
ret
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1588220
push eax
call esi
test eax, eax
mov dword [0x15d5f28], eax
je 0x14fb3d7
mov edx, dword [0x15d5f54]
push str.StackWalk
push edx
call esi
test eax, eax
mov dword [0x15d5f2c], eax
je 0x14fb3d7
mov eax, dword [0x15d5f54]
push str.SymFunctionTableAccess
push eax
call esi
test eax, eax
mov dword [0x15d5f30], eax
je 0x14fb3d7
mov ecx, dword [0x15d5f54]
push str.SymGetModuleBase
push ecx
call esi
test eax, eax
mov dword [0x15d5f34], eax
je 0x14fb3d7
mov edx, dword [0x15d5f54]
push str.SymInitialize
push edx
call esi
test eax, eax
mov dword [0x15d5f38], eax
je 0x14fb3d7
mov eax, dword [0x15d5f54]
push str.SymSetOptions
push eax
call esi
test eax, eax
mov dword [0x15d5f3c], eax
je 0x14fb3d7
mov ecx, dword [0x15d5f54]
push str.SymGetOptions
push ecx
call esi
test eax, eax
mov dword [0x15d5f40], eax
je 0x14fb3d7
mov edx, dword [0x15d5f54]
push str.UnDecorateSymbolName
push edx
call esi
test eax, eax
mov dword [0x15d5f44], eax
je 0x14fb3d7
mov eax, dword [0x15d5f54]
push str.SymGetLineFromAddr
push eax
call esi
test eax, eax
mov dword [0x15d5f48], eax
je 0x14fb3d7
mov ecx, dword [0x15d5f54]
push str.SymGetSymFromAddr
push ecx
call esi
test eax, eax
mov dword [0x15d5f4c], eax
je 0x14fb3d7
mov edx, dword [0x15d5f54]
push str.SymGetModuleInfo
push edx
call esi
test eax, eax
mov dword [0x15d5f50], eax
je 0x14fb3d7
call dword [0x15d5f40]
and eax, 0xfffffffd
or eax, 0x414
push eax
call dword [0x15d5f3c]
lea eax, [esp + 8]
push eax
call fcn.014faf80
add esp, 4
push 1
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [0x15d5f38]
test eax, eax
jne 0x14fb45d
mov eax, 0x15d5f60
mov edx, str.cannot_load_dbghelp.dll_:_wrong_version_or_SymInitialize_fail
xor edi, edi
mov esi, 0x1000
sub edx, eax
lea ebx, [ebx]
lea ecx, [esi + 0x7fffeffe]
test ecx, ecx
je 0x14fb40d
mov cl, byte [edx + eax]
test cl, cl
je 0x14fb40d
mov byte [eax], cl
add eax, 1
sub esi, 1
jne 0x14fb3f0
jmp 0x14fb411
test esi, esi
jne 0x14fb419
sub eax, 1
mov edi, 0x8007007a
test edi, edi
mov byte [eax], 0
je 0x14fb425
call fcn.014fbaa0
push 0x15d5f60
push 0x2000001
call fcn.01509090
mov edx, dword [0x15d5f54]
add esp, 8
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
xor al, al
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.0153eb33
add esp, 0x108
ret
mov ecx, dword [esp + 0x10c]
pop edi
pop esi
xor ecx, esp
mov byte [0x15d5f58], 1
mov al, 1
call fcn.0153eb33
add esp, 0x108
ret