Function at 0x1400344e1
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.2.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_19
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 rax, str.D:_a_nightlies_nightlies_nim_2.2.1lib_stdprivatewin_setenv.nim
mov qword [rbp + 0x48], rax
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_u316
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 0x140035714
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_u49_5
mov qword [rbp + 0x128], rax
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035717
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 0x1400346b3
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 0x1400346b4
nop
movzx eax, byte [rbp + 0x13b]
xor eax, 1
test al, al
jne 0x1400347f9
mov qword [rbp + 0x40], 0x32
mov qword [rbp + 0x40], 0x2e
mov qword [rbp + 0x40], 0x32
mov dword [rbp + 0x13c], 0
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035866
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035869
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400347b0
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400347b0
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x140035891
nop
mov qword [rbp + 0x40], 0x34
lea rax, str.D:_a_nightlies_nightlies_nim_2.2.1lib_stdprivatewin_setenv.nim
mov qword [rbp + 0x48], rax
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x140034df7
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 rax, qword [rbp - 0x30]
lea rdx, [rax + 1]
mov rax, qword [rbp - 0x40]
add rdx, rax
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 [0x1400baf10]
mov rdx, qword [0x1400baf18]
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_u316
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 0x140034d3d
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_u49_5
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140034d40
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 0x140034b76
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], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003571a
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034a65
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034a65
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003586c
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003586f
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034b2d
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034b2d
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x140035891
nop
mov qword [rbp + 0x40], 0x3a
lea rax, str.D:_a_nightlies_nightlies_nim_2.2.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], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003571d
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034c2c
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034c2c
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035872
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035875
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034cf4
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034cf4
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x140035891
nop
jmp 0x140034d41
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035720
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034dd0
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034dd0
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 0x140035723
jmp 0x140034df8
nop
mov qword [rbp + 0x40], 0x41
lea rax, str.D:_a_nightlies_nightlies_nim_2.2.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 [0x1400baf30]
mov rdx, qword [0x1400baf38]
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_u316
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 0x140035726
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_u49_5
mov qword [rbp + 0x108], rax
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035729
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 0x1400350ac
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], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035878
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003587b
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140035063
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140035063
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x140035891
nop
mov qword [rbp + 0x40], 0x46
lea rax, str.D:_a_nightlies_nightlies_nim_2.2.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 0x1400353b4
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 0x1400353b7
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0
mov qword [rbp + 0x40], 0x5d
mov rax, qword [rbp + 0xe0]
test rax, rax
jns 0x1400351e5
call sym.raiseRangeErrorNoArgs
jmp 0x140035730
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 0x140035212
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140035230
call sym.raiseOverflow
jmp 0x140035730
mov rax, qword [rbp - 0x18]
test rax, rax
jns 0x140035259
mov rax, qword [rbp - 0x18]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x140035730
mov rdx, qword [rbp - 0x18]
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.newSeq__stdZprivateZwin95setenv_u58
mov qword [rbp + 0x40], 0x5f
mov rax, qword [rbp - 0x10]
test rax, rax
jg 0x140035294
mov rax, qword [rbp - 0x10]
sub rax, 1
mov rdx, rax
mov ecx, 0
call sym.raiseIndexError2
jmp 0x140035730
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 0x1400352c2
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400352e0
call sym.raiseOverflow
jmp 0x140035730
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 0x140035382
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 0x140035383
nop
mov qword [rbp + 0x40], 0x28d
lea rax, [0x1400bb040]
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_u143
jmp 0x1400353b8
nop
jmp 0x1400353b8
nop
mov qword [rbp + 0x40], 0x67
lea rax, str.D:_a_nightlies_nightlies_nim_2.2.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_u316
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 0x14003572c
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_u49_5
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003572f
mov dword [rbp + 0xb4], 0
mov r8, qword [0x1400d82f0]
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 0x1400355d5
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], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003587e
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035881
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x14003558c
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x14003558c
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x140035891
nop
mov qword [rbp + 0x40], 0x6a
lea rax, str.D:_a_nightlies_nightlies_nim_2.2.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], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035884
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035887
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400356cb
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400356cb
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jmp 0x140035891
nop
jmp 0x140035730
nop
jmp 0x140035730
nop
jmp 0x140035730
nop
jmp 0x140035730
nop
jmp 0x140035730
nop
jmp 0x140035730
nop
jmp 0x140035730
nop
jmp 0x140035730
nop
jmp 0x140035730
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003588a
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x14003588d
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400357ff
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400357ff
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafb0]
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_u7
mov rax, qword [rbp + 0x130]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x140035890
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 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
jmp 0x140035891
nop
call sym.popFrame_22
mov eax, dword [rbp + 0x13c]
add rsp, 0x1c8
pop rbx
pop rbp
ret