Function at 0x1401736b0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov rbp, rsp
mov rsi, rdx
mov rdi, rcx
xor eax, eax
test al, al
jne 0x1401736ff
mov eax, 0x30
call fcn.14020e090
sub rsp, rax
mov rbx, rsp
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov r15, rsp
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov r14, rsp
xor eax, eax
test al, al
je 0x140173730
mov eax, 0x30
call fcn.14020e090
sub rsp, rax
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
jmp 0x1401736c9
mov eax, dword [0x14159f734]
xor eax, dword [0x14159f730]
imul eax, eax, 0xc5db30bf
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x89df9734
and ecx, 0x762068cb
imul ecx, edx
mov edx, eax
and edx, 0x762068cb
or eax, 0x762068cb
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x6fd77302
and ecx, 0x90288cfd
imul ecx, edx
mov edx, eax
and edx, 0x90288cfd
or eax, 0x90288cfd
imul eax, edx
add eax, ecx
cmp eax, 0x4af589
jb 0x140173730
mov eax, dword [0x14159f738]
mov ecx, dword [0x14159f73c]
not eax
not ecx
and ecx, eax
mov eax, ecx
or eax, 0x17dc6fa
sub eax, ecx
and eax, 0x14700a0
cmp eax, 0x423c0895
jne 0x1401737e0
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.14020ce30
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x14159f740]
sub eax, dword [0x14159f744]
imul r12, rax, 0x244ed253
shr r12, 0x3c
or r12d, 0x1241ac8c
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.140140950
add rsp, 0x20
cmp r12d, 0x1c277aba
je 0x1401737e0
movzx eax, byte [rbx]
mov rcx, qword [rbx + 0x10]
mov r9, qword [rbx + 0x20]
cmp al, 3
jge 0x140173927
test al, al
jle 0x140173a23
mov r8d, 6
cmp al, 2
jge 0x140173b40
mov rax, rcx
or rax, 8
nop dword [rax]
mov edx, dword [0x14159f768]
mov r8d, edx
not r8d
or r8d, dword [0x14159f76c]
add edx, r8d
inc edx
mov r8d, edx
and r8d, 0x3f624dc8
add r8d, r8d
sub edx, r8d
add edx, 0xebd364d5
mov r8d, edx
xor r8d, 0x3c437246
and r8d, edx
cmp r8d, 0x63aae8ec
je 0x140173850
and ecx, 8
mov r8, rcx
add r8, rax
lea rax, [r9 + 1]
nop word cs:[rax + rax]
mov ecx, dword [0x14159f770]
mov edx, dword [0x14159f774]
mov r10d, ecx
xor r10d, edx
not r10d
and r10d, edx
add r10d, r10d
sub edx, r10d
add edx, ecx
add edx, 0x6c67154a
or edx, 0x252a2deb
test r9, r9
mov rcx, rax
cmove rcx, r9
cmp edx, 0xb0ff9b45
je 0x1401738b0
mov eax, dword [0x14159f778]
xor edx, edx
div dword [0x14159f77c]
add r8, rcx
nop
mov eax, dword [0x14159f780]
sub eax, dword [0x14159f784]
xor eax, 0x100a4900
or eax, 0xadf590da
add eax, 0xc41723e8
cmp eax, 0x490c16e1
jb 0x140173900
jmp 0x140173b40
cmp al, 5
jge 0x1401739db
cmp al, 4
jge 0x140173aa1
add rcx, 4
nop dword [rax + rax]
mov eax, dword [0x14159f788]
mov edx, dword [0x14159f78c]
mov r8d, eax
not r8d
mov r9d, edx
not r9d
mov r10d, r8d
and r10d, 0x8eb83d40
and eax, 0x7147c2b8
or eax, r10d
or r8d, r9d
and r9d, 0x8eb83d40
and edx, 0x7147c2b8
or edx, r9d
xor edx, eax
not r8d
or r8d, edx
shr r8d, 3
imul rax, r8, 0x471364b
shr rax, 0x37
or eax, 0x3d93c556
cmp eax, 0x52e68a3e
ja 0x140173940
mov eax, dword [0x14159f790]
mov edx, dword [0x14159f794]
mov r8d, edx
and r8d, eax
add eax, edx
sub eax, r8d
add eax, 0xc1688179
imul rax, rax, 0x1a3bfc9b
shr rax, 0x3c
or eax, 0x6626c1be
cmp eax, 0xe381b45
je 0x1401739a0
mov r8, rcx
jmp 0x140173b40
cmp al, 6
jge 0x140173d65
nop word cs:[rax + rax]
mov eax, dword [0x14159f7b0]
and eax, dword [0x14159f7b4]
add eax, 0x1cb68a43
imul rax, rax, 0x4cc99ca1
shr rax, 0x3c
or eax, 0xf070b9c8
cmp eax, 0xe969e0cf
jb 0x1401739f0
mov r8d, 2
jmp 0x140173b40
jne 0x140173d80
mov eax, dword [0x14159f750]
xor edx, edx
div dword [0x14159f754]
add rcx, 4
nop dword [rax + rax]
mov eax, dword [0x14159f758]
add eax, dword [0x14159f75c]
mov edx, eax
xor edx, 0x702742a0
and eax, 0xfd8bd5f
add eax, eax
sub eax, edx
not eax
or eax, 0x9024d363
cmp eax, 0xc39a3142
je 0x140173a40
nop dword [rax + rax]
mov eax, dword [0x14159f764]
add eax, dword [0x14159f760]
or eax, 0x301f3113
mov edx, eax
xor edx, 0x98112b60
and edx, eax
or edx, 0x634c448a
cmp edx, 0x4e05ca20
jb 0x140173a70
mov r8, rcx
jmp 0x140173b40
mov eax, dword [0x14159f798]
xor edx, edx
div dword [0x14159f79c]
add rcx, 2
lea rax, [r9 + 1]
nop word [rax + rax]
mov edx, dword [0x14159f7a0]
mov r8d, dword [0x14159f7a4]
not edx
not r8d
or r8d, edx
not r8d
or r8d, 0x2e449f6b
add r8d, 0xe79430ac
and r8d, 0xf3ffe0bc
xor r8d, 0xe85fe7b0
test r9, r9
mov rdx, rax
cmove rdx, r9
cmp r8d, 0xca28cd15
jb 0x140173ac0
add rcx, rdx
mov eax, 0xa902763f
nop
mov edx, dword [0x14159f7a8]
add edx, dword [0x14159f7ac]
imul rdx, rax
shr rdx, 0x3d
xor edx, 0x13219925
add edx, 0xfbb29b74
cmp edx, 0xc850dac9
jae 0x140173b10
mov r8, rcx
nop dword [rax + rax]
mov eax, dword [0x14159f7b8]
mov ecx, dword [str.K__X]
mov edx, eax
or edx, ecx
not edx
not eax
not ecx
and ecx, eax
or ecx, edx
mov eax, ecx
not eax
and ecx, 0x3e718903
mov edx, eax
and edx, 0xc18e76fc
imul edx, ecx
mov ecx, eax
and ecx, 0x3e718903
or eax, 0x3e718903
imul eax, ecx
add eax, edx
add eax, 0x14afedcc
cmp eax, 0x9a13da08
ja 0x140173b40
mov rax, rsi
sub rax, r8
jb 0x140173db8
nop dword [rax]
mov ecx, dword [0x14159f7dc]
mov edx, ecx
xor edx, ecx
not edx
and edx, dword [0x14159f7d8]
xor edx, ecx
xor edx, 0xab7922d5
add edx, 0xe5d26a41
mov ecx, edx
not ecx
mov r9d, edx
and r9d, 0xde4d4fab
and ecx, 0x21b2b054
imul ecx, r9d
mov r9d, edx
and r9d, 0x21b2b054
or edx, 0x21b2b054
imul edx, r9d
add edx, ecx
cmp edx, 0x4cd44bea
ja 0x140173ba0
add r8, rdi
nop dword [rax]
mov ecx, dword [0x14159f7e0]
mov edx, dword [0x14159f7e4]
mov r9d, edx
not r9d
mov r10d, ecx
and r10d, r9d
or r9d, ecx
not r9d
imul r9d, r10d
mov r10d, ecx
and r10d, edx
or ecx, edx
imul ecx, r10d
add ecx, r9d
and ecx, 0x83436b7b
imul ecx, ecx, 0xa99e5b88
mov edx, ecx
xor edx, 0xae910ef7
and ecx, 0xae910ef0
or ecx, edx
cmp ecx, 0xac246497
je 0x140173c00
test rax, rax
je 0x140173d05
nop
mov eax, dword [0x14159f7e8]
mov ecx, dword [0x14159f7ec]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
xor eax, 0x30024204
or eax, 0x4ed5acb2
cmp eax, 0xefd14852
je 0x140173c60
movzx ecx, byte [r8]
mov eax, dword [0x14159f7f0]
xor edx, edx
div dword [0x14159f7f4]
nop dword [rax]
cmp cl, 0x2f
sete al
mov r8d, dword [str.z_6__n]
or r8d, dword [0x14159f7fc]
add r8d, 0x8615ab42
mov edx, r8d
not edx
and edx, 0x77ee822a
mov r9d, r8d
and r9d, 0x8117dd5
imul r9d, edx
mov edx, r8d
and edx, 0x77ee822a
or r8d, 0x77ee822a
imul r8d, edx
add r8d, r9d
or r8d, 0x95d3472b
cmp cl, 0x5c
sete dl
cmp r8d, 0xa71c514
jb 0x140173ca0
or al, dl
jmp 0x140173d07
xor eax, eax
mov qword [r15], rdi
mov qword [r15 + 8], rsi
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15 + 0x20], xmm1
mov rcx, qword [rbx + 0x20]
mov qword [r15 + 0x30], rcx
mov byte [r15 + 0x3a], al
mov word [r15 + 0x38], 0x200
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
call fcn.1401619c0
add rsp, 0x20
cmp byte [r14], 9
mov rdx, qword [r14 + 0x10]
jne 0x140173d55
mov rax, qword [r14 + 8]
jmp 0x140173d57
xor eax, eax
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov rax, rsi
mov r8, rdi
je 0x140173c55
nop word cs:[rax + rax]
mov eax, dword [0x14159f748]
add eax, dword [0x14159f74c]
mov ecx, eax
not ecx
or ecx, 0x723b72e5
or eax, 0x8dc48d1a
and eax, ecx
imul rax, rax, 0x395117db
shr rax, 0x36
not eax
or eax, 0x24ef86e2
cmp eax, 0xcfe87d75
jb 0x140173d80
jmp 0x140173e00
mov eax, dword [0x14159f7c0]
xor edx, edx
div dword [0x14159f7c4]
and eax, 0x56e6882e
add eax, 0x9a62fd32
mov ecx, eax
not ecx
and ecx, 0x71949013
mov edx, eax
and edx, 0x8e6b686c
imul edx, ecx
mov ecx, eax
and ecx, 0x71849512
or eax, 0x71949513
imul eax, ecx
add eax, edx
cmp eax, 0x78ba9c6c
jbe 0x140173e02
jmp 0x140173e38
ud2
mov eax, dword [0x14159f7c8]
mov ecx, dword [0x14159f7cc]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
or ecx, 0x12202424
xor ecx, 0x3260051c
or ecx, 0xc99bd8c2
ud2
ud2