Function at 0x306e27835
Capabilities:
Link many functions at runtime

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rbx, qword [0x306e6aa68]
test rbx, rbx
jne 0x306e27c32
lea rcx, [0x306e49980]
mov r9d, 3
mov edx, 1
lea r8, [0x306e49960]
call sym.findExe__pureZos_802
mov rcx, rax
test rax, rax
je 0x306e27881
cmp qword [rax], 0
jne 0x306e278d8
mov rcx, qword [0x306e4b910]
mov edx, 0x30
lea r13, [0x306e479be]
call sym.newObj
lea rcx, [0x306e49920]
mov r12, rax
mov rax, qword [0x306e4b990]
mov qword [r12 + 0x10], r13
mov r14, qword [r12 + 0x18]
mov qword [r12], rax
call sym.copyStringRC1
mov qword [r12 + 0x18], rax
test r14, r14
je 0x306e27bfc
mov rcx, r14
call sym.nimGCunrefNoCycle.lto_priv.0.lto_priv.0
jmp 0x306e27bfc
lea r14, [0x306e6aa20]
lea rbp, [0x306e6a9e0]
call sym.nosparentDir
mov edx, 0x20
mov rcx, r14
lea r13, [rsp + 0x50]
mov rsi, rax
lea r15, [0x306e498f0]
call sym.newObj
mov qword [rax], rbp
mov rdi, rax
mov edx, 0x10
mov rcx, r13
call sym.nimZeroMem.lto_priv.0.lto_priv.0
mov rcx, rdi
call sym.libPythonNames__6758Z85sersZrunneradminZOnimbleZpkgsZnimpy4548O50O48ZnimpyZpy95lib_1087
cmp qword [rdi + 8], 0
mov rdx, rax
js 0x306e2794a
mov rcx, rsi
call sym.nosjoinPath
mov ecx, 4
mov rdx, rax
test rax, rax
je 0x306e2796e
mov rax, qword [rax]
lea rcx, [rax + 4]
jmp 0x306e2796e
mov edx, 0x20
mov rcx, r14
xor r12d, r12d
mov qword [rsp + 0x48], 0
call sym.newObj
mov qword [rax], rbp
mov rdi, rax
jmp 0x306e279ef
mov qword [rsp + 0x38], rdx
call sym.rawNewString
mov rdx, qword [rsp + 0x38]
mov r12, rax
mov rcx, rax
call sym.appendString.lto_priv.0.lto_priv.0
mov rdx, r15
mov rcx, r12
call sym.appendString.part.0.lto_priv.0.lto_priv.0
mov edx, 1
mov rcx, r12
call sym.loadLib__pureZdynlib_3
test rax, rax
je 0x306e2790d
mov rbx, rax
jmp 0x306e27c2a
mov rdx, qword [0x306e4b940]
mov rcx, r12
call sym.incrSeqV3
mov rcx, r14
mov rbp, qword [rax]
mov r12, rax
lea rax, [rbp + 1]
add rbp, 2
mov qword [r12], rax
mov r15, qword [r12 + rbp*8]
call sym.copyStringRC1
mov qword [r12 + rbp*8], rax
test r15, r15
je 0x306e279ef
mov rcx, r15
call sym.nimGCunrefNoCycle.lto_priv.0.lto_priv.0
mov edx, 0x10
mov rcx, r13
call sym.nimZeroMem.lto_priv.0.lto_priv.0
mov rcx, rdi
call sym.libPythonNames__6758Z85sersZrunneradminZOnimbleZpkgsZnimpy4548O50O48ZnimpyZpy95lib_1087
cmp qword [rdi + 8], 0
mov r14, rax
jns 0x306e279b1
xor ecx, ecx
test r12, r12
je 0x306e27a2f
mov rcx, qword [r12]
test rcx, rcx
jns 0x306e27a2f
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
call sym.newSeq__systemZio_589
xor edi, edi
mov r15, rax
test r12, r12
je 0x306e27a42
mov rdi, qword [r12]
xor r13d, r13d
xor r14d, r14d
lea rbp, [0x306e498f0]
cmp r13, rdi
jl 0x306e27a84
mov r8, qword [0x306e4b940]
lea rcx, [rsp + 0x48]
mov rdx, r15
call sym.genericSeqAssign
mov rcx, qword [rsp + 0x48]
xor edx, edx
test rcx, rcx
je 0x306e27b5a
mov rdx, qword [rcx]
add rcx, 0x10
jmp 0x306e27b5a
test r13, r13
jns 0x306e27a9b
or rdx, 0xffffffffffffffff
test r12, r12
je 0x306e27aad
mov rdx, qword [r12]
dec rdx
jmp 0x306e27aad
xor eax, eax
test r12, r12
je 0x306e27aa6
mov rax, qword [r12]
cmp r13, rax
jge 0x306e27a89
jmp 0x306e27ab2
mov rcx, r13
jmp 0x306e27ad5
test r15, r15
je 0x306e27ace
test r14, r14
js 0x306e27ac9
cmp r14, qword [r15]
jl 0x306e27ada
mov rdx, qword [r15]
dec rdx
jmp 0x306e27ad2
test r15, r15
jne 0x306e27ac1
or rdx, 0xffffffffffffffff
mov rcx, r14
call sym.raiseIndexError2
mov rdx, qword [r12 + r13*8 + 0x10]
mov rcx, rsi
call sym.nosjoinPath
mov ecx, 4
mov rdx, rax
test rax, rax
je 0x306e27afb
mov rax, qword [rax]
lea rcx, [rax + 4]
mov qword [rsp + 0x38], rdx
call sym.rawNewString
mov rdx, qword [rsp + 0x38]
mov rcx, rax
mov qword [rsp + 0x38], rax
call sym.appendString.lto_priv.0.lto_priv.0
mov rcx, qword [rsp + 0x38]
mov rdx, rbp
call sym.appendString.part.0.lto_priv.0.lto_priv.0
mov rdx, qword [rsp + 0x38]
lea rcx, [r15 + r14*8 + 0x10]
call sym.asgnRef.lto_priv.0.lto_priv.0
add r14, 1
jno 0x306e27b3e
call sym.raiseOverflow
add r13, 1
jo 0x306e27b39
cmp rdi, qword [r12]
je 0x306e27a4f
lea rcx, [0x306e49880]
jmp 0x306e27d5f
lea r8, [0x306e49860]
lea r15, [0x306e479be]
call sym.nsuJoinSep
mov rcx, qword [0x306e4b910]
mov edx, 0x30
mov r14, rax
call sym.newObj
mov ecx, 0x20
mov r12, rax
mov rax, qword [0x306e4b990]
mov qword [r12 + 0x10], r15
mov qword [r12], rax
test r14, r14
je 0x306e27ba5
mov rax, qword [r14]
lea rcx, [rax + 0x20]
call sym.rawNewString
lea rdx, [0x306e49820]
mov r13, rax
mov rcx, rax
call sym.appendString.part.0.lto_priv.0.lto_priv.0
mov rdx, r14
mov rcx, r13
call sym.appendString.lto_priv.0.lto_priv.0
lea rcx, [r12 + 0x18]
mov rdx, r13
call sym.asgnRef.lto_priv.0.lto_priv.0
xor edx, edx
lea rcx, [r12 + 8]
call sym.asgnRef.lto_priv.0.lto_priv.0
lea r9, str.py_lib.nim
lea r8, str.pythonLibHandleFromExternalLib
mov rdx, r15
mov qword [rsp + 0x20], 0x194
jmp 0x306e27c22
xor edx, edx
lea rcx, [r12 + 8]
call sym.asgnRef.lto_priv.0.lto_priv.0
lea r9, str.py_lib.nim
lea r8, str.pythonLibHandleFromExternalLib
mov rdx, r13
mov qword [rsp + 0x20], 0x196
mov rcx, r12
call sym.raiseExceptionEx
mov rcx, rbx
call sym.initPyLib__6758Z85sersZrunneradminZOnimbleZpkgsZnimpy4548O50O48ZnimpyZpy95lib_1268
mov rax, qword [0x306e6aa68]
lea rdx, str.PyThreadState_Get
mov byte [0x306e6aa60], 1
mov r13, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rax]
call r13
call rax
mov r12, rax
mov rax, qword [0x306e6aa68]
mov rdx, qword [rax + 0x250]
cmp rdx, 2
je 0x306e27c7b
cmp rdx, 3
jne 0x306e27c89
cmp qword [r12 + 0x18], 0
jmp 0x306e27c81
cmp qword [r12 + 0x10], 0
jne 0x306e27d65
jmp 0x306e27c95
lea rcx, [0x306e499e0]
jmp 0x306e27d5f
mov rcx, qword [rax]
lea rdx, str.PyImport_AddModule
call r13
lea rdx, str.PyModule_GetDict
mov rbp, rax
mov rax, qword [0x306e6aa68]
mov rcx, qword [rax]
call r13
lea rdx, str.PyCode_NewEmpty
mov rsi, rax
mov rax, qword [0x306e6aa68]
mov rcx, qword [rax]
call r13
lea rdx, str.PyFrame_New
mov rdi, rax
mov rax, qword [0x306e6aa68]
mov rcx, qword [rax]
call r13
mov rbx, rax
test rbp, rbp
je 0x306e27d65
test rsi, rsi
je 0x306e27d65
test rdi, rdi
je 0x306e27d65
test rax, rax
je 0x306e27d65
lea rcx, str.__main__
call rbp
mov rcx, rax
call rsi
xor r8d, r8d
lea rdx, [0x306e47b7a]
lea rcx, str.null.py
mov rsi, rax
call rdi
mov r9, rsi
mov r8, rsi
mov rcx, r12
mov rdx, rax
call rbx
mov rdx, qword [0x306e6aa68]
mov rdx, qword [rdx + 0x250]
cmp rdx, 2
je 0x306e27d51
cmp rdx, 3
jne 0x306e27d58
mov qword [r12 + 0x18], rax
jmp 0x306e27d65
mov qword [r12 + 0x10], rax
jmp 0x306e27d65
lea rcx, [0x306e499a0]
call sym.raiseAssert__systemZassertions_32
nop
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret