Function at 0x412490
Capabilities:
Link many functions at runtime

Disassembly:
sub esp, 0x108
mov eax, dword [0x4e0c44]
xor eax, esp
mov dword [esp + 0x104], eax
push 0x103
lea eax, [esp + 5]
push 0
push eax
mov byte [esp + 0xc], 0
call fcn.0047ec20
add esp, 0xc
cmp byte [0x4f72ac], 0
je 0x4124dd
mov al, 1
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.0047e4dd
add esp, 0x108
ret
push esi
push str.dbghelp.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
mov dword [0x4f72a8], eax
jne 0x41255d
mov eax, 0x4f72b8
mov esi, str.cannot_load_dbghelp.dll
mov edx, 0x1000
sub esi, eax
lea ecx, [edx + 0x7fffeffe]
test ecx, ecx
je 0x41253b
mov cl, byte [esi + eax]
test cl, cl
je 0x41253b
mov byte [eax], cl
add eax, 1
sub edx, 1
jne 0x412503
sub eax, 1
mov byte [eax], dl
xor al, al
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.0047e4dd
add esp, 0x108
ret
test edx, edx
jne 0x412542
sub eax, 1
mov byte [eax], 0
xor al, al
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.0047e4dd
add esp, 0x108
ret
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MiniDumpWriteDump
push eax
call esi
test eax, eax
mov dword [0x4f727c], eax
je 0x4126a6
mov edx, dword [0x4f72a8]
push str.StackWalk
push edx
call esi
test eax, eax
mov dword [0x4f7280], eax
je 0x4126a6
mov eax, dword [0x4f72a8]
push str.SymFunctionTableAccess
push eax
call esi
test eax, eax
mov dword [0x4f7284], eax
je 0x4126a6
mov ecx, dword [0x4f72a8]
push str.SymGetModuleBase
push ecx
call esi
test eax, eax
mov dword [0x4f7288], eax
je 0x4126a6
mov edx, dword [0x4f72a8]
push str.SymInitialize
push edx
call esi
test eax, eax
mov dword [0x4f728c], eax
je 0x4126a6
mov eax, dword [0x4f72a8]
push str.SymSetOptions
push eax
call esi
test eax, eax
mov dword [0x4f7290], eax
je 0x4126a6
mov ecx, dword [0x4f72a8]
push str.SymGetOptions
push ecx
call esi
test eax, eax
mov dword [0x4f7294], eax
je 0x4126a6
mov edx, dword [0x4f72a8]
push str.UnDecorateSymbolName
push edx
call esi
test eax, eax
mov dword [0x4f7298], eax
je 0x4126a6
mov eax, dword [0x4f72a8]
push str.SymGetLineFromAddr
push eax
call esi
test eax, eax
mov dword [0x4f729c], eax
je 0x4126a6
mov ecx, dword [0x4f72a8]
push str.SymGetSymFromAddr
push ecx
call esi
test eax, eax
mov dword [0x4f72a0], eax
je 0x4126a6
mov edx, dword [0x4f72a8]
push str.SymGetModuleInfo
push edx
call esi
test eax, eax
mov dword [0x4f72a4], eax
je 0x4126a6
call dword [0x4f7294]
and eax, 0xfffffffd
or eax, 0x414
push eax
call dword [0x4f7290]
lea esi, [esp + 4]
call fcn.004120a0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [0x4f728c]
test eax, eax
jne 0x41270c
mov eax, 0x4f72b8
mov esi, str.cannot_load_dbghelp.dll_:_wrong_version_or_SymInitialize_fail
mov edx, 0x1000
sub esi, eax
jmp 0x4126c0
lea ecx, [edx + 0x7fffeffe]
test ecx, ecx
je 0x4126dd
mov cl, byte [esi + eax]
test cl, cl
je 0x4126dd
mov byte [eax], cl
add eax, 1
sub edx, 1
jne 0x4126c0
jmp 0x4126e1
test edx, edx
jne 0x4126e4
sub eax, 1
mov edx, dword [0x4f72a8]
push edx
mov byte [eax], 0
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor al, al
pop esi
mov ecx, dword [esp + 0x104]
xor ecx, esp
call fcn.0047e4dd
add esp, 0x108
ret
mov ecx, dword [esp + 0x108]
pop esi
xor ecx, esp
mov byte [0x4f72ac], 1
mov al, 1
call fcn.0047e4dd
add esp, 0x108
ret