Function at 0x1400343f6
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 0x14003561e
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 0x140035621
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 0x1400345bd
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 0x1400345be
nop
movzx eax, byte [rbp + 0x13b]
xor eax, 1
test al, al
jne 0x140034703
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, [0x1400beb90]
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 0x140035770
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 0x140035773
mov qword [rbp + 0x40], 0x172
lea rax, [0x1400bec20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400346ba
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400346ba
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400beb90]
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 0x14003579b
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 0x140034d01
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 [0x1400beaf0]
mov rdx, qword [0x1400beaf8]
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 0x140034c47
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 0x140034c4a
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 0x140034a80
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, [0x1400beb90]
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 0x140035624
mov qword [rbp + 0x40], 0x172
lea rax, [0x1400bec20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x14003496f
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x14003496f
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400beb90]
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 0x140035776
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 0x140035779
mov qword [rbp + 0x40], 0x172
lea rax, [0x1400bec20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034a37
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034a37
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400beb90]
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 0x14003579b
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, [0x1400beb90]
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 0x140035627
mov qword [rbp + 0x40], 0x172
lea rax, [0x1400bec20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034b36
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034b36
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400beb90]
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 0x14003577c
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 0x14003577f
mov qword [rbp + 0x40], 0x172
lea rax, [0x1400bec20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034bfe
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034bfe
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400beb90]
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 0x14003579b
nop
jmp 0x140034c4b
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 0x14003562a
mov qword [rbp + 0x40], 0x172
lea rax, [0x1400bec20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034cda
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034cda
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 0x14003562d
jmp 0x140034d02
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 [0x1400beb10]
mov rdx, qword [0x1400beb18]
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 0x140035630
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 0x140035633
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 0x140034fb6
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, [0x1400beb90]
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 0x140035782
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 0x140035785
mov qword [rbp + 0x40], 0x172
lea rax, [0x1400bec20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034f6d
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034f6d
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400beb90]
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 0x14003579b
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 0x1400352be
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 0x1400352c1
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0
mov qword [rbp + 0x40], 0x5d
mov rax, qword [rbp + 0xe0]
test rax, rax
jns 0x1400350ef
call sym.raiseRangeErrorNoArgs
jmp 0x14003563a
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 0x14003511c
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14003513a
call sym.raiseOverflow
jmp 0x14003563a
mov rax, qword [rbp - 0x18]
test rax, rax
jns 0x140035163
mov rax, qword [rbp - 0x18]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x14003563a
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 0x14003519e
mov rax, qword [rbp - 0x10]
sub rax, 1
mov rdx, rax
mov ecx, 0
call sym.raiseIndexError2
jmp 0x14003563a
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 0x1400351cc
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400351ea
call sym.raiseOverflow
jmp 0x14003563a
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 0x14003528c
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 0x14003528d
nop
mov qword [rbp + 0x40], 0x277
lea rax, [0x1400bec20]
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 0x1400352c2
nop
jmp 0x1400352c2
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 0x140035636
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 0x140035639
mov dword [rbp + 0xb4], 0
mov r8, qword [0x1400dd2f0]
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 0x1400354df
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, [0x1400beb90]
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 0x140035788
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 0x14003578b
mov qword [rbp + 0x40], 0x172
lea rax, [0x1400bec20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140035496
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140035496
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400beb90]
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 0x14003579b
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, [0x1400beb90]
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 0x14003578e
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 0x140035791
mov qword [rbp + 0x40], 0x172
lea rax, [0x1400bec20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400355d5
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400355d5
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400beb90]
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 0x14003579b
nop
jmp 0x14003563a
nop
jmp 0x14003563a
nop
jmp 0x14003563a
nop
jmp 0x14003563a
nop
jmp 0x14003563a
nop
jmp 0x14003563a
nop
jmp 0x14003563a
nop
jmp 0x14003563a
nop
jmp 0x14003563a
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 0x140035794
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 0x140035797
mov qword [rbp + 0x40], 0x172
lea rax, [0x1400bec20]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140035709
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140035709
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1d
lea rax, [0x1400beb90]
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 0x14003579a
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 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
jmp 0x14003579b
nop
call sym.popFrame_22
mov eax, dword [rbp + 0x13c]
add rsp, 0x1c8
pop rbx
pop rbp
ret