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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x120
movaps xmmword [rax - 0x18], xmm6
mov r14, r8
movaps xmmword [rax - 0x28], xmm7
mov rsi, rdx
movaps xmmword [rax - 0x38], xmm8
mov rbp, rcx
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd r8, dword [r10 + 0x3c]
mov edi, dword [r8 + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180002cc7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180002cc7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x4f846d18
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180002cc2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180002ca0
cmp r8d, 0x748ebc06
je 0x180002ccc
test r9d, r9d
jne 0x180002c80
mov rax, qword [rax]
jmp 0x180002c50
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rcx, rbp
add rax, r10
call rax
movups xmm6, xmmword [rsi]
mov rcx, rbp
movups xmm9, xmmword [0x18000e858]
movups xmm10, xmmword [0x180015308]
movaps xmm11, xmmword [r14]
movaps xmm8, xmm6
movdqa xmm7, xmmword [0x18000eb30]
call fcn.1800025a0
movdqa xmm1, xmmword [0x18000eb40]
xor ecx, ecx
mov qword [rsp + 0x20], rcx
addpd xmm1, xmm6
cmp word [rax], cx
je 0x180002d50
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], 0
jne 0x180002d32
add ecx, 1
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x2c], ecx
je 0x180002d55
mov qword [rsp + 0x20], rax
jmp 0x180002d55
mov qword [rsp + 0x28], rcx
mov rax, qword [0x1800117b8]
movups xmm0, xmmword [rsp + 0x20]
mov rbx, qword [0x180011800]
mov qword [rsp + 0x30], rax
mov rax, qword [0x180015790]
movsd qword [rsp + 0x48], xmm8
movsd qword [rsp + 0x58], xmm7
unpckhpd xmm8, xmm8
unpckhpd xmm7, xmm7
movsd qword [rsp + 0x50], xmm8
movsd qword [rsp + 0x60], xmm7
mov dword [rsp + 0x78], 0
movaps xmmword [rsp + 0x90], xmm1
mov word [rsp + 0xa0], 0x100
mov byte [rsp + 0xa2], 1
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x68], xmm11
movups xmmword [rsp + 0x7c], xmm10
movups xmmword [rsp + 0xa4], xmm9
test rax, rax
jne 0x180002dfc
mov rax, qword [0x180011920]
lea r8, str.Canvas.K2_DrawText
add rax, 0x146d58c
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
mov qword [0x180015790], rax
mov r9, qword [rbx]
lea r8, [rsp + 0x30]
mov rdx, rax
mov rcx, rbx
call qword [r9 + 0x268]
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r14
ret