Function at 0x140066b10
Capabilities:
Enumerate pe sections
Link many functions at runtime
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x2a0
mov rax, qword [0x1401b4048]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov rbx, rcx
lea rcx, [0x140146fb0]
call fcn.1400679e0
mov r14, qword [rbx]
xor edi, edi
mov esi, dword [r14]
cmp esi, 0xc0000005
ja 0x140066bbb
je 0x140066baf
cmp esi, 0x80000001
je 0x140066ba3
cmp esi, 0x80000002
je 0x140066b97
cmp esi, 0x80000003
je 0x140066b8b
cmp esi, 0x80000004
jne case.0x140066be5.1073741817
lea rbx, str.SINGLE_STEP
jmp 0x140066cd5
lea rbx, str.BREAKPOINT
jmp 0x140066cd5
lea rbx, str.DATATYPE_MISALIGNMENT
jmp 0x140066cd5
lea rbx, str.GUARD_PAGE
jmp 0x140066cd5
lea rbx, str.ACCESS_VIOLATION
jmp 0x140066cd5
lea eax, [rsi + 0x3ffffffa]
cmp eax, 0xf7
ja case.0x140066be5.1073741817
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x66f3c]
mov ecx, dword [rdx + rax*4 + 0x66ef4]
add rcx, rdx
jmp rcx
lea rbx, str.ARRAY_BOUNDS_EXCEEDED
jmp 0x140066cd5
lea rbx, str.FLT_DENORMAL_OPERAND
jmp 0x140066cd5
lea rbx, str.FLT_DIVIDE_BY_ZERO
jmp 0x140066cd5
lea rbx, str.FLT_INEXACT_RESULT
jmp 0x140066cd5
lea rbx, str.FLT_INVALID_OPERATION
jmp 0x140066cd5
lea rbx, str.FLT_OVERFLOW
jmp 0x140066cd5
lea rbx, str.FLT_STACK_CHECK
jmp 0x140066cd5
lea rbx, str.FLT_UNDERFLOW
jmp 0x140066cd5
lea rbx, str.INT_DIVIDE_BY_ZERO
jmp 0x140066cd5
lea rbx, str.INT_OVERFLOW
jmp 0x140066cd5
lea rbx, str.PRIV_INSTRUCTION
jmp 0x140066cd5
lea rbx, str.IN_PAGE_ERROR
jmp 0x140066cd5
lea rbx, str.ILLEGAL_INSTRUCTION
jmp 0x140066cd5
lea rbx, str.NONCONTINUABLE_EXCEPTION
jmp 0x140066cd5
lea rbx, str.STACK_OVERFLOW
jmp 0x140066cd5
lea rbx, str.INVALID_DISPOSITION
jmp 0x140066cd5
lea rbx, str.INVALID_HANDLE
jmp 0x140066cd5
lea rcx, str.NTDLL.DLL
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x30], rdi
lea rbx, [0x1401be550]
mov rdx, rax
mov dword [rsp + 0x28], 0x400
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov r8d, esi
mov ecx, 0xa00
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov edx, dword [r14]
lea rcx, str.Exception_code:__08X__s_r_n
mov r8, rbx
call fcn.1400679e0
mov rbx, qword [r14 + 0x10]
lea rdx, [rsp + 0x48]
mov rcx, rbx
mov r8d, 0x30
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x140066d83
mov rsi, qword [rsp + 0x50]
lea rdx, [rsp + 0x80]
mov rcx, rsi
mov r8d, 0x208
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140066d83
movsxd rcx, dword [rsi + 0x3c]
lea rdx, [rsi + 0x18]
add rdx, rcx
sub rbx, rsi
movzx eax, word [rcx + rsi + 0x14]
movzx r9d, word [rcx + rsi + 6]
add rdx, rax
test r9d, r9d
je 0x140066d83
mov r10d, 0x10
nop dword [rax + rax]
mov ecx, dword [rdx + 0xc]
mov r8d, dword [rdx + 8]
cmp rbx, rcx
jl 0x140066d78
cmp dword [rdx + 0x10], r8d
mov eax, 8
cmovae rax, r10
mov eax, dword [rax + rdx]
add rax, rcx
cmp rbx, rax
jle 0x140066eaf
inc edi
add rdx, 0x28
cmp edi, r9d
jb 0x140066d50
mov ebx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov rdx, qword [r14 + 0x10]
lea rax, [rsp + 0x80]
mov r9d, ebx
mov qword [rsp + 0x20], rax
lea rcx, str.Fault_address:___08X__02X:_08X__s_r_n
call fcn.1400679e0
lea rcx, str.IMAGEHLP.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
test rax, rax
je 0x140066eba
lea rdx, str.SymInitialize
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401be4f0], rax
test rax, rax
je 0x140066eba
lea rdx, str.SymCleanup
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401be4f8], rax
test rax, rax
je 0x140066eba
lea rdx, str.StackWalk
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401be500], rax
test rax, rax
je 0x140066eba
lea rdx, str.SymFunctionTableAccess
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401be508], rax
test rax, rax
je 0x140066eba
lea rdx, str.SymGetModuleBase
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401be510], rax
test rax, rax
je 0x140066eba
lea rdx, str.SymGetSymFromAddr
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401be518], rax
test rax, rax
je 0x140066eba
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 1]
call qword [0x1401be4f0]
test eax, eax
je 0x140066eba
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
call qword [0x1401be4f8]
lea rcx, [0x1401468c4]
call fcn.1400679e0
jmp 0x140066ec7
lea r8d, [rdi + 1]
sub ebx, ecx
jmp 0x140066d8c
lea rcx, str.IMAGEHLP.DLL_or_its_exported_procs_not_found
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.1400bf400
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret