Function at 0x1400172b0
Capabilities:
Access peb ldr_data
Authenticate hmac
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
mov rax, qword [0x1400d0040]
xor rax, rsp
mov qword [rbp + 0x47], rax
xor r14d, r14d
mov dword [rbp + 0x3f], r14d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140017378
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140017378
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xdffe8300
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140017373
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140017350
cmp edx, 0xf1bb257f
je 0x14001799b
test r8d, r8d
jne 0x140017330
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14001738d
cmp qword [rax + 0x30], r14
jne 0x140017300
mov r10, r14
xor edx, edx
mov cl, 0x53
call fcn.140008960
mov edx, 1
mov byte [rbp - 9], al
mov cl, 0x4f
call fcn.140008960
mov edx, 2
mov byte [rbp - 8], al
mov cl, 0x46
call fcn.140008960
mov edx, 3
mov byte [rbp - 7], al
mov cl, 0x54
call fcn.140008960
mov edx, 4
mov byte [rbp - 6], al
mov cl, 0x57
call fcn.140008960
mov edx, 5
mov byte [rbp - 5], al
mov cl, 0x41
call fcn.140008960
mov edx, 6
mov byte [rbp - 4], al
mov cl, 0x52
call fcn.140008960
mov edx, 7
mov byte [rbp - 3], al
mov cl, 0x45
call fcn.140008960
mov edx, 8
mov byte [rbp - 2], al
mov cl, 0x5c
call fcn.140008960
mov edx, 9
mov byte [rbp - 1], al
mov cl, 0x4d
call fcn.140008960
mov edx, 0xa
mov byte [rbp], al
mov cl, 0x69
call fcn.140008960
mov edx, 0xb
mov byte [rbp + 1], al
mov cl, 0x63
call fcn.140008960
mov edx, 0xc
mov byte [rbp + 2], al
mov cl, 0x72
call fcn.140008960
mov edx, 0xd
mov byte [rbp + 3], al
mov cl, 0x6f
call fcn.140008960
mov edx, 0xe
mov byte [rbp + 4], al
mov cl, 0x73
call fcn.140008960
mov edx, 0xf
mov byte [rbp + 5], al
mov cl, 0x6f
call fcn.140008960
mov edx, 0x10
mov byte [rbp + 6], al
mov cl, 0x66
call fcn.140008960
mov edx, 0x11
mov byte [rbp + 7], al
mov cl, 0x74
call fcn.140008960
mov edx, 0x12
mov byte [rbp + 8], al
mov cl, 0x5c
call fcn.140008960
mov edx, 0x13
mov byte [rbp + 9], al
mov cl, 0x57
call fcn.140008960
mov byte [rbp + 0xa], al
mov edx, 0x14
mov cl, 0x69
call fcn.140008960
mov edx, 0x15
mov byte [rbp + 0xb], al
mov cl, 0x6e
call fcn.140008960
mov edx, 0x16
mov byte [rbp + 0xc], al
mov cl, 0x64
call fcn.140008960
mov edx, 0x17
mov byte [rbp + 0xd], al
mov cl, 0x6f
call fcn.140008960
mov edx, 0x18
mov byte [rbp + 0xe], al
mov cl, 0x77
call fcn.140008960
mov edx, 0x19
mov byte [rbp + 0xf], al
mov cl, 0x73
call fcn.140008960
mov edx, 0x1a
mov byte [rbp + 0x10], al
mov cl, 0x5c
call fcn.140008960
mov edx, 0x1b
mov byte [rbp + 0x11], al
mov cl, 0x43
call fcn.140008960
mov edx, 0x1c
mov byte [rbp + 0x12], al
mov cl, 0x75
call fcn.140008960
mov edx, 0x1d
mov byte [rbp + 0x13], al
mov cl, 0x72
call fcn.140008960
mov edx, 0x1e
mov byte [rbp + 0x14], al
call fcn.140008960
mov edx, 0x1f
mov byte [rbp + 0x15], al
mov cl, 0x65
call fcn.140008960
mov edx, 0x20
mov byte [rbp + 0x16], al
mov cl, 0x6e
call fcn.140008960
mov edx, 0x21
mov byte [rbp + 0x17], al
mov cl, 0x74
call fcn.140008960
mov edx, 0x22
mov byte [rbp + 0x18], al
mov cl, 0x56
call fcn.140008960
mov edx, 0x23
mov byte [rbp + 0x19], al
mov cl, 0x65
call fcn.140008960
mov edx, 0x24
mov byte [rbp + 0x1a], al
mov cl, 0x72
call fcn.140008960
mov edx, 0x25
mov byte [rbp + 0x1b], al
mov cl, 0x73
call fcn.140008960
mov edx, 0x26
mov byte [rbp + 0x1c], al
mov cl, 0x69
call fcn.140008960
mov edx, 0x27
mov byte [rbp + 0x1d], al
mov cl, 0x6f
call fcn.140008960
mov edx, 0x28
mov byte [rbp + 0x1e], al
mov cl, 0x6e
call fcn.140008960
mov edx, 0x29
mov byte [rbp + 0x1f], al
mov cl, 0x5c
call fcn.140008960
mov edx, 0x2a
mov byte [rbp + 0x20], al
mov cl, 0x49
call fcn.140008960
mov edx, 0x2b
mov byte [rbp + 0x21], al
mov cl, 0x6e
call fcn.140008960
mov edx, 0x2c
mov byte [rbp + 0x22], al
mov cl, 0x74
call fcn.140008960
mov edx, 0x2d
mov byte [rbp + 0x23], al
mov cl, 0x65
call fcn.140008960
mov edx, 0x2e
mov byte [rbp + 0x24], al
mov cl, 0x72
call fcn.140008960
mov edx, 0x2f
mov byte [rbp + 0x25], al
mov cl, 0x6e
call fcn.140008960
mov edx, 0x30
mov byte [rbp + 0x26], al
mov cl, 0x65
call fcn.140008960
mov edx, 0x31
mov byte [rbp + 0x27], al
mov cl, 0x74
call fcn.140008960
mov edx, 0x32
mov byte [rbp + 0x28], al
mov cl, 0x20
call fcn.140008960
mov edx, 0x33
mov byte [rbp + 0x29], al
mov cl, 0x53
call fcn.140008960
mov edx, 0x34
mov byte [rbp + 0x2a], al
mov cl, 0x65
call fcn.140008960
mov edx, 0x35
mov byte [rbp + 0x2b], al
mov cl, 0x74
call fcn.140008960
mov edx, 0x36
mov byte [rbp + 0x2c], al
call fcn.140008960
mov edx, 0x37
mov byte [rbp + 0x2d], al
mov cl, 0x69
call fcn.140008960
mov edx, 0x38
mov byte [rbp + 0x2e], al
mov cl, 0x6e
call fcn.140008960
mov edx, 0x39
mov byte [rbp + 0x2f], al
mov cl, 0x67
call fcn.140008960
mov edx, 0x3a
mov byte [rbp + 0x30], al
mov cl, 0x73
call fcn.140008960
mov byte [rbp + 0x31], al
mov edx, r14d
xor eax, eax
mov byte [rbp + 0x32], al
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 9]
add rcx, rax
lea eax, [rdx - 0x79]
inc edx
xor byte [rcx], al
cmp edx, 0x3b
jb 0x140017710
lea rax, [rbp + 0x37]
mov byte [rbp + 0x32], r14b
mov r9d, 0xf003f
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp - 9]
mov rcx, 0xffffffff80000001
call r10
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x1400177e8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1400177e8
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x650192f6
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400177e3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1400177c0
cmp edx, 0x2dcd32b
je 0x1400179b8
test r8d, r8d
jne 0x1400177a0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1400177fd
cmp qword [rax + 0x30], r14
jne 0x140017770
mov r10, r14
xor edx, edx
mov cl, 0x50
call fcn.140008960
mov edx, 1
mov byte [rbp - 0x19], al
mov cl, 0x72
call fcn.140008960
mov edx, 2
mov byte [rbp - 0x18], al
mov cl, 0x6f
call fcn.140008960
mov edx, 3
mov byte [rbp - 0x17], al
mov cl, 0x78
call fcn.140008960
mov edx, 4
mov byte [rbp - 0x16], al
mov cl, 0x79
call fcn.140008960
mov edx, 5
mov byte [rbp - 0x15], al
mov cl, 0x45
call fcn.140008960
mov edx, 6
mov byte [rbp - 0x14], al
mov cl, 0x6e
call fcn.140008960
mov edx, 7
mov byte [rbp - 0x13], al
mov cl, 0x61
call fcn.140008960
mov edx, 8
mov byte [rbp - 0x12], al
mov cl, 0x62
call fcn.140008960
mov edx, 9
mov byte [rbp - 0x11], al
mov cl, 0x6c
call fcn.140008960
mov edx, 0xa
mov byte [rbp - 0x10], al
mov cl, 0x65
call fcn.140008960
mov byte [rbp - 0xf], al
mov edx, r14d
xor eax, eax
mov byte [rbp - 0xe], al
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x19]
add rcx, rax
lea eax, [rdx - 0x79]
inc edx
xor byte [rcx], al
cmp edx, 0xb
jb 0x1400178b0
mov rcx, qword [rbp + 0x37]
lea rax, [rbp + 0x3f]
mov dword [rsp + 0x28], 4
lea rdx, [rbp - 0x19]
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov byte [rbp - 0xe], r14b
call r10
test eax, eax
je 0x1400179f4
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140017984
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140017984
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xf3e8dc2d
lea rax, [r9 + r8*4]
mov eax, dword [rax + r11]
add rax, r9
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x14001797f
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax - 1]
test cl, cl
jne 0x140017960
cmp edx, 0x81993c42
je 0x1400179d5
test r8d, r8d
jne 0x140017940
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1400179ed
cmp qword [rax + 0x30], r14
jne 0x140017910
jmp 0x1400179ed
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x140017390
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
jmp 0x140017800
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r14d, dword [rcx + rdx*4]
add r14, r9
mov rcx, qword [rbp + 0x37]
call r14
mov al, 1
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.14006a9b0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret