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

Disassembly:
push rbp
push rbx
push r12
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xa8
movabs rax, 0xb88ecd9634a68685
movabs r9, 0xd6fbacda51d5e7c7
mov qword [rbp + 0x67], rax
movabs r10, 0x7fc523b739a1fe0
mov rax, qword [rbp + 0x67]
movzx ebx, dl
mov qword [rbp - 0x49], rax
mov r12d, 0x84222325
movabs rax, 0x7fc523b01ff7783
mov r15, rcx
mov qword [rbp + 0x67], rax
lea rcx, [rbp - 0x49]
mov rax, qword [rbp + 0x67]
mov r8d, r12d
mov qword [rbp - 0x41], rax
mov qword [rbp + 0x67], r9
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x39], rax
mov qword [rbp + 0x67], r10
mov rax, qword [rbp + 0x67]
movdqa xmm0, xmmword [rbp - 0x49]
mov qword [rbp - 0x31], rax
xorps xmm0, xmmword [rbp - 0x39]
movq rdx, xmm0
movdqa xmmword [rbp - 0x49], xmm0
test dl, dl
je 0x180026d20
movsx eax, dl
lea rcx, [rcx + 1]
xor eax, r8d
imul r8d, eax, 0x1b3
movzx eax, byte [rcx]
movzx edx, al
test al, al
jne 0x180026d05
mov rax, qword [r15]
mov edx, r12d
mov rcx, qword [rax + 0x10]
movzx eax, byte [rcx]
test al, al
je 0x180026d47
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
test al, al
jne 0x180026d31
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe0], rdi
cmp edx, r8d
je 0x1800270a6
movabs rax, 0xa48fffae3fbc8b81
lea rcx, [rbp + 7]
mov qword [rbp + 0x67], rax
movabs r11, 0xe69612d51d57d38a
mov rax, qword [rbp + 0x67]
movabs rdi, 0x24004e9407502857
mov qword [rbp + 7], rax
movabs rsi, 0x24004e9407502839
movabs rax, 0x688c335e24ff7489
mov r8d, r12d
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp + 0xf], rax
mov qword [rbp + 0x67], rdi
mov rax, qword [rbp + 0x67]
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x67], r11
mov rax, qword [rbp + 0x67]
mov qword [rbp + 0x1f], rax
mov qword [rbp + 0x67], r9
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x19], rax
mov qword [rbp + 0x67], r10
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x11], rax
mov qword [rbp + 0x67], rsi
mov rax, qword [rbp + 0x67]
mov qword [rbp - 9], rax
mov qword [rbp + 0x67], r11
mov rax, qword [rbp + 0x67]
movdqa xmm1, xmmword [rbp + 7]
xorps xmm1, xmmword [rbp - 0x19]
movdqa xmm0, xmmword [rbp + 0x17]
movq rdx, xmm1
mov qword [rbp - 1], rax
xorps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp + 7], xmm1
movdqa xmmword [rbp + 0x17], xmm0
test dl, dl
je 0x180026e3b
nop
movsx eax, dl
lea rcx, [rcx + 1]
xor eax, r8d
imul r8d, eax, 0x1b3
movzx eax, byte [rcx]
movzx edx, al
test al, al
jne 0x180026e20
mov rax, qword [r15]
mov edx, r12d
mov rcx, qword [rax + 0x10]
movzx eax, byte [rcx]
test al, al
je 0x180026e66
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
test al, al
jne 0x180026e50
cmp edx, r8d
je 0x1800270a6
movabs rax, 0xb98bcdbf06a28885
lea rcx, [rbp - 0x39]
mov qword [rbp + 0x67], rax
mov edx, r12d
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x39], rax
movabs rax, 0x7fc523b739a1f8e
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x31], rax
mov qword [rbp + 0x67], r9
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x19], rax
mov qword [rbp + 0x67], r10
mov rax, qword [rbp + 0x67]
movdqa xmm0, xmmword [rbp - 0x39]
mov qword [rbp - 0x11], rax
xorps xmm0, xmmword [rbp - 0x19]
movq r8, xmm0
movdqa xmmword [rbp - 0x39], xmm0
test r8b, r8b
je 0x180027034
nop word [rax + rax]
movsx eax, r8b
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
movzx r8d, al
test al, al
jne 0x180026ee0
test edx, edx
jne 0x180027034
movabs rax, 0xa194cea922ba9584
lea rcx, [rbp - 0x39]
mov qword [rbp + 0x67], rax
mov edx, r12d
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x39], rax
movabs rax, 0x7fc3c5403fb7ab7
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x31], rax
mov qword [rbp + 0x67], r9
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x19], rax
mov qword [rbp + 0x67], r10
mov rax, qword [rbp + 0x67]
movdqa xmm0, xmmword [rbp - 0x39]
mov qword [rbp - 0x11], rax
xorps xmm0, xmmword [rbp - 0x19]
movq r8, xmm0
movdqa xmmword [rbp - 0x39], xmm0
test r8b, r8b
je 0x180027034
nop word [rax + rax]
movsx eax, r8b
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
movzx r8d, al
test al, al
jne 0x180026f70
test edx, edx
jne 0x180027034
movabs rax, 0xb295d9b521b88884
lea rcx, [rbp - 0x19]
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x19], rax
movabs rax, 0x688c335e24ed70a2
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x11], rax
mov qword [rbp + 0x67], rdi
mov rax, qword [rbp + 0x67]
mov qword [rbp - 9], rax
mov qword [rbp + 0x67], r11
mov rax, qword [rbp + 0x67]
mov qword [rbp - 1], rax
mov qword [rbp + 0x67], r9
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x39], rax
mov qword [rbp + 0x67], r10
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x31], rax
mov qword [rbp + 0x67], rsi
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x29], rax
mov qword [rbp + 0x67], r11
mov rax, qword [rbp + 0x67]
movdqa xmm0, xmmword [rbp - 0x19]
movdqa xmm1, xmmword [rbp - 9]
xorps xmm0, xmmword [rbp - 0x39]
mov qword [rbp - 0x21], rax
xorps xmm1, xmmword [rbp - 0x29]
movdqa xmmword [rbp - 0x19], xmm0
movdqa xmmword [rbp - 9], xmm1
call fcn.180023110
test eax, eax
jne 0x180027034
xor edi, edi
jmp 0x180027039
mov edi, 1
mov rax, qword [r15]
mov dword [rbp + 0x67], edi
mov rcx, qword [rax + 0x10]
movzx eax, byte [rcx]
test al, al
je 0x180027068
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, r12d
imul r12d, eax, 0x1b3
movzx eax, byte [rcx]
test al, al
jne 0x180027050
test bl, bl
jne 0x180027084
mov rcx, r15
call fcn.180014c20
test al, al
jne 0x1800270a6
mov rcx, r15
call fcn.180014e50
test al, al
jne 0x1800270a6
mov rcx, r15
call fcn.180016150
mov rcx, rax
call fcn.180013e00
cmp dword [rax], 0
jg 0x1800270c6
cmp r12d, edi
jne 0x1800270a6
mov rcx, r15
call fcn.180015bd0
xor al, al
mov rdi, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xd8]
add rsp, 0xa8
pop r15
pop r12
pop rbx
pop rbp
ret
cmp r12d, edi
jne 0x1800270f7
movaps xmmword [rsp + 0x90], xmm6
call fcn.18001dfc0
movaps xmm6, xmm0
mov rcx, r15
addss xmm6, dword [0x1800c7064]
call fcn.180014430
movss dword [rax], xmm6
movaps xmm6, xmmword [rsp + 0x90]
mov rcx, r15
call fcn.180016150
mov rcx, rax
call fcn.180013e00
mov rcx, r15
dec dword [rax]
call fcn.1800153e0
mov rcx, r15
call fcn.180015e00
mov rcx, r15
call fcn.180013fd0
mov rax, qword [0x1800e9bb8]
test rax, rax
jne 0x18002721c
mov rax, qword gs:[0x60]
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xa0], r14
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r13, qword [rax]
mov rsi, r13
nop dword [rax + rax]
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov edi, dword [rax + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x1800271ea
mov r10d, dword [rdi + 0x18]
test r10d, r10d
je 0x1800271ea
mov r14d, dword [rdi + 0x20]
nop word [rax + rax]
dec r10d
mov r9d, 0xf91e767
lea rax, [r14 + r10*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x1800271e5
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x1800271b0
cmp r9d, 0x2dcfa5de
je 0x18002726a
test r10d, r10d
jne 0x180027190
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r13
je 0x180027200
cmp qword [rax + 0x30], 0
jne 0x180027160
xor eax, eax
mov edi, dword [rbp + 0x67]
mov r14, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xe8]
mov qword [0x1800e9bb8], rax
mov qword gs:[0x130], rax
lea rcx, [0x1800c7000]
mov rax, qword [0x1800c4210]
mov qword gs:[0x128], rax
call fcn.1800c2440
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010f10
cmp r12d, edi
je 0x180027263
mov rcx, r15
call fcn.1800157d0
mov rcx, r15
call fcn.180013c40
mov al, 1
jmp 0x1800270a8
mov ecx, dword [rdi + 0x24]
add rcx, r11
movzx edx, word [rcx + r10*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rcx + rdx*4]
add rax, r11
jmp 0x180027202