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

Disassembly:
push rsi
push rdi
sub rsp, 0xd8
xor ecx, ecx
call fcn.18001e8d0
mov qword [0x180027d80], rax
lea rdx, [rsp + 0x41]
mov dword [rdx - 1], 0x74653f11
mov word [rdx + 3], 0x6569
mov byte [rdx + 5], 0
mov ecx, 1
xor byte [rsp + rcx + 0x40], 0x11
inc rcx
cmp rcx, 6
jne 0x180003312
lea rsi, [rsp + 0x40]
mov byte [rsi + 6], 0
lea r8, [0x180027d88]
mov rcx, rax
call fcn.18001e9b1
mov qword [0x180027d90], rax
mov dword [rsi], 0
mov rcx, qword [0x180027d88]
lea r8, [rsp + 0x91]
mov dword [r8 - 1], 0x787803
lea rdx, [rsp + 0x3d]
mov dword [rdx - 1], 0xe3ff68
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xc65d40
xor edi, edi
mov rcx, rsi
xor r9d, r9d
call fcn.18001fe28
mov rsi, rax
test rax, rax
jne 0x1800033c7
lea rcx, [rsp + 0x40]
mov dword [rcx], edi
lea r9, [rsp + 0x91]
mov dword [r9 - 1], 0x787861
lea r8, [rsp + 0x3d]
mov dword [r8 - 1], 0xe3ff7a
mov rdx, qword [0x180027d80]
mov dword [rsp + 0x20], edi
call fcn.18001fd3e
mov rsi, rax
mov dword [rsp + 0x3c], 0
mov rax, qword [0x180027d88]
mov rcx, qword [0x180027d90]
lea r8, [rsp + 0x41]
mov byte [r8 - 1], 0x1d
mov dword [r8], 0x65656565
mov word [r8 + 4], 0x65
mov edx, 1
xor byte [rsp + rdx + 0x40], 0x1d
inc rdx
cmp rdx, 6
jne 0x1800033fa
xor r9d, r9d
mov byte [rsp + 0x46], r9b
lea rdx, [rsp + 0x91]
mov dword [rdx - 1], 0xf2b57e36
mov word [rdx + 3], 0xf55e
mov byte [rdx + 5], r9b
mov r9d, 1
xor byte [rsp + r9 + 0x90], 0x36
inc r9
cmp r9, 6
jne 0x18000342f
mov byte [rsp + 0x96], 0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0xc65d40
lea rcx, [rsp + 0x3c]
xor r9d, r9d
call fcn.18001fe28
test rax, rax
jne 0x1800034fd
mov dword [rsp + 0x3c], 0
lea r9, [rsp + 0x41]
mov byte [r9 - 1], 0x4a
mov dword [r9], 0x32323232
mov word [r9 + 4], 0x32
mov eax, 1
xor byte [rsp + rax + 0x40], 0x4a
inc rax
cmp rax, 6
jne 0x180003497
xor eax, eax
mov byte [rsp + 0x46], al
lea r8, [rsp + 0x91]
mov dword [r8 - 1], 0xf9be753d
mov word [r8 + 3], 0xfe55
mov byte [r8 + 5], al
mov eax, 1
xor byte [rsp + rax + 0x90], 0x3d
inc rax
cmp rax, 6
jne 0x1800034cb
mov byte [rsp + 0x96], 0
mov rdx, qword [0x180027d80]
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x3c]
call fcn.18001fd3e
mov qword [0x180027d98], rax
mov qword [0x180027da0], rsi
mov dword [rsp + 0x3c], 0
mov rax, qword [0x180027d88]
mov rcx, qword [0x180027d90]
lea r8, [rsp + 0x41]
mov byte [r8 - 1], 0x1f
movabs rdx, 0x6767676767676767
mov qword [r8], rdx
mov qword [r8 + 7], rdx
mov edx, 0x20202020
mov dword [r8 + 0xf], edx
mov r9w, 0x6767
mov word [r8 + 0x13], r9w
mov r10b, 0x67
mov byte [r8 + 0x15], r10b
mov dword [r8 + 0x16], edx
mov word [r8 + 0x1a], r9w
mov byte [r8 + 0x1c], r10b
movabs rdx, 0x6767676720202020
mov qword [r8 + 0x1d], rdx
mov word [r8 + 0x25], r9w
movabs rdx, 0x67676720202020
mov qword [r8 + 0x27], rdx
mov edx, 1
xor byte [rsp + rdx + 0x40], 0x1f
inc rdx
cmp rdx, 0x2f
jne 0x180003589
mov byte [rsp + 0x6f], 0
lea rdx, [rsp + 0x91]
movaps xmm0, xmmword [0x1800213c0]
movaps xmmword [rdx - 1], xmm0
mov r9d, 0x2c2c2c2c
mov dword [rdx + 0xf], r9d
mov word [rdx + 0x13], 0xad64
mov byte [rdx + 0x15], 0xc0
mov dword [rdx + 0x16], r9d
mov word [rdx + 0x1a], 0xa764
mov byte [rdx + 0x1c], 0x29
movabs r9, 0x64e81f642c2c2c2c
mov qword [rdx + 0x1d], r9
mov word [rdx + 0x25], 0xa9a5
movabs r9, 0xa9a7642c2c2c2c
mov qword [rdx + 0x27], r9
mov r9d, 1
xor byte [rsp + r9 + 0x90], 0x2c
inc r9
cmp r9, 0x2f
jne 0x1800035f9
mov byte [rsp + 0xbf], 0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0xc65d40
lea rcx, [rsp + 0x3c]
xor r9d, r9d
call fcn.18001fe28
test rax, rax
jne 0x180003750
mov dword [rsp + 0x3c], 0
lea r9, [rsp + 0x41]
mov byte [r9 - 1], 0x2a
movabs rax, 0x5252525252525252
mov qword [r9], rax
mov qword [r9 + 7], rax
mov eax, 0x15151515
mov dword [r9 + 0xf], eax
mov cx, 0x5252
mov word [r9 + 0x13], cx
mov dl, 0x52
mov byte [r9 + 0x15], dl
mov dword [r9 + 0x16], eax
mov word [r9 + 0x1a], cx
mov byte [r9 + 0x1c], dl
movabs rax, 0x5252525215151515
mov qword [r9 + 0x1d], rax
mov word [r9 + 0x25], cx
movabs rax, 0x52525215151515
mov qword [r9 + 0x27], rax
mov eax, 1
xor byte [rsp + rax + 0x40], 0x2a
inc rax
cmp rax, 0x2f
jne 0x1800036aa
mov byte [rsp + 0x6f], 0
lea r8, [rsp + 0x91]
movaps xmm0, xmmword [0x1800213d0]
movaps xmmword [r8 - 1], xmm0
mov eax, 0x5c5c5c5c
mov dword [r8 + 0xf], eax
mov word [r8 + 0x13], 0xdd14
mov byte [r8 + 0x15], 0xb0
mov dword [r8 + 0x16], eax
mov word [r8 + 0x1a], 0xd714
mov byte [r8 + 0x1c], 0x59
movabs rax, 0x14986f145c5c5c5c
mov qword [r8 + 0x1d], rax
mov word [r8 + 0x25], 0xd9d5
movabs rax, 0xd9d7145c5c5c5c
mov qword [r8 + 0x27], rax
mov eax, 1
xor byte [rsp + rax + 0x90], 0x5c
inc rax
cmp rax, 0x2f
jne 0x18000371e
mov byte [rsp + 0xbf], 0
mov rdx, qword [0x180027d80]
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x3c]
call fcn.18001fd3e
mov qword [0x180027da8], rax
mov dword [rsp + 0x3c], 0
mov rax, qword [0x180027d88]
mov rcx, qword [0x180027d90]
lea r8, [rsp + 0x41]
mov byte [r8 - 1], 0x7d
movaps xmm0, xmmword [0x1800213e0]
movups xmmword [r8], xmm0
mov dl, 5
mov byte [r8 + 0x10], dl
mov r9d, 0x42424242
mov dword [r8 + 0x11], r9d
mov r10w, 0x505
mov word [r8 + 0x15], r10w
mov byte [r8 + 0x17], dl
mov dword [r8 + 0x18], r9d
mov word [r8 + 0x1c], r10w
mov byte [r8 + 0x1e], dl
movabs r11, 0x505050542424242
mov qword [r8 + 0x1f], r11
mov word [r8 + 0x27], r10w
mov dword [r8 + 0x29], r9d
mov word [r8 + 0x2d], r10w
mov byte [r8 + 0x2f], dl
mov qword [r8 + 0x30], r11
mov word [r8 + 0x38], 5
mov edx, 1
xor byte [rsp + rdx + 0x40], 0x7d
inc rdx
cmp rdx, 0x3a
jne 0x1800037dd
mov byte [rsp + 0x7a], 0
lea rdx, [rsp + 0x91]
movaps xmm0, xmmword [str..nxyozooxoyf]
movaps xmmword [rdx - 1], xmm0
mov word [rdx + 0xf], 0xa82
mov r9d, 0x2e2e2e2e
mov dword [rdx + 0x11], r9d
mov word [rdx + 0x15], 0xaf66
mov byte [rdx + 0x17], 0xc2
mov dword [rdx + 0x18], r9d
mov r10w, 0xa566
mov word [rdx + 0x1c], r10w
mov byte [rdx + 0x1e], 0x2b
movabs r11, 0x66ea1d662e2e2e2e
mov qword [rdx + 0x1f], r11
mov word [rdx + 0x27], 0xaba7
mov dword [rdx + 0x29], r9d
mov word [rdx + 0x2d], r10w
mov byte [rdx + 0x2f], 0xab
movabs r9, 0xa562d11d2e2e2e2e
mov qword [rdx + 0x30], r9
mov word [rdx + 0x38], 0x9b
mov r9d, 1
xor byte [rsp + r9 + 0x90], 0x2e
inc r9
cmp r9, 0x3a
jne 0x18000386a
mov byte [rsp + 0xca], 0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0xc65d40
lea rcx, [rsp + 0x3c]
xor r9d, r9d
call fcn.18001fe28
test rax, rax
jne 0x1800039e7
mov dword [rsp + 0x3c], 0
lea r9, [rsp + 0x41]
mov byte [r9 - 1], 4
movaps xmm0, xmmword [str.7wbda_vcvbvav_]
movups xmmword [r9], xmm0
mov al, 0x7c
mov byte [r9 + 0x10], al
mov ecx, 0x3b3b3b3b
mov dword [r9 + 0x11], ecx
mov dx, 0x7c7c
mov word [r9 + 0x15], dx
mov byte [r9 + 0x17], al
mov dword [r9 + 0x18], ecx
mov word [r9 + 0x1c], dx
mov byte [r9 + 0x1e], al
movabs r8, 0x7c7c7c7c3b3b3b3b
mov qword [r9 + 0x1f], r8
mov word [r9 + 0x27], dx
mov dword [r9 + 0x29], ecx
mov word [r9 + 0x2d], dx
mov byte [r9 + 0x2f], al
mov qword [r9 + 0x30], r8
mov word [r9 + 0x38], 0x7c
mov eax, 1
xor byte [rsp + rax + 0x40], 4
inc rax
cmp rax, 0x3a
jne 0x180003923
mov byte [rsp + 0x7a], 0
lea r8, [rsp + 0x91]
movaps xmm0, xmmword [0x180021410]
movaps xmmword [r8 - 1], xmm0
mov word [r8 + 0xf], 0x139b
mov eax, 0x37373737
mov dword [r8 + 0x11], eax
mov word [r8 + 0x15], 0xb67f
mov byte [r8 + 0x17], 0xdb
mov dword [r8 + 0x18], eax
mov cx, 0xbc7f
mov word [r8 + 0x1c], cx
mov byte [r8 + 0x1e], 0x32
movabs rdx, 0x7ff3047f37373737
mov qword [r8 + 0x1f], rdx
mov word [r8 + 0x27], 0xb2be
mov dword [r8 + 0x29], eax
mov word [r8 + 0x2d], cx
mov byte [r8 + 0x2f], 0xb2
movabs rax, 0xbc7bc80437373737
mov qword [r8 + 0x30], rax
mov word [r8 + 0x38], 0x82
mov eax, 1
xor byte [rsp + rax + 0x90], 0x37
inc rax
cmp rax, 0x3a
jne 0x1800039b5
mov byte [rsp + 0xca], 0
mov rdx, qword [0x180027d80]
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x3c]
call fcn.18001fd3e
mov qword [0x180027db0], rax
mov dword [rsp + 0x3c], 0
mov rax, qword [0x180027d88]
mov rcx, qword [0x180027d90]
lea r8, [rsp + 0x41]
mov byte [r8 - 1], 0x51
mov edx, 0x29292929
mov dword [r8], edx
mov r9w, 0x2929
mov word [r8 + 4], r9w
movabs r10, 0x2929296e2929296e
mov qword [r8 + 6], r10
mov r10b, 0x6e
mov byte [r8 + 0xe], r10b
movabs r11, 0x2929292929292929
mov qword [r8 + 0xf], r11
movabs r11, 0x2929296e29292929
mov qword [r8 + 0x17], r11
mov dword [r8 + 0x1f], 0x6e6e6e6e
mov word [r8 + 0x23], r9w
mov byte [r8 + 0x25], 0x29
movabs r11, 0x292929296e6e6e6e
mov qword [r8 + 0x26], r11
mov word [r8 + 0x2e], r9w
mov byte [r8 + 0x30], r10b
mov dword [r8 + 0x31], edx
mov word [r8 + 0x35], r9w
mov dword [r8 + 0x37], 0x2929296e
movabs rdx, 0x2929296e6e6e6e
mov qword [r8 + 0x3b], rdx
mov edx, 1
xor byte [rsp + rdx + 0x40], 0x51
inc rdx
cmp rdx, 0x43
jne 0x180003a9e
mov byte [rsp + 0x83], 0
lea rdx, [rsp + 0x91]
movaps xmm0, xmmword [0x180021420]
movaps xmmword [rdx - 1], xmm0
movaps xmm0, xmmword [0x180021430]
movaps xmmword [rdx + 0xf], xmm0
mov r9d, 0x32323232
mov dword [rdx + 0x1f], r9d
mov word [rdx + 0x23], 0xb97a
mov byte [rdx + 0x25], 0x37
mov dword [rdx + 0x26], r9d
movaps xmm0, xmmword [0x180021440]
movups xmmword [rdx + 0x2a], xmm0
mov byte [rdx + 0x3a], 7
movabs r9, 0x37bf7a32323232
mov qword [rdx + 0x3b], r9
mov r9d, 1
xor byte [rsp + r9 + 0x90], 0x32
inc r9
cmp r9, 0x43
jne 0x180003b0d
mov byte [rsp + 0xd3], 0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0x989680
lea rcx, [rsp + 0x3c]
xor r9d, r9d
call fcn.18001fe28
test rax, rax
jne 0x180003c95
mov dword [rsp + 0x3c], 0
lea r9, [rsp + 0x41]
mov byte [r9 - 1], 6
mov eax, 0x7e7e7e7e
mov dword [r9], eax
mov cx, 0x7e7e
mov word [r9 + 4], cx
movabs rdx, 0x7e7e7e397e7e7e39
mov qword [r9 + 6], rdx
mov dl, 0x39
mov byte [r9 + 0xe], dl
movabs r8, 0x7e7e7e7e7e7e7e7e
mov qword [r9 + 0xf], r8
movabs r8, 0x7e7e7e397e7e7e7e
mov qword [r9 + 0x17], r8
mov dword [r9 + 0x1f], 0x39393939
mov word [r9 + 0x23], cx
mov byte [r9 + 0x25], 0x7e
movabs r8, 0x7e7e7e7e39393939
mov qword [r9 + 0x26], r8
mov word [r9 + 0x2e], cx
mov byte [r9 + 0x30], dl
mov dword [r9 + 0x31], eax
mov word [r9 + 0x35], cx
mov dword [r9 + 0x37], 0x7e7e7e39
movabs rax, 0x7e7e7e39393939
mov qword [r9 + 0x3b], rax
mov eax, 1
xor byte [rsp + rax + 0x40], 6
inc rax
cmp rax, 0x43
jne 0x180003bf0
mov byte [rsp + 0x83], 0
lea r8, [rsp + 0x91]
movaps xmm0, xmmword [0x180021450]
movaps xmmword [r8 - 1], xmm0
movaps xmm0, xmmword [0x180021460]
movaps xmmword [r8 + 0xf], xmm0
mov eax, 0x6c6c6c6c
mov dword [r8 + 0x1f], eax
mov word [r8 + 0x23], 0xe724
mov byte [r8 + 0x25], 0x69
mov dword [r8 + 0x26], eax
movaps xmm0, xmmword [0x180021470]
movups xmmword [r8 + 0x2a], xmm0
mov byte [r8 + 0x3a], 0x59
movabs rax, 0x69e1246c6c6c6c
mov qword [r8 + 0x3b], rax
mov eax, 1
xor byte [rsp + rax + 0x90], 0x6c
inc rax
cmp rax, 0x43
jne 0x180003c63
mov byte [rsp + 0xd3], 0
mov rdx, qword [0x180027d80]
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x3c]
call fcn.18001fd3e
mov qword [0x180027db8], rax
mov dword [rsp + 0x3c], 0
mov rax, qword [0x180027d88]
mov rcx, qword [0x180027d90]
lea r8, [rsp + 0x41]
mov byte [r8 - 1], 0x2b
movaps xmm0, xmmword [0x180021480]
movups xmmword [r8], xmm0
mov dx, 0x5353
mov word [r8 + 0x10], dx
mov dword [r8 + 0x12], 0x53535314
movabs r9, 0x1453535314141414
mov qword [r8 + 0x16], r9
mov word [r8 + 0x1e], dx
mov byte [r8 + 0x20], 0x53
movabs rdx, 0x53535314141414
mov qword [r8 + 0x21], rdx
mov edx, 1
xor byte [rsp + rdx + 0x40], 0x2b
inc rdx
cmp rdx, 0x29
jne 0x180003d03
mov byte [rsp + 0x69], 0
lea rdx, [rsp + 0x91]
movaps xmm0, xmmword [0x180021490]
movaps xmmword [rdx - 1], xmm0
mov dword [rdx + 0xf], 0x761efb3e
mov word [rdx + 0x13], 0xf73e
mov byte [rdx + 0x15], 0x9a
movabs r9, 0x76065f7976767676
mov qword [rdx + 0x16], r9
mov word [rdx + 0x1e], 0xfb3a
mov byte [rdx + 0x20], 0x5b
movabs r9, 0xe5f7976767676
mov qword [rdx + 0x21], r9
mov r9d, 1
xor byte [rsp + r9 + 0x90], 0x76
inc r9
cmp r9, 0x29
jne 0x180003d66
mov byte [rsp + 0xb9], 0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0x989680
lea rcx, [rsp + 0x3c]
xor r9d, r9d
call fcn.18001fe28
test rax, rax
jne 0x180003e9c
mov dword [rsp + 0x3c], 0
lea r9, [rsp + 0x41]
mov byte [r9 - 1], 0x3b
movaps xmm0, xmmword [0x1800214a0]
movups xmmword [r9], xmm0
mov ax, 0x4343
mov word [r9 + 0x10], ax
mov dword [r9 + 0x12], 0x43434304
movabs rcx, 0x443434304040404
mov qword [r9 + 0x16], rcx
mov word [r9 + 0x1e], ax
mov byte [r9 + 0x20], 0x43
movabs rax, 0x43434304040404
mov qword [r9 + 0x21], rax
mov eax, 1
xor byte [rsp + rax + 0x40], 0x3b
inc rax
cmp rax, 0x29
jne 0x180003e02
mov byte [rsp + 0x69], 0
lea r8, [rsp + 0x91]
movaps xmm0, xmmword [0x1800214b0]
movaps xmmword [r8 - 1], xmm0
mov dword [r8 + 0xf], 0x3d55b075
mov word [r8 + 0x13], 0xbc75
mov byte [r8 + 0x15], 0xd1
movabs rax, 0x3d4d14323d3d3d3d
mov qword [r8 + 0x16], rax
mov word [r8 + 0x1e], 0xb071
mov byte [r8 + 0x20], 0x10
movabs rax, 0x4514323d3d3d3d
mov qword [r8 + 0x21], rax
mov eax, 1
xor byte [rsp + rax + 0x90], 0x3d
inc rax
cmp rax, 0x29
jne 0x180003e6a
mov byte [rsp + 0xb9], 0
mov rdx, qword [0x180027d80]
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x3c]
call fcn.18001fd3e
mov qword [0x180027dc0], rax
lea rdx, [rsp + 0x42]
movaps xmm0, xmmword [0x1800214c0]
movaps xmmword [rdx - 2], xmm0
mov dword [rdx + 0xe], 0x6e000a
mov word [rdx + 0x22], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x40], 0x6e
inc rax
cmp rax, 0x12
jne 0x180003ec5
mov word [rsp + 0x64], 0
mov rax, qword [0x180027da8]
lea rcx, [rsp + 0x90]
mov qword [rcx], rax
mov dword [rcx + 8], 0
mov qword [rsp + 0x20], rcx
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call fcn.180020390
mov qword [0x180027dc8], rax
mov al, 1
add rsp, 0xd8
pop rdi
pop rsi
ret