Function at 0x14008112b
Capabilities:
Parse pe header

Disassembly:
push rbp
sub rsp, 0x140
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xd0], rcx
lea rax, str.fillBuffer
mov qword [rbp + 0x28], rax
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], 0
mov word [rbp + 0x40], 0
lea rax, [rbp + 0x20]
mov rcx, rax
call sym.nimFrame_28
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0x30], 0x33
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x28]
mov edx, 0
add rax, 1
jno 0x1400811cc
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400811e5
call sym.raiseOverflow
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140081205
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14008120a
mov eax, 0
mov rdx, qword [rbp + 0x18]
cmp rax, rdx
jge 0x140081224
lea rax, [0x1400affa0]
mov rcx, rax
call sym.failedAssertImpl__systemZassertions_56
jmp 0x140081225
nop
mov qword [rbp + 0x30], 0x34
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x28]
mov edx, 0
add rax, 1
jno 0x140081253
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x90]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14008126f
call sym.raiseOverflow
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x14008128f
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140081294
mov eax, 0
mov rdx, qword [rbp + 0x90]
mov ecx, 0
sub rax, rdx
jno 0x1400812aa
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x88]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400812c6
call sym.raiseOverflow
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x30], 0x35
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
cmp qword [rbp + 0xa0], 0
jns 0x140081302
lea rax, [0x1400b0020]
mov rcx, rax
call sym.failedAssertImpl__systemZassertions_56
jmp 0x140081303
nop
mov qword [rbp + 0x30], 0x36
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
cmp qword [rbp + 0xa0], 0
jle 0x140081495
mov qword [rbp + 0x30], 0x41
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x14008135a
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
test rax, rax
jg 0x140081392
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x14008137e
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
sub rax, 1
jmp 0x140081385
mov rax, 0xffffffffffffffff
mov rdx, rax
mov ecx, 0
call sym.raiseIndexError2
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x28]
mov edx, 0
add rax, 1
jno 0x1400813ad
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x10]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400813c6
call sym.raiseOverflow
mov rax, qword [rbp + 0x10]
test rax, rax
js 0x1400813fd
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400813ef
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1400813f4
mov eax, 0
mov rdx, qword [rbp + 0x10]
cmp rax, rdx
jg 0x140081434
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140081421
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x140081428
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.raiseIndexError2
cmp qword [rbp + 0xa0], 0
jns 0x14008145c
mov rax, qword [rbp + 0xa0]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x10]
add rax, 0x10
add rdx, rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
add rax, 0x10
mov rcx, qword [rbp + 0xa0]
mov r8, rcx
mov rcx, rax
call sym.moveMem__system_1731
jmp 0x140081496
nop
mov qword [rbp + 0x30], 0x42
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], 0x9e5
lea rax, [0x1400b02a0]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], 0x42
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rax + 0x28]
mov ecx, 0
mov rax, qword [rbp + 0xa0]
add rax, rdx
jno 0x1400814f0
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x80]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x14008150c
call sym.raiseOverflow
mov rax, qword [rbp + 0x80]
mov edx, 0
add rax, 1
jno 0x140081523
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x78]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14008153c
call sym.raiseOverflow
mov rax, qword [rbp + 0x78]
mov edx, 0
sub rax, 1
jno 0x140081550
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x70]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140081569
call sym.raiseOverflow
mov rcx, qword [rbp + 0x70]
lea rax, [rbp + 0x60]
mov rdx, qword [rbp + 0xa0]
mov r8, rcx
mov rcx, rax
call sym.dotdot___pureZstreams_111_4
mov rax, qword [rbp + 0xd0]
lea r9, [rax + 0x10]
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rax + 0x18]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdx
lea rax, [rbp - 0x60]
mov r8, rax
mov rdx, r9
call sym.readDataStr__pureZstreams_83
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x30], 0x43
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov ecx, 0
mov rdx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa8]
add rax, rdx
jno 0x1400815ef
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x58]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140081608
call sym.raiseOverflow
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0x30], 0x44
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x28]
mov edx, 0
add rax, 1
jno 0x140081641
mov edx, 1
mov rcx, rax
lea rax, [rbp + 8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14008165a
call sym.raiseOverflow
mov rax, qword [rbp + 8]
cmp qword [rbp + 0xa8], rax
jge 0x140081736
cmp qword [rbp + 0xb8], 0
js 0x1400816a3
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140081695
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14008169a
mov eax, 0
cmp rax, qword [rbp + 0xb8]
jg 0x1400816dd
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400816c7
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x1400816ce
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x30], 0x45
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
mov byte [rax], 0
mov qword [rbp + 0x30], 0x46
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xb8]
mov qword [rax + 0x28], rdx
jmp 0x140081d4f
nop
mov qword [rbp + 0x30], 0x49
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov edx, 0
mov rax, qword [rbp + 0xb8]
sub rax, 1
jno 0x140081761
mov edx, 1
mov rcx, rax
mov rax, rbp
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140081779
call sym.raiseOverflow
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0x30], 0x4a
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], 0x4b
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400817ca
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1400817cf
mov eax, 0
cmp rax, qword [rbp + 0xb8]
jg 0x1400817e9
lea rax, [0x1400b00a0]
mov rcx, rax
call sym.failedAssertImpl__systemZassertions_56
jmp 0x1400817ea
nop
mov qword [rbp + 0x30], 0x4c
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov byte [rbp + 0xb7], 0
mov rax, qword [rbp + 0xb8]
not rax
shr rax, 0x3f
mov byte [rbp + 0xb7], al
movzx eax, byte [rbp + 0xb7]
xor eax, 1
test al, al
jne 0x140081905
cmp qword [rbp + 0xb8], 0
js 0x140081862
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140081854
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140081859
mov eax, 0
cmp rax, qword [rbp + 0xb8]
jg 0x14008189c
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140081886
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14008188d
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
movzx eax, byte [rax]
shr al, 3
movzx eax, al
mov rdx, qword [rbp + 0xd0]
movzx eax, byte [rdx + rax + 0x40]
movzx edx, al
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rax + 0x10]
mov rax, qword [rbp + 0xb8]
add rax, rcx
add rax, 0x10
movzx eax, byte [rax]
movzx eax, al
and eax, 7
mov ecx, eax
shr edx, cl
mov eax, edx
and eax, 1
test eax, eax
sete al
mov byte [rbp + 0xb7], al
jmp 0x140081906
nop
movzx eax, byte [rbp + 0xb7]
xor eax, 1
test al, al
jne 0x140081954
mov edx, 0
mov rax, qword [rbp + 0xb8]
sub rax, 1
jno 0x14008192b
mov edx, 1
mov rcx, rax
lea rax, [rbp - 8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140081944
call sym.raiseOverflow
mov rax, qword [rbp - 8]
mov qword [rbp + 0xb8], rax
jmp 0x1400817fd
nop
mov qword [rbp + 0x30], 0x4d
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
cmp qword [rbp + 0xb8], 0
js 0x1400819af
mov qword [rbp + 0x30], 0x4f
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xb8]
mov qword [rax + 0x28], rdx
mov qword [rbp + 0x30], 0x50
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
jmp 0x140081d4f
nop
mov qword [rbp + 0x30], 0x54
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400819e3
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1400819e8
mov eax, 0
mov qword [rbp + 0x98], rax
mov qword [rbp + 0x30], 0x55
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140081a22
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140081a27
mov eax, 0
mov edx, 0
imul rax, rax, 2
jno 0x140081a37
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x10]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140081a50
call sym.raiseOverflow
mov rax, qword [rbp - 0x10]
test rax, rax
jns 0x140081a74
mov rax, qword [rbp - 0x10]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rcx, rax
call sym.setLengthStr
mov rdx, rax
mov rax, qword [rbp + 0xd0]
add rax, 0x10
mov rcx, rax
call sym.unsureAsgnRef
mov qword [rbp + 0x30], 0x56
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], 0x9e5
lea rax, [0x1400b02a0]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], 0x56
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140081afa
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140081aff
mov eax, 0
mov edx, 0
sub rax, 1
jno 0x140081b0f
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140081b28
call sym.raiseOverflow
mov rcx, qword [rbp - 0x18]
lea rax, [rbp - 0x30]
mov rdx, qword [rbp + 0x98]
mov r8, rcx
mov rcx, rax
call sym.dotdot___pureZstreams_111_4
mov rax, qword [rbp + 0xd0]
lea r9, [rax + 0x10]
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rax + 0x18]
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 r8, rax
mov rdx, r9
call sym.readDataStr__pureZstreams_83
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x30], 0x57
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0x98]
jge 0x140081cdd
mov qword [rbp + 0x30], 0x58
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov ecx, 0
mov rdx, qword [rbp + 0x98]
mov rax, qword [rbp + 0xa8]
add rax, rdx
jno 0x140081bd5
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x40]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140081bee
call sym.raiseOverflow
mov rax, qword [rbp - 0x40]
test rax, rax
js 0x140081c25
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140081c17
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140081c1c
mov eax, 0
mov rdx, qword [rbp - 0x40]
cmp rax, rdx
jg 0x140081c5c
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140081c49
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x140081c50
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp - 0x40]
mov rcx, rax
call sym.raiseIndexError2
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp - 0x40]
mov byte [rdx + rax + 0x10], 0
mov qword [rbp + 0x30], 0x59
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov ecx, 0
mov rdx, qword [rbp + 0x98]
mov rax, qword [rbp + 0xa8]
add rax, rdx
jno 0x140081ca0
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x48]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140081cb9
call sym.raiseOverflow
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp + 0xd0]
mov qword [rax + 0x28], rdx
mov qword [rbp + 0x30], 0x5a
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
jmp 0x140081d4f
nop
mov qword [rbp + 0x30], 0x5b
lea rax, str.C:Users_runneradmin.choosenim_toolchains_nim_1.6.6libpurelexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140081d11
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140081d16
mov eax, 0
mov edx, 0
sub rax, 1
jno 0x140081d26
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x38]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140081d3f
call sym.raiseOverflow
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0xb8], rax
jmp 0x140081797
call sym.popFrame_28
nop
add rsp, 0x140
pop rbp
ret