Function at 0x1400344f1
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 0x140035724
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 0x140035727
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 0x1400346c3
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 0x1400346c4
nop
movzx eax, byte [rbp + 0x13b]
xor eax, 1
test al, al
jne 0x140034809
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 0x140035876
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 0x140035879
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400347c0
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400347c0
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 0x1400358a1
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 0x140034e07
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 0x140034d4d
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 0x140034d50
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 0x140034b86
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 0x14003572a
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034a75
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034a75
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 0x14003587c
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 0x14003587f
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034b3d
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034b3d
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 0x1400358a1
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 0x14003572d
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034c3c
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034c3c
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 0x140035882
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 0x140035885
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140034d04
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034d04
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 0x1400358a1
nop
jmp 0x140034d51
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 0x140035730
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140034de0
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140034de0
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 0x140035733
jmp 0x140034e08
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 0x140035736
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 0x140035739
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 0x1400350bc
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 0x140035888
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 0x14003588b
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x140035073
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x140035073
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 0x1400358a1
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 0x1400353c4
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 0x1400353c7
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0
mov qword [rbp + 0x40], 0x5d
mov rax, qword [rbp + 0xe0]
test rax, rax
jns 0x1400351f5
call sym.raiseRangeErrorNoArgs
jmp 0x140035740
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 0x140035222
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140035240
call sym.raiseOverflow
jmp 0x140035740
mov rax, qword [rbp - 0x18]
test rax, rax
jns 0x140035269
mov rax, qword [rbp - 0x18]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x140035740
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 0x1400352a4
mov rax, qword [rbp - 0x10]
sub rax, 1
mov rdx, rax
mov ecx, 0
call sym.raiseIndexError2
jmp 0x140035740
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 0x1400352d2
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400352f0
call sym.raiseOverflow
jmp 0x140035740
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 0x140035392
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 0x140035393
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 0x1400353c8
nop
jmp 0x1400353c8
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 0x14003573c
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 0x14003573f
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 0x1400355e5
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 0x14003588e
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 0x140035891
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x14003559c
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x14003559c
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 0x1400358a1
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 0x140035894
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 0x140035897
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400356db
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x1400356db
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 0x1400358a1
nop
jmp 0x140035740
nop
jmp 0x140035740
nop
jmp 0x140035740
nop
jmp 0x140035740
nop
jmp 0x140035740
nop
jmp 0x140035740
nop
jmp 0x140035740
nop
jmp 0x140035740
nop
jmp 0x140035740
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 0x14003589a
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 0x14003589d
mov qword [rbp + 0x40], 0x18c
lea rax, [0x1400bb040]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x14003580f
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdx, rax
movabs rax, 0x4000000000000000
and rax, rdx
test rax, rax
jne 0x14003580f
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 0x1400358a0
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 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
jmp 0x1400358a1
nop
call sym.popFrame_22
mov eax, dword [rbp + 0x13c]
add rsp, 0x1c8
pop rbx
pop rbp
ret