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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x110]
sub rsp, 0x210
mov rax, qword [0x14006e030]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov r15, rdx
mov qword [rbp + 0x10], rdx
mov rbx, rcx
mov edi, 0x68
mov r8d, edi
xor edx, edx
lea rcx, [rsp + 0x50]
call sub.msvcrt.dll_memset
mov dword [rsp + 0x50], edi
or dword [rsp + 0x60], 0xffffffff
or dword [rsp + 0x70], 0xffffffff
or dword [rbp - 0x60], 0xffffffff
or dword [rbp - 0x50], 0xffffffff
movabs rax, 0xd00b3fb03c7ae580
mov qword [rbp], rax
movabs rax, 0xd31b53c9841253d4
mov qword [rbp + 8], rax
movabs r14, 0xfe7b4bc454148cf7
mov qword [rsp + 0x20], r14
movabs rsi, 0xd31b53c9847e3fb0
mov qword [rsp + 0x28], rsi
movdqa xmm0, xmmword [rbp]
pxor xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rbp], xmm0
lea rcx, [rbp]
call fcn.140027798
movups xmm0, xmmword [rbx]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x20]
call fcn.14002754c
nop
lea r8d, [rdi - 0x60]
mov rdi, qword [0x14006f910]
xor ebx, ebx
test rdi, rdi
jne 0x14003c3fe
mov edx, ebx
mov qword [rsp + 0x20], rbx
mov r14d, ebx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r15d, 0xb4506ee2
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, r8w
test r14d, r14d
je 0x14003c230
cmp rdx, qword [rax + 0x30]
je 0x14003c230
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xea73f59
cmp r9, r11
je 0x14003c227
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x14003c1f8
mov rdx, qword [rsp + 0x20]
cmp r10d, r14d
jne 0x14003c2b7
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov r9d, ecx
add r9, r10
shr rcx, 0x20
cmp r9, r10
je 0x14003c2b2
mov edi, dword [r9 + 0x18]
test edi, edi
je 0x14003c2b2
mov r8d, dword [r9 + 0x20]
dec edi
lea rdx, [r10 + rdi*4]
mov r11d, dword [rdx + r8]
add r11, r10
mov r12d, 0xea73f59
mov sil, byte [r11]
inc r11
test sil, sil
je 0x14003c2a9
movsx edx, sil
sub sil, 0x41
mov r8d, edx
or r8d, 0x20
cmp sil, 0x19
cmova r8d, edx
xor r8d, r12d
imul r12d, r8d, 0x1000193
mov sil, byte [r11]
inc r11
test sil, sil
jne 0x14003c279
mov r8d, dword [r9 + 0x20]
cmp r12d, r15d
je 0x14003c2c5
test edi, edi
jne 0x14003c25b
mov rdx, qword [rsp + 0x20]
mov rax, qword [rax]
mov r8d, 8
jmp 0x14003c1c2
mov edx, dword [r9 + 0x1c]
add rdx, r10
mov eax, dword [r9 + 0x24]
add rax, r10
movzx eax, word [rax + rdi*2]
mov edi, dword [rdx + rax*4]
add rdi, r10
cmp rdi, r9
jbe 0x14003c3d9
lea rax, [r9 + rcx]
cmp rdi, rax
jae 0x14003c3d9
mov qword [rbp], rbx
mov esi, 0xea73f59
mov dword [rbp + 8], esi
mov r14d, esi
mov dword [rbp + 0xc], esi
xor edx, edx
lea r8d, [rdx + 0x40]
lea rcx, [rbp + 0xc0]
call sub.msvcrt.dll_memset
mov al, byte [rdi]
cmp al, 0x2e
je 0x14003c341
lea rcx, [rbp + 0xc0]
sub rcx, rdi
mov byte [rcx + rdi], al
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdi
mov al, byte [rdi]
cmp al, 0x2e
jne 0x14003c327
mov dword [rbp + 8], esi
mov eax, dword [rbp + 0xc0]
cmp eax, 0x2d697061
je 0x14003c363
cmp eax, 0x2d495041
je 0x14003c363
cmp eax, 0x2d747865
je 0x14003c363
cmp eax, 0x2d545845
jne 0x14003c374
lea rcx, [rbp + 0xc0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp], rax
inc rdi
mov dl, byte [rdi]
test dl, dl
je 0x14003c3a5
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
inc rdi
mov dl, byte [rdi]
test dl, dl
jne 0x14003c37d
mov dword [rbp + 0xc], r14d
movaps xmm0, xmmword [rbp]
movdqa xmmword [rsp + 0x20], xmm0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r15d, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
jmp 0x14003c2b7
mov qword [0x14006f910], rdi
mov r15, qword [rbp + 0x10]
movabs rsi, 0xd31b53c9847e3fb0
mov r8d, 8
movabs r14, 0xfe7b4bc454148cf7
lea rcx, [rbp + 0x20]
cmp qword [rbp + 0x38], r8
cmovae rcx, qword [rbp + 0x20]
lea r9, [rsp + 0x50]
xor r8d, r8d
mov edx, dword [rbp + 0x30]
call rdi
test eax, eax
je 0x14003c665
movzx eax, word [rsp + 0x74]
mov word [r15 + 2], ax
mov edi, 0x1000
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14003c4a6
cmp dword [rsp + 0x60], ebx
jbe 0x14003c4a6
mov eax, dword [rsp + 0x60]
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rax
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x40]
call fcn.140027574
lea rcx, [r15 + 8]
mov rdx, rax
call fcn.140005e88
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x14003c4a6
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, rdi
jb 0x14003c4a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c6a0
call fcn.14005209c
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14003c51d
cmp dword [rsp + 0x70], ebx
jbe 0x14003c51d
mov eax, dword [rsp + 0x70]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x60]
call fcn.140027574
lea rcx, [r15 + 0x28]
mov rdx, rax
call fcn.140005e88
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x14003c51d
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, rdi
jb 0x14003c518
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c6a6
call fcn.14005209c
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x14003c59a
cmp dword [rbp - 0x60], ebx
jbe 0x14003c59a
mov eax, dword [rbp - 0x60]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rax
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x80]
call fcn.140027574
lea rcx, [r15 + 0x48]
mov rdx, rax
call fcn.140005e88
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x14003c59a
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, rdi
jb 0x14003c595
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c6ac
call fcn.14005209c
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x14003c617
cmp dword [rbp - 0x50], ebx
jbe 0x14003c617
mov eax, dword [rbp - 0x50]
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rax
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0xa0]
call fcn.140027574
lea rcx, [r15 + 0x68]
mov rdx, rax
call fcn.140005e88
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0x10
jb 0x14003c617
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, rdi
jb 0x14003c612
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c69a
call fcn.14005209c
movabs rax, 0xfe7b4bb72460f89f
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rsi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rsi
movdqa xmm0, xmmword [rbp + 0x10]
pxor xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x10], xmm0
lea rcx, [r15 + 8]
cmp qword [rcx + 0x18], 0x10
jb 0x14003c651
mov rcx, qword [rcx]
lea rdx, [rbp + 0x10]
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
sete al
mov byte [r15], al
mov bl, 1
lea rcx, [rbp + 0x20]
call fcn.14000f60c
mov al, bl
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.140051b80
mov rbx, qword [rsp + 0x260]
add rsp, 0x210
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140055e50
nop
call fcn.140055e50
int3
call fcn.140055e50
int3
call fcn.140055e50
int3