Function at 0x140004940
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x14004a020]
xor rax, rsp
mov qword [rsp + 0x40], rax
cmp qword [rcx + 0x140], 0
mov rbx, rcx
jne 0x140004a4d
mov qword [rsp + 0x68], rdi
lea rdx, [0x14004c780]
xor edi, edi
mov r8d, 0x104
xor ecx, ecx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [0x14004c780]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea r8d, [rdi - 1]
mov qword [rsp + 0x20], rdi
lea rdx, [0x14004c780]
mov qword [rsp + 0x28], rdi
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x30], rdi
call fcn.140003330
mov edx, dword [rsp + 0x28]
lea rcx, [rsp + 0x20]
inc edx
call fcn.140003510
mov rcx, qword [rsp + 0x20]
lea r8, [0x140044dac]
movsxd rdx, eax
call fcn.140017364
mov edx, dword [rsp + 0x28]
lea rcx, [rsp + 0x20]
inc edx
mov dword [rsp + 0x28], edx
add edx, 0xb
call fcn.140003510
mov rdi, qword [rsp + 0x20]
lea r8, str.dbghelp.dll
mov rcx, rdi
movsxd rdx, eax
call fcn.140017364
test rdi, rdi
je 0x140004a18
cmp word [rdi], 0
mov rcx, rdi
jne 0x140004a1f
lea rcx, [0x140044cf4]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbx + 0x140], rax
test rdi, rdi
je 0x140004a39
mov rcx, rdi
call fcn.14001dd40
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x68]
test rcx, rcx
je 0x140004a4d
call fcn.14001dd40
mov rcx, qword [rbx + 0x140]
test rcx, rcx
je 0x140004bb4
lea rdx, str.SymSetOptions
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.SymInitializeW
mov qword [0x14004c640], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.SymCleanup
mov qword [0x14004c658], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.ImagehlpApiVersionEx
mov qword [0x14004c668], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.SymGetModuleBase64
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.MiniDumpReadDumpStream
mov qword [0x14004c628], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.SymFromAddrW
mov qword [0x14004c620], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.SymLoadModuleExW
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.SymGetLineFromAddr64
mov qword [0x14004c650], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.SymGetModuleInfo64
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.SymFunctionTableAccess64
mov qword [0x14004c648], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.StackWalk64
mov qword [0x14004c630], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.SymEnumSymbolsForAddr
mov qword [0x14004c638], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x140]
lea rdx, str.SymPrevW
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov byte [rbx + 0x148], 1
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400109f0
add rsp, 0x50
pop rbx
ret