Function at 0x1400a27cf
Capabilities:
Authenticate hmac

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov qword [rbp + 0x10], rcx
mov eax, edx
mov byte [rbp + 0x18], al
lea rax, str.normalizePathEnd
mov qword [rbp - 0x38], rax
lea rax, str.F:_nim_2.0.8lib_stdprivateospaths2.nim
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], 0
mov word [rbp - 0x20], 0
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.nimFrame_27
mov qword [rbp - 0x30], 0x35
lea rax, str.F:_nim_2.0.8lib_stdprivateospaths2.nim
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
test rax, rax
je 0x1400a2beb
nop
mov qword [rbp - 0x30], 0x36
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov qword [rbp - 8], rax
mov qword [rbp - 0x30], 0x37
cmp qword [rbp - 8], 0
jle 0x1400a2af3
mov qword [rbp - 0x30], 0x38
mov edx, 0
mov rax, qword [rbp - 8]
sub rax, 1
jno 0x1400a2879
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x48]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400a2897
call sym.raiseOverflow
jmp 0x1400a2bec
mov rax, qword [rbp - 0x48]
test rax, rax
js 0x1400a28b0
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x48]
cmp rdx, rax
jg 0x1400a28cc
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
lea rdx, [rax - 1]
mov rax, qword [rbp - 0x48]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400a2bec
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x48]
movzx eax, byte [rdx + rax + 8]
cmp al, 0x5c
je 0x1400a28f6
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x48]
movzx eax, byte [rdx + rax + 8]
cmp al, 0x2f
jne 0x1400a2935
mov edx, 0
mov rax, qword [rbp - 8]
sub rax, 1
jno 0x1400a290a
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x50]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400a2928
call sym.raiseOverflow
jmp 0x1400a2bec
mov rax, qword [rbp - 0x50]
mov qword [rbp - 8], rax
jmp 0x1400a2aee
nop
mov qword [rbp - 0x30], 0x39
mov byte [rbp - 9], 0
mov byte [rbp - 0xa], 0
mov edx, 0
mov rax, qword [rbp - 8]
sub rax, 1
jno 0x1400a295a
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x58]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400a2978
call sym.raiseOverflow
jmp 0x1400a2bec
mov rax, qword [rbp - 0x58]
test rax, rax
js 0x1400a2991
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x58]
cmp rdx, rax
jg 0x1400a29ad
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
lea rdx, [rax - 1]
mov rax, qword [rbp - 0x58]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400a2bec
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x58]
movzx eax, byte [rdx + rax + 8]
cmp al, 0x2e
sete al
mov byte [rbp - 0xa], al
movzx eax, byte [rbp - 0xa]
xor eax, 1
test al, al
jne 0x1400a29de
cmp qword [rbp - 8], 1
setg al
mov byte [rbp - 0xa], al
jmp 0x1400a29df
nop
movzx eax, byte [rbp - 0xa]
mov byte [rbp - 9], al
movzx eax, byte [rbp - 9]
xor eax, 1
test al, al
jne 0x1400a2a9b
mov edx, 0
mov rax, qword [rbp - 8]
sub rax, 2
jno 0x1400a2a09
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x60]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400a2a27
call sym.raiseOverflow
jmp 0x1400a2bec
mov rax, qword [rbp - 0x60]
test rax, rax
js 0x1400a2a40
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x60]
cmp rdx, rax
jg 0x1400a2a5c
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
lea rdx, [rax - 1]
mov rax, qword [rbp - 0x60]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400a2bec
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x60]
movzx eax, byte [rdx + rax + 8]
cmp al, 0x5c
je 0x1400a2a86
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x60]
movzx eax, byte [rdx + rax + 8]
cmp al, 0x2f
jne 0x1400a2a8d
mov eax, 1
jmp 0x1400a2a92
mov eax, 0
mov byte [rbp - 9], al
and byte [rbp - 9], 1
jmp 0x1400a2a9c
nop
movzx eax, byte [rbp - 9]
xor eax, 1
test al, al
jne 0x1400a2ae3
mov edx, 0
mov rax, qword [rbp - 8]
sub rax, 1
jno 0x1400a2abb
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x68]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400a2ad9
call sym.raiseOverflow
jmp 0x1400a2bec
mov rax, qword [rbp - 0x68]
mov qword [rbp - 8], rax
jmp 0x1400a2aee
nop
mov qword [rbp - 0x30], 0x3a
jmp 0x1400a2af4
jmp 0x1400a2852
nop
mov qword [rbp - 0x30], 0x3b
movzx eax, byte [rbp + 0x18]
xor eax, 1
test al, al
jne 0x1400a2b61
mov qword [rbp - 0x30], 0x3d
cmp qword [rbp - 8], 0
jns 0x1400a2b36
mov rax, qword [rbp - 8]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x1400a2bec
mov rax, qword [rbp - 8]
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call sym.setLengthStrV2
mov qword [rbp - 0x30], 0x3f
mov edx, 0x5c
mov rcx, qword [rbp + 0x10]
call sym.nimAddCharV1_6
jmp 0x1400a2bec
nop
mov qword [rbp - 0x30], 0x40
cmp qword [rbp - 8], 0
jle 0x1400a2baf
mov qword [rbp - 0x30], 0x42
cmp qword [rbp - 8], 0
jns 0x1400a2b9d
mov rax, qword [rbp - 8]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x1400a2bec
mov rax, qword [rbp - 8]
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call sym.setLengthStrV2
jmp 0x1400a2bec
nop
mov qword [rbp - 0x30], 0x19
lea rax, [0x1400c6a20]
mov qword [rbp - 0x28], rax
mov rax, qword [0x1400c69d0]
mov rdx, qword [0x1400c69d8]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rdx
lea rax, [rbp - 0x80]
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call sym.eqsink___stdZassertions_u36
jmp 0x1400a2bec
nop
call sym.popFrame_27
nop
add rsp, 0xa0
pop rbp
ret