Function at 0x140024b73
Capabilities:
Query environment variable

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
lea rax, str.getEnv
mov qword [rbp - 0x58], rax
lea rax, str.D:Tool_nim_1.4.8libpureincludesosenv.nim
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], 0
mov word [rbp - 0x40], 0
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.nimFrame_11
call sym.GetThreadLocalVars_11
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], 0
mov qword [rbp - 0x50], 0x82
lea rax, str.D:Tool_nim_1.4.8libpureincludesosenv.nim
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.findEnvVar__4kc4cxzsC7aY1IOKtOGazA
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x50], 0x83
lea rax, str.D:Tool_nim_1.4.8libpureincludesosenv.nim
mov qword [rbp - 0x48], rax
cmp qword [rbp - 0x18], 0
js 0x140024d80
mov qword [rbp - 0x50], 0x84
lea rax, str.D:Tool_nim_1.4.8libpureincludesosenv.nim
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x2c58]
test rax, rax
je 0x140024c3e
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x2c58]
mov rax, qword [rax]
mov rdx, rax
jmp 0x140024c43
mov edx, 0
mov rax, qword [rbp - 0x18]
cmp rax, rdx
jb 0x140024c83
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x2c58]
test rax, rax
je 0x140024c70
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x2c58]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x140024c77
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp - 0x18]
mov rcx, rax
call sym.raiseIndexError2
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x2c58]
test rax, rax
je 0x140024ca6
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x2c58]
mov rax, qword [rax]
mov rdx, rax
jmp 0x140024cab
mov edx, 0
mov rax, qword [rbp - 0x18]
cmp rax, rdx
jb 0x140024ceb
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x2c58]
test rax, rax
je 0x140024cd8
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x2c58]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x140024cdf
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp - 0x18]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp - 0x20], 0
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x2c58]
mov rdx, qword [rbp - 0x18]
add rdx, 2
mov rax, qword [rax + rdx*8]
mov r9d, 0
mov r8d, 0
mov edx, 0x3d
mov rcx, rax
call sym.nsuFindChar
mov qword [rbp - 0x20], rax
mov edx, 0
mov rax, qword [rbp - 0x20]
add rax, 1
jno 0x140024d3b
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x68]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140024d54
call sym.raiseOverflow
mov rdx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x2c58]
mov rcx, qword [rbp - 0x18]
add rcx, 2
mov rax, qword [rax + rcx*8]
mov rcx, rax
call sym.substr__iGg0RIKceRvsmvq8FUHOEw
mov qword [rbp - 8], rax
jmp 0x140024e18
nop
mov qword [rbp - 0x50], 0x86
lea rax, str.D:Tool_nim_1.4.8libpureincludesosenv.nim
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.nimToCStringConv_5
mov rcx, rax
call sym.getenv
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x50], 0x87
lea rax, str.D:Tool_nim_1.4.8libpureincludesosenv.nim
mov qword [rbp - 0x48], rax
mov byte [rbp - 0x29], 0
mov rax, qword [rbp - 0x28]
mov edx, 0
mov rcx, rax
call sym.eqeq___aqip9cmQIuefPKdd25wuEEwsystem_1
mov byte [rbp - 0x29], al
movzx eax, byte [rbp - 0x29]
xor eax, 1
test al, al
jne 0x140024df4
mov rax, qword [rbp + 0x18]
mov rcx, rax
call sym.copyString
mov qword [rbp - 8], rax
jmp 0x140024e18
nop
mov qword [rbp - 0x50], 0x88
lea rax, str.D:Tool_nim_1.4.8libpureincludesosenv.nim
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x28]
mov rcx, rax
call sym.cstrToNimstr
mov qword [rbp - 8], rax
call sym.popFrame_11
mov rax, qword [rbp - 8]
add rsp, 0x90
pop rbp
ret