Function at 0x140034571
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.3.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.3.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_u325
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 0x1400357a4
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 0x1400357a7
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 0x140034743
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 0x140034744
nop
movzx eax, byte [rbp + 0x13b]
xor eax, 1
test al, al
jne 0x140034889
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, [0x1400bafd0]
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 0x1400358f6
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 0x1400358f9
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb060]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034840
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034840
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafd0]
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 0x140035921
nop
mov qword [rbp + 0x40], 0x34
lea rax, str.D:_a_nightlies_nightlies_nim_2.3.1lib_stdprivatewin_setenv.nim
mov qword [rbp + 0x48], rax
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x140034e87
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 [0x1400baf30]
mov rdx, qword [0x1400baf38]
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_u325
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 0x140034dcd
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 0x140034dd0
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 0x140034c06
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, [0x1400bafd0]
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 0x1400357aa
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb060]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034af5
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034af5
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafd0]
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 0x1400358fc
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 0x1400358ff
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb060]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034bbd
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034bbd
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafd0]
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 0x140035921
nop
mov qword [rbp + 0x40], 0x3a
lea rax, str.D:_a_nightlies_nightlies_nim_2.3.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, [0x1400bafd0]
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 0x1400357ad
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb060]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034cbc
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034cbc
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafd0]
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 0x140035902
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 0x140035905
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb060]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034d84
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034d84
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafd0]
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 0x140035921
nop
jmp 0x140034dd1
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 0x1400357b0
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb060]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034e60
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034e60
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 0x1400357b3
jmp 0x140034e88
nop
mov qword [rbp + 0x40], 0x41
lea rax, str.D:_a_nightlies_nightlies_nim_2.3.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 [0x1400baf50]
mov rdx, qword [0x1400baf58]
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_u325
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 0x1400357b6
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 0x1400357b9
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 0x14003513c
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, [0x1400bafd0]
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 0x140035908
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 0x14003590b
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb060]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400350f3
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400350f3
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafd0]
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 0x140035921
nop
mov qword [rbp + 0x40], 0x46
lea rax, str.D:_a_nightlies_nightlies_nim_2.3.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 0x140035444
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 0x140035447
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0
mov qword [rbp + 0x40], 0x5d
mov rax, qword [rbp + 0xe0]
test rax, rax
jns 0x140035275
call sym.raiseRangeErrorNoArgs
jmp 0x1400357c0
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 0x1400352a2
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400352c0
call sym.raiseOverflow
jmp 0x1400357c0
mov rax, qword [rbp - 0x18]
test rax, rax
jns 0x1400352e9
mov rax, qword [rbp - 0x18]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x1400357c0
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 0x140035324
mov rax, qword [rbp - 0x10]
sub rax, 1
mov rdx, rax
mov ecx, 0
call sym.raiseIndexError2
jmp 0x1400357c0
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 0x140035352
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140035370
call sym.raiseOverflow
jmp 0x1400357c0
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 0x140035412
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 0x140035413
nop
mov qword [rbp + 0x40], 0x28d
lea rax, [0x1400bb060]
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 0x140035448
nop
jmp 0x140035448
nop
mov qword [rbp + 0x40], 0x67
lea rax, str.D:_a_nightlies_nightlies_nim_2.3.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_u325
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 0x1400357bc
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 0x1400357bf
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 0x140035665
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, [0x1400bafd0]
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 0x14003590e
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 0x140035911
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb060]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x14003561c
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x14003561c
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafd0]
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 0x140035921
nop
mov qword [rbp + 0x40], 0x6a
lea rax, str.D:_a_nightlies_nightlies_nim_2.3.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, [0x1400bafd0]
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 0x140035914
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 0x140035917
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb060]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x14003575b
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x14003575b
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafd0]
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 0x140035921
nop
jmp 0x1400357c0
nop
jmp 0x1400357c0
nop
jmp 0x1400357c0
nop
jmp 0x1400357c0
nop
jmp 0x1400357c0
nop
jmp 0x1400357c0
nop
jmp 0x1400357c0
nop
jmp 0x1400357c0
nop
jmp 0x1400357c0
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 0x14003591a
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 0x14003591d
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb060]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x14003588f
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x14003588f
mov rax, qword [rbp + 0x98]
mov rcx, rax
call sym.deallocShared
mov qword [rbp + 0x40], 0x1e
lea rax, [0x1400bafd0]
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 0x140035920
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 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
jmp 0x140035921
nop
call sym.popFrame_22
mov eax, dword [rbp + 0x13c]
add rsp, 0x1c8
pop rbx
pop rbp
ret