Function at 0x1400341e6
Capabilities:
Query environment variable

Disassembly:
push rbp
push rbx
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
mov rbx, rcx
mov rcx, qword [rbx]
mov rbx, qword [rbx + 8]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rbx
mov rbx, rdx
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
mov dword [rbp + 0x170], r8d
lea rax, str.setEnvImpl
mov qword [rbp + 0x38], rax
lea rax, str.D:_a_nightlies_nightlies_nim_2.1.1lib_stdprivatewin_setenv.nim
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x40], 0
mov word [rbp + 0x50], 0
lea rax, [rbp + 0x30]
mov rcx, rax
call sym.nimFrame_22
call sym.nimErrorFlag_20
mov qword [rbp + 0x130], rax
mov dword [rbp + 0x13c], 0
lea rax, [rbp + 0xa0]
mov edx, 0x10
mov rcx, rax
call sym.nimZeroMem_12
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], 0
lea rax, [rbp + 0x80]
mov edx, 0x10
mov rcx, rax
call sym.nimZeroMem_12
lea rax, [rbp + 0x70]
mov edx, 0x10
mov rcx, rax
call sym.nimZeroMem_12
mov qword [rbp + 0x40], 0x30
lea rcx, [rbp - 0x50]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdx
lea rax, [rbp - 0x60]
mov rdx, rax
call sym.newWideCString__stdZwidestrs_u304
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rdx
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003540e
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.toWideCString__stdZwidestrs_u48_5
mov qword [rbp + 0x128], rax
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035411
mov qword [rbp + 0x40], 0x31
mov byte [rbp + 0x13b], 0
cmp dword [rbp + 0x170], 0
sete al
mov byte [rbp + 0x13b], al
movzx eax, byte [rbp + 0x13b]
xor eax, 1
test al, al
jne 0x1400343ad
mov qword [rbp + 0x120], 0
mov rax, qword [rbp + 0x128]
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wgetenv]
call rax
mov qword [rbp + 0x120], rax
cmp qword [rbp + 0x120], 0
setne al
mov byte [rbp + 0x13b], al
jmp 0x1400343ae
nop
movzx eax, byte [rbp + 0x13b]
xor eax, 1
test al, al
jne 0x1400344f3
mov qword [rbp + 0x40], 0x32
mov qword [rbp + 0x40], 0x2e
mov qword [rbp + 0x40], 0x32
mov dword [rbp + 0x13c], 0
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035560
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035563
mov qword [rbp + 0x40], 0x17b
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400344aa
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400344aa
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x14003558b
nop
mov qword [rbp + 0x40], 0x34
lea rax, str.D:_a_nightlies_nightlies_nim_2.1.1lib_stdprivatewin_setenv.nim
mov qword [rbp + 0x48], rax
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x140034af1
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x28], 0
lea rax, [rbp + 0x10]
mov edx, 0x10
mov rcx, rax
call sym.nimZeroMem_12
mov qword [rbp + 0x40], 0x35
mov qword [rbp], 0
mov qword [rbp + 8], 0
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x40]
add rax, rdx
lea rdx, [rax + 1]
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.rawNewString
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp], rax
mov qword [rbp + 8], rdx
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rdx, [rbp - 0x50]
mov rax, rbp
mov rcx, rax
call sym.appendString_8
mov rax, qword [0x1400bdaf0]
mov rdx, qword [0x1400bdaf8]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rdx, [rbp - 0x50]
mov rax, rbp
mov rcx, rax
call sym.appendString_8
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rdx, [rbp - 0x50]
mov rax, rbp
mov rcx, rax
call sym.appendString_8
mov rax, qword [rbp]
mov rdx, qword [rbp + 8]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rdx
lea rcx, [rbp - 0x50]
mov rax, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdx
lea rax, [rbp - 0x60]
mov rdx, rax
call sym.newWideCString__stdZwidestrs_u304
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rdx
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140034a37
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.toWideCString__stdZwidestrs_u48_5
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140034a3a
mov qword [rbp + 0x40], 0x36
mov rax, qword [rbp + 0x118]
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wputenv]
call rax
mov dword [rbp + 0x114], eax
mov qword [rbp + 0x40], 0x37
cmp dword [rbp + 0x114], 0
je 0x140034870
mov qword [rbp + 0x40], 0x38
mov rax, qword [sym.imp.msvcrt.dll__errno]
call rax
mov dword [rax], 0x16
mov qword [rbp + 0x40], 0x39
mov qword [rbp + 0x40], 0x2e
mov qword [rbp + 0x40], 0x39
mov dword [rbp + 0x13c], 0xffffffff
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035414
mov qword [rbp + 0x40], 0x17b
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x14003475f
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x14003475f
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035566
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035569
mov qword [rbp + 0x40], 0x17b
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034827
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034827
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x14003558b
nop
mov qword [rbp + 0x40], 0x3a
lea rax, str.D:_a_nightlies_nightlies_nim_2.1.1lib_stdprivatewin_setenv.nim
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x40], 0x2e
mov qword [rbp + 0x40], 0x3a
mov dword [rbp + 0x13c], 0
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035417
mov qword [rbp + 0x40], 0x17b
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034926
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034926
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003556c
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003556f
mov qword [rbp + 0x40], 0x17b
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400349ee
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400349ee
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x14003558b
nop
jmp 0x140034a3b
nop
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
mov byte [rbp + 0x113], al
mov rax, qword [rbp + 0x130]
mov byte [rax], 0
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003541a
mov qword [rbp + 0x40], 0x17b
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034aca
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034aca
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.deallocShared
mov rax, qword [rbp + 0x130]
movzx edx, byte [rbp + 0x113]
mov byte [rax], dl
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003541d
jmp 0x140034af2
nop
mov qword [rbp + 0x40], 0x41
lea rax, str.D:_a_nightlies_nightlies_nim_2.1.1lib_stdprivatewin_setenv.nim
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0
mov rax, qword [rbp - 0x30]
lea rdx, [rax + 3]
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.rawNewString
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rdx
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rdx, [rbp - 0x50]
lea rax, [rbp + 0x60]
mov rcx, rax
call sym.appendString_8
mov rax, qword [0x1400bdb10]
mov rdx, qword [0x1400bdb18]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rdx, [rbp - 0x50]
lea rax, [rbp + 0x60]
mov rcx, rax
call sym.appendString_8
mov rax, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rdx
lea rcx, [rbp - 0x50]
mov rax, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x98]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdx
lea rax, [rbp - 0x60]
mov rdx, rax
call sym.newWideCString__stdZwidestrs_u304
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rdx
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035420
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.toWideCString__stdZwidestrs_u48_5
mov qword [rbp + 0x108], rax
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035423
mov qword [rbp + 0x40], 0x42
mov dword [rbp + 0x104], 0
mov rax, qword [rbp + 0x108]
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wputenv]
call rax
mov dword [rbp + 0x104], eax
cmp dword [rbp + 0x104], 0
je 0x140034da6
mov qword [rbp + 0x40], 0x43
mov rax, qword [sym.imp.msvcrt.dll__errno]
call rax
mov dword [rax], 0x16
mov qword [rbp + 0x40], 0x44
mov qword [rbp + 0x40], 0x2e
mov qword [rbp + 0x40], 0x44
mov dword [rbp + 0x13c], 0xffffffff
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035572
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035575
mov qword [rbp + 0x40], 0x17b
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034d5d
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034d5d
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x14003558b
nop
mov qword [rbp + 0x40], 0x46
lea rax, str.D:_a_nightlies_nightlies_nim_2.1.1lib_stdprivatewin_setenv.nim
mov qword [rbp + 0x48], rax
mov qword [rbp + 0xf8], 0
mov rax, qword [rbp + 0x128]
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wgetenv]
call rax
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0x40], 0x47
mov rax, qword [rbp + 0xf0]
mov word [rax], 0
mov qword [rbp + 0x40], 0x4d
mov qword [rbp + 0xe8], 0
mov rax, qword [rbp + 0x128]
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wgetenv]
call rax
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0x40], 0x4e
mov rax, qword [rbp + 0xf0]
add rax, 2
mov word [rax], 0x3d
mov qword [rbp + 0x40], 0x55
mov rax, qword [sym.imp.msvcrt.dll__environ]
mov rax, qword [rax]
mov rax, qword [rax]
test rax, rax
je 0x1400350ae
mov qword [rbp + 0x40], 0x5b
mov rax, qword [rbp + 0x128]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call sym.wcstombs
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0x40], 0x5c
cmp qword [rbp + 0xe0], 0xffffffffffffffff
je 0x1400350b1
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0
mov qword [rbp + 0x40], 0x5d
mov rax, qword [rbp + 0xe0]
test rax, rax
jns 0x140034edf
call sym.raiseRangeErrorNoArgs
jmp 0x14003542a
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0x40], 0x5e
mov edx, 0
mov rax, qword [rbp + 0xd8]
add rax, 1
jno 0x140034f0c
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140034f2a
call sym.raiseOverflow
jmp 0x14003542a
mov rax, qword [rbp - 0x18]
test rax, rax
jns 0x140034f53
mov rax, qword [rbp - 0x18]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x14003542a
mov rdx, qword [rbp - 0x18]
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.newSeq__stdZprivateZwin95setenv_u138
mov qword [rbp + 0x40], 0x5f
mov rax, qword [rbp - 0x10]
test rax, rax
jg 0x140034f8e
mov rax, qword [rbp - 0x10]
sub rax, 1
mov rdx, rax
mov ecx, 0
call sym.raiseIndexError2
jmp 0x14003542a
mov rax, qword [rbp - 8]
add rax, 8
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0x40], 0x60
mov edx, 0
mov rax, qword [rbp + 0xd8]
add rax, 1
jno 0x140034fbc
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140034fda
call sym.raiseOverflow
jmp 0x14003542a
mov qword [rbp + 0xc8], 0
mov rax, qword [rbp - 0x20]
mov rcx, rax
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0xd0]
mov r8, rcx
mov rcx, rax
call sym.wcstombs
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xc8], 0xffffffffffffffff
je 0x14003507c
mov qword [rbp + 0x40], 0x61
mov rax, qword [rbp + 0xd0]
mov rcx, rax
call sym.getenv
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x40], 0x62
mov rax, qword [rbp + 0xc0]
mov byte [rax], 0
mov qword [rbp + 0x40], 0x63
mov rax, qword [rbp + 0xd0]
mov rcx, rax
call sym.getenv
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x40], 0x64
mov rax, qword [rbp + 0xc0]
add rax, 1
mov byte [rax], 0x3d
jmp 0x14003507d
nop
mov qword [rbp + 0x40], 0x27c
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZprivateZwin95setenv_u149
jmp 0x1400350b2
nop
jmp 0x1400350b2
nop
mov qword [rbp + 0x40], 0x67
lea rax, str.D:_a_nightlies_nightlies_nim_2.1.1lib_stdprivatewin_setenv.nim
mov qword [rbp + 0x48], rax
lea rcx, [rbp - 0x50]
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdx
lea rax, [rbp - 0x60]
mov rdx, rax
call sym.newWideCString__stdZwidestrs_u304
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rdx
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035426
mov qword [rbp + 0xb8], 0
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.toWideCString__stdZwidestrs_u48_5
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035429
mov dword [rbp + 0xb4], 0
mov r8, qword [0x1400dc2f0]
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0x128]
mov rcx, rax
call r8
mov dword [rbp + 0xb4], eax
cmp dword [rbp + 0xb4], 0
jne 0x1400352cf
mov qword [rbp + 0x40], 0x68
mov rax, qword [sym.imp.msvcrt.dll__errno]
call rax
mov dword [rax], 0x16
mov qword [rbp + 0x40], 0x69
mov qword [rbp + 0x40], 0x2e
mov qword [rbp + 0x40], 0x69
mov dword [rbp + 0x13c], 0xffffffff
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035578
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003557b
mov qword [rbp + 0x40], 0x17b
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140035286
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140035286
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x14003558b
nop
mov qword [rbp + 0x40], 0x6a
lea rax, str.D:_a_nightlies_nightlies_nim_2.1.1lib_stdprivatewin_setenv.nim
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x40], 0x2e
mov qword [rbp + 0x40], 0x6a
mov dword [rbp + 0x13c], 0
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003557e
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035581
mov qword [rbp + 0x40], 0x17b
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400353c5
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400353c5
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x14003558b
nop
jmp 0x14003542a
nop
jmp 0x14003542a
nop
jmp 0x14003542a
nop
jmp 0x14003542a
nop
jmp 0x14003542a
nop
jmp 0x14003542a
nop
jmp 0x14003542a
nop
jmp 0x14003542a
nop
jmp 0x14003542a
nop
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
mov byte [rbp + 0xb3], al
mov rax, qword [rbp + 0x130]
mov byte [rax], 0
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x78]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035584
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035587
mov qword [rbp + 0x40], 0x17b
lea rax, [0x1400bdc20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400354f9
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400354f9
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400bdb90]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.eqdestroy___stdZwidestrs_u6
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003558a
mov rax, qword [rbp + 0x130]
movzx edx, byte [rbp + 0xb3]
mov byte [rax], dl
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
jmp 0x14003558b
nop
call sym.popFrame_22
mov eax, dword [rbp + 0x13c]
add rsp, 0x1c8
pop rbx
pop rbp
ret