Function at 0x14004ac40
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
xorps xmm0, xmm0
movups xmmword [rax - 0x68], xmm0
movups xmmword [rax - 0x58], xmm0
movups xmmword [rax - 0x48], xmm0
mov dword [rax + 8], 0
mov rdx, qword [0x14016ab80]
test rdx, rdx
jne 0x14004ae4c
xor r8d, r8d
mov ebx, 0xb6fb6126
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r8d, r8d
je 0x14004aced
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r9, [rcx + rax*2]
mov edx, 0x811c9dc5
cmp rcx, r9
je 0x14004ace4
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14004acd0
cmp edx, r8d
jne 0x14004ae2d
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
shr r15, 0x20
mov r11d, ecx
add r11, r10
cmp r11, r10
je 0x14004ae2d
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14004ae2d
mov r14d, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r14 + r9*4]
mov ecx, dword [rax + r10]
add rcx, r10
mov edx, 0x811c9dc5
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14004ad66
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14004ad50
cmp edx, ebx
je 0x14004ad74
test r9d, r9d
jne 0x14004ad30
jmp 0x14004ae2d
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov eax, dword [r11 + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
cmp rdx, r11
jbe 0x14004ae45
lea rax, [r15 + r11]
cmp rdx, rax
jae 0x14004ae45
mov r8d, 0x811c9dc5
mov dword [rsp + 0xa8], r8d
mov ecx, r8d
mov dword [rsp + 0xac], ecx
movzx eax, byte [rdx]
cmp al, 0x2e
je 0x14004adef
nop dword [rax]
nop word [rax + rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
inc rdx
movzx eax, byte [rdx]
cmp al, 0x2e
jne 0x14004add0
mov dword [rsp + 0xa8], r8d
inc rdx
movzx eax, byte [rdx]
test al, al
je 0x14004ae1d
nop dword [rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
lea rdx, [rdx + 1]
movzx eax, byte [rdx]
test al, al
jne 0x14004ae00
mov dword [rsp + 0xac], ecx
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xa8]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x14004ae43
cmp qword [rax + 0x30], 0
jne 0x14004aca0
xor edx, edx
mov qword [0x14016ab80], rdx
lea rcx, [rsp + 0x30]
call rdx
mov r10, qword [0x14016ab40]
test r10, r10
jne 0x14004b03e
xor r8d, r8d
mov r10d, 0x3285501
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r8d, r8d
je 0x14004aedd
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r9, [rcx + rax*2]
mov edx, 0x811c9dc5
cmp rcx, r9
je 0x14004aed4
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14004aec0
cmp edx, r8d
jne 0x14004b01e
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov rcx, qword [rax + r11 + 0x88]
mov r15, rcx
shr r15, 0x20
mov ebx, ecx
add rbx, r11
cmp rbx, r11
je 0x14004b01e
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004b01e
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r9d
lea rax, [r11 + r9*4]
mov ecx, dword [rax + r14]
add rcx, r11
mov edx, 0x811c9dc5
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14004af56
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14004af40
cmp edx, r10d
je 0x14004af65
test r9d, r9d
jne 0x14004af20
jmp 0x14004b01e
mov ecx, dword [rbx + 0x1c]
add rcx, r11
mov eax, dword [rbx + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
cmp r10, rbx
jbe 0x14004b037
lea rax, [rbx + r15]
cmp r10, rax
jae 0x14004b037
mov r8d, 0x811c9dc5
mov dword [rsp + 0xa8], r8d
mov ecx, r8d
mov dword [rsp + 0xac], ecx
movzx eax, byte [r10]
cmp al, 0x2e
je 0x14004afe0
nop dword [rax]
nop word [rax + rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
inc r10
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x14004afc0
mov dword [rsp + 0xa8], r8d
inc r10
movzx eax, byte [r10]
test al, al
je 0x14004b00e
nop dword [rax + rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x14004aff0
mov dword [rsp + 0xac], ecx
mov rsi, qword [r12]
mov r10, qword [rsp + 0xa8]
shr r10, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x14004b034
cmp qword [rax + 0x30], 0
jne 0x14004ae90
xor r10d, r10d
mov qword [0x14016ab40], r10
mov edx, dword [rsp + 0x34]
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call r10
mov r13, rax
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x14004b624
mov byte [rax], 0xc3
mov r10, qword [0x14016abd0]
test r10, r10
jne 0x14004b24e
xor r8d, r8d
mov r10d, 0x820621f3
mov rcx, qword gs:[0x60]
mov rax, qword [rcx + 0x18]
mov rcx, qword [rax + 0x10]
mov r12, qword [rcx]
mov rsi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r8d, r8d
je 0x14004b0ed
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r9, [rcx + rax*2]
mov edx, 0x811c9dc5
cmp rcx, r9
je 0x14004b0e4
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14004b0d0
cmp edx, r8d
jne 0x14004b22e
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov rcx, qword [rax + r11 + 0x88]
mov r15, rcx
shr r15, 0x20
mov ebx, ecx
add rbx, r11
cmp rbx, r11
je 0x14004b22e
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004b22e
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r9d
lea rax, [r11 + r9*4]
mov ecx, dword [rax + r14]
add rcx, r11
mov edx, 0x811c9dc5
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14004b166
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14004b150
cmp edx, r10d
je 0x14004b175
test r9d, r9d
jne 0x14004b130
jmp 0x14004b22e
mov ecx, dword [rbx + 0x1c]
add rcx, r11
mov eax, dword [rbx + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
cmp r10, rbx
jbe 0x14004b247
lea rax, [rbx + r15]
cmp r10, rax
jae 0x14004b247
mov r8d, 0x811c9dc5
mov dword [rsp + 0xa8], r8d
mov ecx, r8d
mov dword [rsp + 0xac], ecx
movzx eax, byte [r10]
cmp al, 0x2e
je 0x14004b1f0
nop dword [rax]
nop word [rax + rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
inc r10
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x14004b1d0
mov dword [rsp + 0xa8], r8d
inc r10
movzx eax, byte [r10]
test al, al
je 0x14004b21e
nop dword [rax + rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x14004b200
mov dword [rsp + 0xac], ecx
mov rsi, qword [r12]
mov r10, qword [rsp + 0xa8]
shr r10, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x14004b244
cmp qword [rax + 0x30], 0
jne 0x14004b0a0
xor r10d, r10d
mov qword [0x14016abd0], r10
mov edx, dword [rsp + 0x34]
lea r9, [rsp + 0xa0]
mov r8d, 0x140
mov rcx, r13
call r10
test eax, eax
je 0x14004b624
call r13
nop
mov r9, qword [0x14016ab70]
test r9, r9
jne 0x14004b44e
xor r8d, r8d
mov ebx, 0x3a9acc72
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r8d, r8d
je 0x14004b2ed
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r9, [rcx + rax*2]
mov edx, 0x811c9dc5
cmp rcx, r9
je 0x14004b2e4
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14004b2d0
cmp edx, r8d
jne 0x14004b42e
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
shr r15, 0x20
mov r11d, ecx
add r11, r10
cmp r11, r10
je 0x14004b42e
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14004b42e
mov r14d, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov ecx, dword [rax + r14]
add rcx, r10
mov edx, 0x811c9dc5
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14004b366
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14004b350
cmp edx, ebx
je 0x14004b374
test r9d, r9d
jne 0x14004b330
jmp 0x14004b42e
mov ecx, dword [r11 + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov r9d, dword [rcx + rdx*4]
add r9, r10
cmp r9, r11
jbe 0x14004b447
lea rax, [r11 + r15]
cmp r9, rax
jae 0x14004b447
mov r8d, 0x811c9dc5
mov dword [rsp + 0xa8], r8d
mov ecx, r8d
mov dword [rsp + 0xac], ecx
movzx eax, byte [r9]
cmp al, 0x2e
je 0x14004b3f0
nop dword [rax]
nop dword [rax + rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
mov dword [rsp + 0xa8], r8d
inc r9
movzx eax, byte [r9]
cmp al, 0x2e
jne 0x14004b3d0
inc r9
movzx eax, byte [r9]
test al, al
je 0x14004b41e
nop dword [rax + rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
mov dword [rsp + 0xac], ecx
lea r9, [r9 + 1]
movzx eax, byte [r9]
test al, al
jne 0x14004b400
mov rsi, qword [r12]
mov rbx, qword [rsp + 0xa8]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x14004b444
cmp qword [rax + 0x30], 0
jne 0x14004b2a1
xor r9d, r9d
mov qword [0x14016ab70], r9
xor edx, edx
mov r8d, 0x8000
mov rcx, r13
call r9
mov al, 1
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor al, al
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret