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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x228]
sub rsp, 0x328
mov rsi, rcx
xor al, al
mov dword [rbp + 0x270], eax
movabs rcx, 0xd18487bd6239e005
mov qword [rsp + 0x70], rcx
movabs rcx, 0xce04caec3414dd8a
mov qword [rsp + 0x78], rcx
movabs rax, 0xd1d887826206e059
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
movdqa xmm0, xmmword [rsp + 0x60]
pxor xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x60], xmm0
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp]
call fcn.14007c620
lea rax, [rbp]
mov qword [rbp + 0x210], rax
lea rax, [rsp + 0x60]
mov rdi, 0xffffffffffffffff
mov rbx, rdi
nop
inc rbx
cmp word [rax + rbx*2], 0
jne 0x14002e4b0
add rbx, rbx
mov r8, rbx
lea rdx, [rsp + 0x60]
lea rcx, [rbp]
call fcn.14007bf70
mov rcx, qword [rbp + 0x210]
add rcx, rbx
mov qword [rbp + 0x210], rcx
mov rbx, rdi
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x14002e4e2
add rbx, rbx
mov r8, rbx
mov rdx, rsi
call fcn.14007bf70
add qword [rbp + 0x210], rbx
xor r15d, r15d
mov ebx, r15d
lea rax, [rbp]
nop dword [rax + rax]
inc rdi
cmp word [rax + rdi*2], bx
jne 0x14002e510
add di, di
mov word [rsp + 0x62], di
mov word [rsp + 0x60], di
lea rax, [rbp]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x70], xmm0
mov dword [rbp - 0x80], 0x30
mov qword [rbp - 0x78], r15
lea rax, [rsp + 0x70]
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x68], 0x40
xorps xmm2, xmm2
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rbp - 0x40], xmm1
movups xmmword [rbp - 0x30], xmm2
mov qword [rbp + 0x288], r15
mov r12d, r15d
mov esi, 0x6f2df779
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x60], xmm0
movd ecx, xmm0
sub cx, 8
test r12d, r12d
je 0x14002e5f3
mov r9, qword [rsp + 0x68]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14002e5ea
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 0x14002e5c0
cmp r10d, r12d
jne 0x14002e756
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x14002e763
movsxd rcx, dword [rdi + 0x3c]
mov rdx, qword [rcx + rdi + 0x88]
mov rcx, rdx
shr rcx, 0x20
mov qword [rsp + 0x60], rcx
mov r14d, edx
add r14, rdi
cmp r14, rdi
je 0x14002e756
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14002e756
mov r13d, dword [r14 + 0x20]
nop dword [rax + rax]
dec r11d
lea rcx, [rdi + r11*4]
mov r8d, dword [rcx + r13]
add r8, rdi
mov r10d, 0x811c9dc5
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x14002e68b
movsx ecx, r9b
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r9d, byte [r8]
lea r8, [r8 + 1]
test r9b, r9b
jne 0x14002e660
cmp r10d, esi
je 0x14002e69d
test r11d, r11d
jne 0x14002e640
mov rax, qword [rax]
jmp 0x14002e590
mov ecx, dword [r14 + 0x1c]
add rcx, rdi
mov eax, dword [r14 + 0x24]
add rax, rdi
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rdi
cmp r10, r14
jbe 0x14002e75e
mov rax, qword [rsp + 0x60]
add rax, r14
cmp r10, rax
jae 0x14002e75e
mov esi, 0x811c9dc5
mov r12d, esi
movzx edx, byte [r10]
cmp dl, 0x2e
je 0x14002e709
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r12d
imul r12d, ecx, 0x1000193
inc r10
movzx edx, byte [r10]
cmp dl, 0x2e
jne 0x14002e6e2
inc r10
movzx edx, byte [r10]
test dl, dl
je 0x14002e745
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea r10, [r10 + 1]
movzx edx, byte [r10]
test dl, dl
jne 0x14002e720
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14002e590
xor r15d, r15d
jmp 0x14002e769
xor r15d, r15d
mov r10d, r15d
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x40], 0x60
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x50]
mov edx, 0xc0100000
lea rcx, [rbp + 0x288]
call r10
test eax, eax
js 0x14002e7b7
mov rbx, qword [rbp + 0x288]
test eax, eax
js 0x14002ea18
xor eax, eax
mov qword [rsp + 0x60], rax
mov r12d, r15d
mov esi, 0xb0bac3c4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x70], xmm0
movd ecx, xmm0
sub cx, 8
test r12d, r12d
je 0x14002e843
mov r9, qword [rsp + 0x78]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14002e83a
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 0x14002e810
cmp r10d, r12d
jne 0x14002e9a8
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x14002e9b5
movsxd rcx, dword [rdi + 0x3c]
mov rdx, qword [rcx + rdi + 0x88]
mov rcx, rdx
shr rcx, 0x20
mov qword [rbp + 0x288], rcx
mov r14d, edx
add r14, rdi
cmp r14, rdi
je 0x14002e9a8
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14002e9a8
mov r13d, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rdi + r11*4]
mov r8d, dword [rcx + r13]
add r8, rdi
mov r10d, 0x811c9dc5
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x14002e8db
movsx ecx, r9b
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r9d, byte [r8]
lea r8, [r8 + 1]
test r9b, r9b
jne 0x14002e8b0
cmp r10d, esi
je 0x14002e8ed
test r11d, r11d
jne 0x14002e890
mov rax, qword [rax]
jmp 0x14002e7e0
mov ecx, dword [r14 + 0x1c]
add rcx, rdi
mov eax, dword [r14 + 0x24]
add rax, rdi
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rdi
cmp r10, r14
jbe 0x14002e9b0
mov rax, qword [rbp + 0x288]
add rax, r14
cmp r10, rax
jae 0x14002e9b0
mov esi, 0x811c9dc5
mov r12d, esi
movzx edx, byte [r10]
cmp dl, 0x2e
je 0x14002e967
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r12d
imul r12d, ecx, 0x1000193
inc r10
movzx edx, byte [r10]
cmp dl, 0x2e
jne 0x14002e940
inc r10
movzx edx, byte [r10]
test dl, dl
je 0x14002e997
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea r10, [r10 + 1]
movzx edx, byte [r10]
test dl, dl
jne 0x14002e972
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14002e7e0
xor r15d, r15d
jmp 0x14002e9bb
xor r15d, r15d
mov r10d, r15d
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x280]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x278]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call r10
nop
mov r14d, dword [rbp + 0x270]
movzx r14d, r14b
mov ecx, 1
test eax, eax
cmovns r14d, ecx
mov dword [rbp + 0x270], r14d
jmp 0x14002ea1f
mov r14d, dword [rbp + 0x270]
test rbx, rbx
je 0x14002ec32
mov r12d, r15d
mov esi, 0xe049c205
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x70], xmm0
movd ecx, xmm0
sub cx, 8
test r12d, r12d
je 0x14002eab3
mov r9, qword [rsp + 0x78]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14002eaaa
nop dword [rax]
nop word [rax + rax]
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 0x14002ea80
cmp r10d, r12d
jne 0x14002ec1a
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x14002ec22
movsxd rcx, dword [rdi + 0x3c]
mov rdx, qword [rcx + rdi + 0x88]
mov rcx, rdx
shr rcx, 0x20
mov qword [rbp + 0x288], rcx
mov r14d, edx
add r14, rdi
cmp r14, rdi
je 0x14002ec1a
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14002ec1a
mov r13d, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rdi + r11*4]
mov r9d, dword [rcx + r13]
add r9, rdi
mov r10d, 0x811c9dc5
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x14002eb4a
nop
movsx edx, cl
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx ecx, byte [r9]
lea r9, [r9 + 1]
test cl, cl
jne 0x14002eb20
cmp r10d, esi
je 0x14002eb5c
test r11d, r11d
jne 0x14002eb00
mov rax, qword [rax]
jmp 0x14002ea41
mov ecx, dword [r14 + 0x1c]
add rcx, rdi
mov eax, dword [r14 + 0x24]
add rax, rdi
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rdi
cmp rdx, r14
jbe 0x14002ec24
mov rax, qword [rbp + 0x288]
add rax, r14
cmp rdx, rax
jae 0x14002ec24
mov esi, 0x811c9dc5
mov r12d, esi
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x14002ebce
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, r12d
imul r12d, ecx, 0x1000193
inc rdx
movzx r8d, byte [rdx]
cmp r8b, 0x2e
jne 0x14002eba3
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x14002ec09
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x14002ebe0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14002ea41
xor edx, edx
mov rcx, rbx
call rdx
nop
mov eax, dword [rbp + 0x270]
jmp 0x14002ec36
movzx eax, r14b
add rsp, 0x328
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret