Function at 0x18001b130
Capabilities:
Authenticate hmac
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub rsp, 8
movzx eax, word [rcx + 0x270]
mov r9, rcx
mov word [rcx + 0x70], ax
xor r10d, r10d
mov ecx, 0x10b
cmp ax, cx
je 0x18001b201
test ax, ax
je 0x18001b161
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x18001b169
movss xmm0, dword [0x180074be8]
cmp qword [0x180080ca0], 0x10
lea r8, [0x180080c88]
mov r11, qword [0x180080c98]
mov ecx, r10d
cmovae r8, qword [0x180080c88]
mov rdx, r10
test r11, r11
je 0x18001b1bc
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x18001b1a0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [r9 + 0x278]
add r8d, 0x36
addss xmm0, dword [rax + r8*4]
movss dword [rax + r8*4], xmm0
mov rdx, qword [r9]
mov r8d, dword [r9 + 0x54]
mov qword [rsp], rbx
mov r11, qword [rdx]
lea eax, [r8 + 0x1a]
test r11, r11
je 0x18001b7b4
lea rcx, [rax + 1]
mov ebx, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
movzx eax, byte [rbx + r11]
mov byte [r9 + 0x72], al
lea eax, [r8 + 0x1b]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
movzx eax, byte [r11 + rbx]
mov byte [r9 + 0x73], al
lea eax, [r8 + 0x1c]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0x74], eax
lea eax, [r8 + 0x20]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0x78], eax
lea eax, [r8 + 0x24]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0x7c], eax
lea eax, [r8 + 0x28]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0x80], eax
lea eax, [r8 + 0x2c]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0x84], eax
lea eax, [r8 + 0x30]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0x88], eax
lea eax, [r8 + 0x34]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0x8c], eax
lea eax, [r8 + 0x38]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0x90], eax
lea eax, [r8 + 0x3c]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0x94], eax
lea eax, [r8 + 0x40]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
movzx eax, word [r11 + rbx]
mov word [r9 + 0x98], ax
lea eax, [r8 + 0x42]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
movzx eax, word [r11 + rbx]
mov word [r9 + 0x9a], ax
lea eax, [r8 + 0x44]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
movzx eax, word [r11 + rbx]
mov word [r9 + 0x9c], ax
lea eax, [r8 + 0x46]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
movzx eax, word [r11 + rbx]
mov word [r9 + 0x9e], ax
lea eax, [r8 + 0x48]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
movzx eax, word [r11 + rbx]
mov word [r9 + 0xa0], ax
lea eax, [r8 + 0x4a]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
movzx eax, word [r11 + rbx]
mov word [r9 + 0xa2], ax
lea eax, [r8 + 0x4c]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0xa4], eax
lea eax, [r8 + 0x50]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0xa8], eax
lea eax, [r8 + 0x54]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0xac], eax
lea eax, [r8 + 0x58]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0xb0], eax
lea eax, [r8 + 0x5c]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
movzx eax, word [r11 + rbx]
mov word [r9 + 0xb4], ax
lea eax, [r8 + 0x5e]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
movzx eax, word [r11 + rbx]
mov word [r9 + 0xb6], ax
lea eax, [r8 + 0x60]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + rbx]
mov dword [r9 + 0xb8], eax
lea eax, [r8 + 0x64]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [rbx + r11]
mov dword [r9 + 0xbc], eax
lea eax, [r8 + 0x68]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [rbx + r11]
mov dword [r9 + 0xc0], eax
lea eax, [r8 + 0x6c]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [rbx + r11]
mov dword [r9 + 0xc4], eax
lea eax, [r8 + 0x70]
mov rbx, qword [rdx]
test rbx, rbx
je 0x18001b7b4
lea rcx, [rax + 1]
mov r11d, eax
mov eax, dword [rdx + 0x10]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [rbx + r11]
add r8d, 0x74
mov dword [r9 + 0xc8], eax
mov r11, qword [rdx]
test r11, r11
je 0x18001b7b4
mov eax, dword [rdx + 0x10]
lea rcx, [r8 + 1]
cmp rcx, rax
jae 0x18001b7b4
mov eax, dword [r11 + r8]
mov ecx, 0x10
cmp eax, ecx
lea r8, [r9 + 0xd4]
cmova eax, ecx
mov dword [r9 + 0xcc], eax
mov rax, qword [r9]
mov edx, dword [r9 + 0x54]
add edx, 0x78
mov r11, qword [rax]
lea edx, [rdx + r10*8]
test r11, r11
je 0x18001b7b4
mov ecx, dword [rax + 0x10]
lea rax, [rdx + 1]
cmp rax, rcx
jae 0x18001b7b4
mov eax, dword [r11 + rdx]
add edx, 4
mov dword [r8 - 4], eax
mov rax, qword [r9]
mov rbx, qword [rax]
test rbx, rbx
je 0x18001b7b4
mov ecx, dword [rax + 0x10]
lea rax, [rdx + 1]
cmp rax, rcx
jae 0x18001b7b4
mov eax, dword [rbx + rdx]
inc r10d
mov dword [r8], eax
add r8, 8
cmp r10d, 0x10
jb 0x18001b752
mov al, 1
mov rbx, qword [rsp]
add rsp, 8
ret
mov rbx, qword [rsp]
xor al, al
add rsp, 8
ret