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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xa0
mov rsi, rcx
lea rdi, [rsp + 0x52]
movabs rax, 0x2f002b0026004e
mov qword [rdi - 2], rax
mov dword [rdi + 6], 0x4e002a
mov word [rdi + 0x12], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x4e
inc rax
cmp rax, 0xa
jne 0x180005b1a
mov word [rsp + 0x64], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180005b58
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180005b58
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x180019654], rax
movabs rax, 0x5b005b00660034
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], 0x340040
mov word [rsp + 0x64], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x34
inc rax
cmp rax, 0xa
jne 0x180005b9c
mov word [rsp + 0x64], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180005bda
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180005bda
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x18001965c], rax
movaps xmm0, xmmword [0x180015570]
movaps xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x60], 0x5c
mov word [rsp + 0x70], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x5c
inc rax
cmp rax, 0x10
jne 0x180005c1a
mov word [rsp + 0x70], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180005c58
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180005c58
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x180019664], rax
movaps xmm0, xmmword [0x180015580]
movaps xmmword [rsp + 0x50], xmm0
movabs rax, 0x4f00230010002a
mov qword [rsp + 0x60], rax
mov word [rsp + 0x7c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x4f
inc rax
cmp rax, 0x16
jne 0x180005ca0
mov word [rsp + 0x7c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180005cde
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180005cde
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x18001966c], rax
movaps xmm0, xmmword [0x180015590]
movaps xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], 0x5d006e
mov word [rsp + 0x74], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x5d
inc rax
cmp rax, 0x12
jne 0x180005d1f
mov word [rsp + 0x74], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180005d5d
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180005d5d
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x180019674], rax
movaps xmm0, xmmword [0x1800155a0]
movaps xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x6c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0xb
inc rax
cmp rax, 0xe
jne 0x180005d96
mov word [rsp + 0x6c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180005dd4
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180005dd4
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x18001967c], rax
movaps xmm0, xmmword [0x1800155b0]
movaps xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], 0x360005
mov word [rsp + 0x74], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x36
inc rax
cmp rax, 0x12
jne 0x180005e15
mov word [rsp + 0x74], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180005e53
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180005e53
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x180019674], rax
movaps xmm0, xmmword [0x1800155c0]
movaps xmmword [rsp + 0x50], xmm0
movabs rax, 0x6f000300300002
mov qword [rsp + 0x60], rax
mov word [rsp + 0x7c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x6f
inc rax
cmp rax, 0x16
jne 0x180005e9b
mov word [rsp + 0x7c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180005ed9
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180005ed9
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x180019684], rax
movaps xmm0, xmmword [str.:OJJ_H_HFE_OXKX039.._ELCIrA__fdmbhS_fe]
movaps xmmword [rsp + 0x50], xmm0
movabs rax, 0x3a004800650057
mov qword [rsp + 0x60], rax
mov word [rsp + 0x7c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x3a
inc rax
cmp rax, 0x16
jne 0x180005f21
mov word [rsp + 0x7c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180005f5f
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180005f5f
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x18001968c], rax
movaps xmm0, xmmword [0x1800155e0]
movaps xmmword [rsp + 0x50], xmm0
movabs rax, 0x2a004600750047
mov qword [rsp + 0x60], rax
mov word [rsp + 0x7c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x2a
inc rax
cmp rax, 0x16
jne 0x180005fa7
mov word [rsp + 0x7c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180005fe5
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180005fe5
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x180019694], rax
movaps xmm0, xmmword [0x1800155f0]
movaps xmmword [rsp + 0x50], xmm0
movabs rax, 0x5c002e00030031
mov qword [rsp + 0x60], rax
mov word [rsp + 0x7c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x5c
inc rax
cmp rax, 0x16
jne 0x18000602d
mov word [rsp + 0x7c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x18000606b
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x18000606b
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x18001969c], rax
movaps xmm0, xmmword [0x180015600]
movaps xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x6c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x2d
inc rax
cmp rax, 0xe
jne 0x1800060a4
mov word [rsp + 0x6c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x1800060e2
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x1800060e2
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196a4], rax
movaps xmm0, xmmword [0x180015610]
movaps xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x6c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0xc
inc rax
cmp rax, 0xe
jne 0x18000611b
mov word [rsp + 0x6c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180006159
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180006159
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196ac], rax
movaps xmm0, xmmword [0x180015620]
movaps xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x60], 0x65
mov word [rsp + 0x70], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x65
inc rax
cmp rax, 0x10
jne 0x180006199
mov word [rsp + 0x70], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x1800061d7
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x1800061d7
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196b4], rax
movaps xmm0, xmmword [0x180015630]
movaps xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x60], 0x14
mov word [rsp + 0x70], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x14
inc rax
cmp rax, 0x10
jne 0x180006217
mov word [rsp + 0x70], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180006255
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180006255
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196bc], rax
movaps xmm0, xmmword [0x180015640]
movaps xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x6c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x12
inc rax
cmp rax, 0xe
jne 0x18000628e
mov word [rsp + 0x6c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x1800062cc
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x1800062cc
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196c4], rax
movaps xmm0, xmmword [str._adfkaXu_aexzwDolrhoD_DwG__]
movaps xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x6c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 7
inc rax
cmp rax, 0xe
jne 0x180006305
mov word [rsp + 0x6c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180006343
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180006343
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196cc], rax
movaps xmm0, xmmword [0x180015660]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [0x180015670]
movaps xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x70], 0x1b
mov word [rsp + 0x90], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x1b
inc rax
cmp rax, 0x20
jne 0x180006392
mov word [rsp + 0x90], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x1800063d3
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x1800063d3
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196d4], rax
movaps xmm0, xmmword [0x180015680]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [0x180015690]
movaps xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x70], 0x47
mov word [rsp + 0x90], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x47
inc rax
cmp rax, 0x20
jne 0x180006422
mov word [rsp + 0x90], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x180006463
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x180006463
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196dc], rax
movaps xmm0, xmmword [0x1800156a0]
movaps xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], 0x28001b
mov word [rsp + 0x64], 0x44
mov word [rsp + 0x78], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x44
inc rax
cmp rax, 0x14
jne 0x1800064ab
mov word [rsp + 0x78], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x1800064e9
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x1800064e9
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196e4], rax
movaps xmm0, xmmword [0x1800156b0]
movaps xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], 0x7a0057
mov word [rsp + 0x64], 8
mov word [rsp + 0x78], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 8
inc rax
cmp rax, 0x14
jne 0x180006531
mov word [rsp + 0x78], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x18000656f
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x18000656f
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196ec], rax
movaps xmm0, xmmword [0x1800156c0]
movaps xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x6c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x63
inc rax
cmp rax, 0xe
jne 0x1800065a8
mov word [rsp + 0x6c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x1800065e6
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x1800065e6
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rbx, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180011984
mov rax, qword [rbx]
mov qword [0x1800196f4], rax
movaps xmm0, xmmword [0x1800156d0]
movaps xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x6c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x50], 0x3b
inc rax
cmp rax, 0xe
jne 0x18000661f
mov word [rsp + 0x6c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp word [rsp + 0x52], 0
je 0x18000665d
mov rcx, rdi
call fcn.180013270
inc eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
je 0x18000665d
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x2f]
lea rdi, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov rdx, rdi
call fcn.180011984
mov rax, qword [rdi]
mov qword [0x1800196fc], rax
mov byte [rsi + 1], 1
mov al, 1
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
ret