Function at 0x14009df60
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [rcx + 0xb8]
xor r14d, r14d
mov rsi, qword [rcx + 0xa0]
movzx ebx, r9b
movzx edi, r8b
mov r9, rdx
mov rbp, rcx
test rax, rax
jne 0x140096b77
lea r8d, [r14 + 5]
call fcn.1400a1980
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
dec rax
inc r9
mov qword [rcx + 0xb8], rax
mov qword [rsp + 0x88], r9
mov rdx, rsi
mov rcx, r9
call fcn.1400a14d0
mov qword [rsp + 0x88], rax
mov rdx, rax
cmp rax, rsi
jae 0x140096e79
cmp byte [rax], 0x5d
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r15
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm7
je 0x140096de6
movzx r12d, byte [rsp + 0xa8]
movabs r13, 0x100002600
movzx r15d, byte [rsp + 0xa0]
inc r14
mov rcx, rbp
cmp r14, 0x7ffffffe
ja 0x140096e5d
mov byte [rsp + 0x28], r12b
movzx r9d, bl
movzx r8d, dil
mov byte [rsp + 0x20], r15b
call fcn.14009df60
mov qword [rsp + 0x88], rax
cmp rax, rbp
je 0x140096e4e
cmp rax, rsi
je 0x140096cce
cmp byte [rax], 0x20
ja 0x140096cf2
movdqa xmm4, xmmword [str.________________________________FFFFFFFFFFFFFFFF_vvvvvvvvvvvvvvvvUnknown_exception]
mov rcx, rsi
movdqa xmm5, xmmword [str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r]
sub rcx, rax
movdqa xmm6, xmmword [0x1400a9ca0]
movdqa xmm7, xmmword [0x1400a9cc0]
cmp rcx, 0x10
jl 0x140096cb7
nop dword [rax + rax]
movdqu xmm2, xmmword [rax]
movdqa xmm3, xmm4
movdqa xmm0, xmm5
pcmpeqb xmm3, xmm2
movdqa xmm1, xmm6
pcmpeqb xmm0, xmm2
por xmm1, xmm2
por xmm3, xmm0
pcmpeqb xmm1, xmm7
por xmm3, xmm1
pmovmskb edx, xmm3
xor edx, 0xffff
jne 0x140096cec
add rax, 0x10
sub rcx, 0x10
cmp rcx, 0x10
jge 0x140096c70
cmp rax, rsi
je 0x140096cce
movsx rcx, byte [rax]
cmp cl, 0x20
ja 0x140096cf2
bt r13, rcx
jae 0x140096cf2
inc rax
cmp rax, rsi
jne 0x140096cb7
mov qword [rsp + 0x88], rax
mov r9, r14
mov r8b, 0x2e
mov rdx, rax
mov rcx, rbp
call fcn.1400a2210
jmp 0x140096e21
bsf edx, edx
add rax, rdx
mov qword [rsp + 0x88], rax
cmp rax, rsi
jae 0x140096cd6
movzx ecx, byte [rax]
cmp cl, 0x2c
jne 0x140096e0b
lea rdx, [rax + 1]
cmp rdx, rsi
je 0x140096da9
cmp byte [rdx], 0x20
ja 0x140096dc7
movdqa xmm3, xmmword [str.________________________________FFFFFFFFFFFFFFFF_vvvvvvvvvvvvvvvvUnknown_exception]
mov rax, rsi
movdqa xmm4, xmmword [str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r]
sub rax, rdx
movdqa xmm5, xmmword [0x1400a9ca0]
movdqa xmm6, xmmword [0x1400a9cc0]
cmp rax, 0x10
jl 0x140096d93
nop dword [rax]
movdqu xmm1, xmmword [rdx]
movdqa xmm2, xmm1
movdqa xmm0, xmm1
pcmpeqb xmm2, xmm3
pcmpeqb xmm0, xmm4
por xmm1, xmm5
por xmm2, xmm0
pcmpeqb xmm1, xmm6
por xmm2, xmm1
pmovmskb ecx, xmm2
xor ecx, 0xffff
jne 0x140096dc1
add rdx, 0x10
sub rax, 0x10
cmp rax, 0x10
jge 0x140096d50
cmp rdx, rsi
je 0x140096da9
movsx rax, byte [rdx]
cmp al, 0x20
ja 0x140096dc7
bt r13, rax
jae 0x140096dc7
inc rdx
cmp rdx, rsi
jne 0x140096d93
mov qword [rsp + 0x88], rdx
mov r9, r14
mov r8b, 0x2f
mov rcx, rbp
call fcn.1400a2210
jmp 0x140096e21
bsf ecx, ecx
add rdx, rcx
mov qword [rsp + 0x88], rdx
cmp rdx, rsi
jae 0x140096db1
test r15b, r15b
je 0x140096bf2
cmp byte [rdx], 0x5d
jne 0x140096bf2
lea r8, [rbp + 0x58]
mov rdx, r14
mov rcx, rbp
call fcn.1400a27a0
test al, al
jne 0x140096e65
mov rdx, qword [rsp + 0x88]
mov rcx, rbp
call fcn.1400a1970
jmp 0x140096e21
cmp cl, 0x5d
je 0x140096de6
mov r8d, 1
mov rdx, rax
mov rcx, rbp
call fcn.1400a1980
movaps xmm6, xmmword [rsp + 0x40]
mov r15, qword [rsp + 0x98]
mov r13, qword [rsp + 0x90]
mov r12, qword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x30]
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov r8, r14
mov dl, 0x2d
mov rcx, rbp
call fcn.1400a35b0
jmp 0x140096e21
mov r8d, 0xb
jmp 0x140096e1c
inc qword [rbp + 0xb8]
mov rax, qword [rsp + 0x88]
inc rax
jmp 0x140096e21
xor r9d, r9d
mov r8b, 0x2b
mov rcx, rbp
call fcn.1400a2210
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push r12
push r14
push r15
sub rsp, 0x60
mov rax, qword [rcx + 0xb8]
xor r12d, r12d
mov r14, qword [rcx + 0xa0]
movzx esi, r9b
movzx ebp, r8b
mov r9, rdx
mov r15, rcx
test rax, rax
jne 0x14009bf6c
lea r8d, [r12 + 5]
call fcn.1400a1980
add rsp, 0x60
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret
dec rax
inc r9
mov qword [rcx + 0xb8], rax
mov qword [rsp + 0x98], r9
mov rdx, r14
mov rcx, r9
call fcn.1400a14d0
mov qword [rsp + 0x98], rax
cmp rax, r14
jae 0x14009c350
movzx ecx, byte [rax]
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], r13
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm7
cmp cl, 0x7d
je 0x14009c311
cmp cl, 0x22
jne 0x14009c26a
movzx r13d, byte [rsp + 0xb8]
movzx ebx, byte [rsp + 0x90]
movzx edi, byte [rsp + 0x90]
nop word [rax + rax]
inc r12
mov rdx, rax
mov rcx, r15
cmp r12, 0x7ffffffe
ja 0x14009c306
movzx r9d, bl
mov byte [rsp + 0x20], r13b
movzx r8d, dil
call fcn.14009d1f0
cmp rax, r15
je 0x14009c2f4
mov rdx, r14
mov rcx, rax
call fcn.1400a14d0
cmp rax, r14
jae 0x14009c2e1
cmp byte [rax], 0x3a
jne 0x14009c26a
lea rdx, [rax + 1]
cmp rdx, r14
je 0x14009c0e6
cmp byte [rdx], 0x20
ja 0x14009c107
movdqa xmm3, xmmword [str.________________________________FFFFFFFFFFFFFFFF_vvvvvvvvvvvvvvvvUnknown_exception]
mov rax, r14
movdqa xmm4, xmmword [str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r]
sub rax, rdx
movdqa xmm5, xmmword [0x1400a9ca0]
movdqa xmm6, xmmword [0x1400a9cc0]
cmp rax, 0x10
jl 0x14009c0c3
movdqu xmm1, xmmword [rdx]
movdqa xmm2, xmm1
movdqa xmm0, xmm1
pcmpeqb xmm2, xmm4
pcmpeqb xmm0, xmm3
por xmm1, xmm5
por xmm2, xmm0
pcmpeqb xmm1, xmm6
por xmm2, xmm1
pmovmskb ecx, xmm2
xor ecx, 0xffff
jne 0x14009c101
add rdx, 0x10
sub rax, 0x10
cmp rax, 0x10
jge 0x14009c080
cmp rdx, r14
je 0x14009c0e6
movabs rcx, 0x100002600
nop dword [rax]
movsx rax, byte [rdx]
cmp al, 0x20
ja 0x14009c107
bt rcx, rax
jae 0x14009c107
inc rdx
cmp rdx, r14
jne 0x14009c0d0
mov qword [rsp + 0x98], rdx
mov r9, r12
mov r8b, 0x25
mov rcx, r15
call fcn.1400a2210
jmp 0x14009c27b
bsf ecx, ecx
add rdx, rcx
cmp rdx, r14
jae 0x14009c0ee
movzx eax, byte [rsp + 0xb0]
movzx r9d, sil
mov byte [rsp + 0x28], r13b
movzx r8d, bpl
mov rcx, r15
mov byte [rsp + 0x20], al
call fcn.14009df60
mov qword [rsp + 0x98], rax
cmp rax, r15
je 0x14009c2d2
mov rdx, r14
mov rcx, rax
call fcn.1400a14d0
mov qword [rsp + 0x98], rax
cmp rax, r14
jae 0x14009c2bf
movzx ecx, byte [rax]
cmp cl, 0x2c
jne 0x14009c261
inc rax
mov qword [rsp + 0x98], rax
cmp rax, r14
je 0x14009c2a4
cmp byte [rax], 0x20
ja 0x14009c23e
movdqa xmm4, xmmword [str.________________________________FFFFFFFFFFFFFFFF_vvvvvvvvvvvvvvvvUnknown_exception]
mov rdx, r14
movdqa xmm5, xmmword [str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r]
sub rdx, rax
movdqa xmm6, xmmword [0x1400a9ca0]
mov rcx, rax
movdqa xmm7, xmmword [0x1400a9cc0]
cmp rdx, 0x10
jl 0x14009c206
nop dword [rax]
nop word [rax + rax]
movdqu xmm2, xmmword [rcx]
movdqa xmm3, xmm5
movdqa xmm0, xmm4
pcmpeqb xmm3, xmm2
movdqa xmm1, xmm6
pcmpeqb xmm0, xmm2
por xmm1, xmm2
por xmm3, xmm0
pcmpeqb xmm1, xmm7
por xmm3, xmm1
pmovmskb eax, xmm3
xor eax, 0xffff
jne 0x14009c233
add rcx, 0x10
sub rdx, 0x10
cmp rdx, 0x10
jge 0x14009c1c0
cmp rcx, r14
je 0x14009c226
movabs rdx, 0x100002600
movsx rax, byte [rcx]
cmp al, 0x20
ja 0x14009c23b
bt rdx, rax
jae 0x14009c23b
inc rcx
cmp rcx, r14
jne 0x14009c210
mov rax, rcx
mov qword [rsp + 0x98], rcx
jmp 0x14009c2ac
bsf eax, eax
add rax, rcx
jmp 0x14009c23e
mov rax, rcx
mov qword [rsp + 0x98], rax
cmp rax, r14
jae 0x14009c2ac
movzx ecx, byte [rax]
cmp cl, 0x22
je 0x14009bff0
cmp byte [rsp + 0xb0], 0
je 0x14009c26a
cmp cl, 0x7d
je 0x14009c311
mov r8d, 1
mov rdx, rax
mov rcx, r15
call fcn.1400a1980
movaps xmm6, xmmword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0x30]
add rsp, 0x60
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret
mov qword [rsp + 0x98], rax
mov r9, r12
mov r8b, 0x28
mov rdx, rax
mov rcx, r15
call fcn.1400a2210
jmp 0x14009c27b
mov r9, r12
mov r8b, 0x27
mov rdx, rax
mov rcx, r15
call fcn.1400a2210
jmp 0x14009c27b
mov r8, r12
mov dl, 0x26
mov rcx, r15
call fcn.1400a35b0
jmp 0x14009c27b
mov r9, r12
mov r8b, 0x23
mov rdx, rax
mov rcx, r15
call fcn.1400a2210
jmp 0x14009c27b
mov r8, r12
mov dl, 0x22
mov rcx, r15
call fcn.1400a35b0
jmp 0x14009c27b
mov r8d, 0xa
jmp 0x14009c276
lea r8, [r15 + 0x58]
mov rdx, r12
mov rcx, r15
call fcn.1400a2b40
test al, al
jne 0x14009c339
mov rdx, qword [rsp + 0x98]
mov rcx, r15
call fcn.1400a1970
jmp 0x14009c27b
inc qword [r15 + 0xb8]
mov rax, qword [rsp + 0x98]
inc rax
jmp 0x14009c27b
xor r9d, r9d
mov r8b, 0x20
mov rdx, rax
mov rcx, r15
call fcn.1400a2210
add rsp, 0x60
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x50
movsx r11d, byte [rdx]
mov r10, rcx
movaps xmmword [rsp + 0x40], xmm6
lea eax, [r11 - 9]
cmp eax, 0x72
ja case.0x14009dfa8.12
lea rdi, sym.ZeruaS.exe_HqHpN8U:rF.N_o_Z8_Kq3OYFmO7.Ge
movabs rbx, 0x100002600
cdqe
movzx eax, byte [rdi + rax + 0x9e250]
mov ecx, dword [rdi + rax*4 + 0x9e220]
add rcx, rdi
jmp rcx
mov r8, qword [r10 + 0xa0]
mov rax, rdx
cmp rdx, r8
je 0x14009e05d
cmp r11b, 0x20
ja 0x14009e087
movdqa xmm3, xmmword [str.________________________________FFFFFFFFFFFFFFFF_vvvvvvvvvvvvvvvvUnknown_exception]
mov rcx, r8
movdqa xmm4, xmmword [str._n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r]
sub rcx, rdx
movdqa xmm5, xmmword [0x1400a9ca0]
movdqa xmm6, xmmword [0x1400a9cc0]
cmp rcx, 0x10
jl 0x14009e043
nop dword [rax]
nop word [rax + rax]
movdqu xmm1, xmmword [rax]
movdqa xmm2, xmm1
movdqa xmm0, xmm1
pcmpeqb xmm2, xmm4
pcmpeqb xmm0, xmm3
por xmm1, xmm5
por xmm2, xmm0
pcmpeqb xmm1, xmm6
por xmm2, xmm1
pmovmskb edx, xmm2
xor edx, 0xffff
jne 0x14009e077
add rax, 0x10
sub rcx, 0x10
cmp rcx, 0x10
jge 0x14009e000
cmp rax, r8
je 0x14009e05a
movsx rcx, byte [rax]
cmp cl, 0x20
ja 0x14009e07f
bt rbx, rcx
jae 0x14009e07f
inc rax
cmp rax, r8
jne 0x14009e043
mov rdx, rax
mov r8b, 0x3c
mov rcx, r10
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp fcn.1400a2120
bsf edx, edx
add rdx, rax
jmp 0x14009e082
mov rdx, rax
cmp rdx, r8
je 0x14009e05d
movsx r11d, byte [rdx]
lea eax, [r11 - 9]
cmp eax, 0x72
jbe 0x14009df94
mov r8d, 1
mov rcx, r10
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp fcn.1400a1980
movzx r9d, byte [rsp + 0x30]
mov rcx, r10
movzx r8d, byte [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp fcn.14009af00
movzx r9d, byte [rsp + 0x30]
mov rcx, r10
movzx r8d, byte [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp fcn.14009a8e0
movzx r9d, byte [rsp + 0x30]
mov rcx, r10
movzx r8d, byte [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp fcn.14009a340
movzx r8d, byte [rsp + 0x30]
mov rcx, r10
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp fcn.14009cf40
movzx r8d, byte [rsp + 0x30]
mov rcx, r10
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp fcn.140099cf0
movzx r8d, byte [rsp + 0x30]
mov rcx, r10
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp fcn.14009a030
movzx eax, byte [rsp + 0x88]
mov rcx, r10
movzx r9d, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x30]
mov byte [rsp + 0x80], al
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp fcn.14009d470
movzx eax, byte [rsp + 0x88]
mov rcx, r10
movzx r8d, byte [rsp + 0x30]
mov byte [rsp + 0x88], al
movzx eax, byte [rsp + 0x80]
mov byte [rsp + 0x80], al
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp 0x140096b30
movzx eax, byte [rsp + 0x88]
mov rcx, r10
movzx r8d, byte [rsp + 0x30]
mov byte [rsp + 0x88], al
movzx eax, byte [rsp + 0x80]
mov byte [rsp + 0x80], al
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rdi
jmp 0x14009bf20