Function at 0x1400d6e92
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push rbp
sub rsp, 0x160
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xf0], rcx
lea rax, str.fillBuffer
mov qword [rbp + 0x28], rax
lea rax, str._home_melty_.choosenim_toolchains_nim_2.2.0_lib_pure_lexbase.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_47
call sym.nimErrorFlag_43
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0x30], 0x36
lea rax, str._home_melty_.choosenim_toolchains_nim_2.2.0_lib_pure_lexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x30]
mov ecx, 0
add rax, 1
jno 0x1400d6f3f
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x18]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d6f5d
call sym.raiseOverflow
jmp 0x1400d7980
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x18]
cmp rdx, rax
jge 0x1400d6faa
mov rax, qword [0x140160a10]
mov rdx, qword [0x140160a18]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdx
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.failedAssertImpl__stdZassertions_u235
mov rax, qword [rbp + 0xc8]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x1400d7976
jmp 0x1400d6fab
nop
mov qword [rbp + 0x30], 0x37
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x30]
mov ecx, 0
add rax, 1
jno 0x1400d6fce
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x90]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d6fef
call sym.raiseOverflow
jmp 0x1400d7980
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
mov rdx, qword [rbp + 0x90]
mov ecx, 0
sub rax, rdx
jno 0x1400d7010
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x88]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d7031
call sym.raiseOverflow
jmp 0x1400d7980
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0x30], 0x38
cmp qword [rbp + 0xb8], 0
jns 0x1400d708a
mov rax, qword [0x140160a80]
mov rdx, qword [0x140160a88]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdx
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.failedAssertImpl__stdZassertions_u235
mov rax, qword [rbp + 0xc8]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x1400d7979
jmp 0x1400d708b
nop
mov qword [rbp + 0x30], 0x39
cmp qword [rbp + 0xb8], 0
jle 0x1400d71cf
mov qword [rbp + 0x30], 0x44
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
test rax, rax
jg 0x1400d70da
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
sub rax, 1
mov rdx, rax
mov ecx, 0
call sym.raiseIndexError2
jmp 0x1400d7980
mov qword [rbp + 0xa8], 0
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x18]
add rax, 8
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x30]
mov ecx, 0
add rax, 1
jno 0x1400d7116
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x10]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d7134
call sym.raiseOverflow
jmp 0x1400d7980
mov rax, qword [rbp + 0x10]
test rax, rax
js 0x1400d7151
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x10]
cmp rdx, rax
jg 0x1400d7171
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400d7980
cmp qword [rbp + 0xb8], 0
jns 0x1400d719e
mov rax, qword [rbp + 0xb8]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x1400d7980
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp + 0x10]
add rax, rdx
lea rdx, [rax + 8]
mov rcx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xa8]
mov r8, rcx
mov rcx, rax
call sym.moveMem__system_u1730
jmp 0x1400d71d0
nop
mov qword [rbp + 0x30], 0x45
mov qword [rbp + 0xa0], 0
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x20]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x30], 0x35
lea rax, [0x140160d38]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], 0x45
lea rax, str._home_melty_.choosenim_toolchains_nim_2.2.0_lib_pure_lexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rax + 0x30]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, rdx
jno 0x1400d723c
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x80]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d725d
call sym.raiseOverflow
jmp 0x1400d7980
mov rax, qword [rbp + 0x80]
mov ecx, 0
add rax, 1
jno 0x1400d7274
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x78]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d7292
call sym.raiseOverflow
jmp 0x1400d7980
mov rax, qword [rbp + 0x78]
mov ecx, 0
sub rax, 1
jno 0x1400d72a6
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x70]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d72c4
call sym.raiseOverflow
jmp 0x1400d7980
mov rcx, qword [rbp + 0x70]
lea rax, [rbp + 0x60]
mov rdx, qword [rbp + 0xb8]
mov r8, rcx
mov rcx, rax
call sym.dotdot___stdZstrbasics_u48_4
mov rax, qword [rbp + 0xf0]
lea rcx, [rax + 0x10]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdx
lea rdx, [rbp - 0x60]
mov rax, qword [rbp + 0xa0]
mov r8, rdx
mov rdx, rcx
mov rcx, rax
call sym.readDataStr__pureZstreams_u84
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0xc8]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x1400d797c
mov qword [rbp + 0x30], 0x46
mov ecx, 0
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xc0]
add rax, rdx
jno 0x1400d7353
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x58]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d7371
call sym.raiseOverflow
jmp 0x1400d7980
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0x30], 0x47
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x30]
mov ecx, 0
add rax, 1
jno 0x1400d739f
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 8]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d73bd
call sym.raiseOverflow
jmp 0x1400d7980
mov rax, qword [rbp + 8]
cmp qword [rbp + 0xc0], rax
jge 0x1400d7465
mov qword [rbp + 0x30], 0x48
cmp qword [rbp + 0xd8], 0
js 0x1400d73f4
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
cmp qword [rbp + 0xd8], rax
jl 0x1400d7417
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xd8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400d7980
mov rax, qword [rbp + 0xf0]
add rax, 0x10
mov rcx, rax
call sym.nimPrepareStrMutationV2_15
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp + 0xd8]
add rax, rdx
add rax, 8
mov byte [rax], 0
mov qword [rbp + 0x30], 0x49
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xd8]
mov qword [rax + 0x30], rdx
jmp 0x1400d7980
nop
mov qword [rbp + 0x30], 0x4c
mov ecx, 0
mov rax, qword [rbp + 0xd8]
sub rax, 1
jno 0x1400d7485
mov ecx, 1
mov rdx, rax
mov rax, rbp
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d74a2
call sym.raiseOverflow
jmp 0x1400d7980
mov rax, qword [rbp]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0x30], 0x4d
mov qword [rbp + 0x30], 0x4e
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
cmp qword [rbp + 0xd8], rax
jl 0x1400d750a
mov rax, qword [0x140160b10]
mov rdx, qword [0x140160b18]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdx
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.failedAssertImpl__stdZassertions_u235
mov rax, qword [rbp + 0xc8]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x1400d797f
jmp 0x1400d750b
nop
mov qword [rbp + 0x30], 0x4f
mov byte [rbp + 0xd7], 0
mov rax, qword [rbp + 0xd8]
not rax
shr rax, 0x3f
mov byte [rbp + 0xd7], al
movzx eax, byte [rbp + 0xd7]
xor eax, 1
test al, al
jne 0x1400d75ea
cmp qword [rbp + 0xd8], 0
js 0x1400d755e
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
cmp qword [rbp + 0xd8], rax
jl 0x1400d7581
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xd8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400d763b
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp + 0xd8]
add rax, rdx
add rax, 8
movzx eax, byte [rax]
shr al, 3
movzx eax, al
mov rdx, qword [rbp + 0xf0]
movzx eax, byte [rdx + rax + 0x48]
movzx edx, al
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rax + 0x18]
mov rax, qword [rbp + 0xd8]
add rax, rcx
add rax, 8
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 + 0xd7], al
jmp 0x1400d75eb
nop
movzx eax, byte [rbp + 0xd7]
xor eax, 1
test al, al
jne 0x1400d7640
mov ecx, 0
mov rax, qword [rbp + 0xd8]
sub rax, 1
jno 0x1400d7610
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 8]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d762b
call sym.raiseOverflow
jmp 0x1400d763b
mov rax, qword [rbp - 8]
mov qword [rbp + 0xd8], rax
jmp 0x1400d7513
jmp 0x1400d7980
nop
mov qword [rbp + 0x30], 0x50
cmp qword [rbp + 0xd8], 0
js 0x1400d767a
mov qword [rbp + 0x30], 0x52
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xd8]
mov qword [rax + 0x30], rdx
mov qword [rbp + 0x30], 0x53
jmp 0x1400d7980
nop
mov qword [rbp + 0x30], 0x57
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x30], 0x58
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
mov ecx, 0
imul rax, rax, 2
jno 0x1400d76b8
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x10]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d76d6
call sym.raiseOverflow
jmp 0x1400d7974
mov rax, qword [rbp - 0x10]
test rax, rax
jns 0x1400d76ff
mov rax, qword [rbp - 0x10]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x1400d7974
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp + 0xf0]
lea rcx, [rdx + 0x10]
mov rdx, rax
call sym.setLengthStrV2
mov qword [rbp + 0x30], 0x59
mov qword [rbp + 0x98], 0
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x20]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0x30], 0x35
lea rax, [0x140160d38]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], 0x59
lea rax, str._home_melty_.choosenim_toolchains_nim_2.2.0_lib_pure_lexbase.nim
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
mov ecx, 0
sub rax, 1
jno 0x1400d777c
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d779a
call sym.raiseOverflow
jmp 0x1400d7974
mov rcx, qword [rbp - 0x18]
lea rax, [rbp - 0x30]
mov rdx, qword [rbp + 0xb0]
mov r8, rcx
mov rcx, rax
call sym.dotdot___stdZstrbasics_u48_4
mov rax, qword [rbp + 0xf0]
lea rcx, [rax + 0x10]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rdx
lea rdx, [rbp - 0x60]
mov rax, qword [rbp + 0x98]
mov r8, rdx
mov rdx, rcx
mov rcx, rax
call sym.readDataStr__pureZstreams_u84
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0xc8]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x1400d7973
mov qword [rbp + 0x30], 0x5a
mov rax, qword [rbp + 0xc0]
cmp rax, qword [rbp + 0xb0]
jge 0x1400d7920
mov qword [rbp + 0x30], 0x5b
mov ecx, 0
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xc0]
add rax, rdx
jno 0x1400d7845
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x40]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d7863
call sym.raiseOverflow
jmp 0x1400d7941
mov rax, qword [rbp - 0x40]
test rax, rax
js 0x1400d7880
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp - 0x40]
cmp rdx, rax
jg 0x1400d78a0
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
lea rdx, [rax - 1]
mov rax, qword [rbp - 0x40]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400d7941
mov rax, qword [rbp + 0xf0]
add rax, 0x10
mov rcx, rax
call sym.nimPrepareStrMutationV2_15
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp - 0x40]
mov byte [rdx + rax + 8], 0
mov qword [rbp + 0x30], 0x5c
mov ecx, 0
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xc0]
add rax, rdx
jno 0x1400d78ec
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x48]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d7907
call sym.raiseOverflow
jmp 0x1400d7941
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp + 0xf0]
mov qword [rax + 0x30], rdx
mov qword [rbp + 0x30], 0x5d
jmp 0x1400d7980
nop
mov qword [rbp + 0x30], 0x5e
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax + 0x10]
mov ecx, 0
sub rax, 1
jo 0x1400d7943
jmp 0x1400d7948
jmp 0x1400d7980
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x38]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400d7963
call sym.raiseOverflow
jmp 0x1400d7974
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0xd8], rax
jmp 0x1400d74b5
nop
jmp 0x1400d7980
nop
jmp 0x1400d7980
nop
jmp 0x1400d7980
nop
jmp 0x1400d7980
nop
call sym.popFrame_47
nop
add rsp, 0x160
pop rbp
ret