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

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [r11 - 0xc8]
sub rsp, 0x190
movaps xmmword [r11 - 0x58], xmm6
movaps xmmword [r11 - 0x68], xmm7
movaps xmmword [r11 - 0x78], xmm8
movaps xmmword [r11 - 0x88], xmm9
mov rax, qword [0x180088060]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov rbx, qword [rbp + 0x100]
xor esi, esi
cmp qword [0x18008d148], rsi
mov r12, rdx
mov rdi, qword [rbp + 0x128]
mov r15, rcx
mov r13, qword [rbp + 0xf0]
mov qword [r11 - 0x40], r14
lea ecx, [rsi + 4]
mov r14d, dword [0x180088068]
lea edx, [rsi + 0x1f]
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x58], r8
mov qword [rsp + 0x40], rbx
mov qword [rbp - 0x60], rdi
jne 0x1800048c5
mov eax, dword [0x18007bcc8]
mov r8d, esi
mov dword [rbp - 0x80], eax
movups xmm0, xmmword [0x18007bc98]
movups xmm1, xmmword [str.PI_2l_bv]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x18007bcb8]
movups xmmword [rsp + 0x60], xmm1
movups xmmword [rsp + 0x70], xmm0
cmp r14d, 2
jl 0x180004663
movdqa xmm5, xmmword [0x18007c070]
movdqa xmm4, xmmword [0x18007c150]
movdqa xmm7, xmmword [0x18007c090]
movdqa xmm9, xmmword [str.55555555]
movd xmm6, ecx
lea rcx, [rsp + 0x50]
movd xmm8, edx
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x18
jl 0x180004570
cmp r8d, 0x1a
jge 0x1800046a5
movsxd rax, r8d
lea r9, [rsp + 0x50]
lea r9, [r9 + rax*2]
nop
mov eax, 0x4bda12f7
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x36
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x35
xor word [r9 - 2], ax
cmp r8d, 0x1a
jl 0x180004670
mov rax, qword [0x18008d170]
lea r8, [rsp + 0x50]
xor r9d, r9d
add rax, 0x45dc480
xor ecx, ecx
lea rdx, [r9 - 1]
call rax
mov qword [0x18008d148], rax
test rax, rax
jne 0x1800048c5
mov r10, qword [0x18008d3c0]
test r10, r10
jne 0x1800047a3
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x180004778
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180004778
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x20d56300
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180004773
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180004750
cmp edx, 0xef58914b
je 0x180004854
test r8d, r8d
jne 0x180004730
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x18000478e
cmp qword [rax + 0x30], 0
jne 0x180004700
xor esi, esi
mov r10d, esi
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x60]
mov qword [0x18008d3c0], r10
cmp byte [0x180079f03], 0
mov eax, dword [str.G_G8]
mov dword [rsp + 0x40], eax
je 0x1800048b1
cmp r14d, 2
jl 0x180004873
movdqa xmm3, xmmword [0x18007c070]
mov ecx, 4
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x18007c150]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x18007c150]
shufps xmm2, xmm0, 0xdd
movd xmm0, ecx
mov ecx, 0x1f
psrad xmm2, xmm0
movdqa xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x18007c090]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x18007c100]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.5555555555555555]
movd xmm0, eax
pxor xmm2, xmm0
movd dword [rsp + 0x40], xmm2
jmp 0x1800048b1
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
xor esi, esi
jmp 0x180004793
lea r9, [rsp + 0x40]
mov r8d, esi
nop dword [rax + rax]
mov eax, 0x4bda12f7
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x180004880
xor r9d, r9d
lea r8, [0x180077a7b]
lea rdx, [rsp + 0x40]
xor ecx, ecx
call r10
movups xmm1, xmmword [str.xPX__]
cmp r14d, 2
movups xmm0, xmmword [0x18007b680]
mov r8d, esi
mov eax, dword [0x18007b6c0]
mov r14, qword [rsp + 0x188]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [0x18007b6b0]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x18007b6a0]
movups xmmword [rbp - 0x80], xmm1
movups xmmword [rsp + 0x70], xmm0
mov dword [rbp - 0x70], eax
jl 0x180004a43
movdqa xmm5, xmmword [0x18007c070]
lea rcx, [rsp + 0x50]
movdqa xmm4, xmmword [0x18007c150]
mov eax, 4
movdqa xmm7, xmmword [0x18007c090]
movdqa xmm9, xmmword [str.55555555]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x180004950
cmp r8d, 0x22
jge 0x180004a85
movsxd rax, r8d
lea r9, [rsp + 0x50]
lea r9, [r9 + rax*2]
nop
mov eax, 0x4bda12f7
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x36
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x35
xor word [r9 - 2], ax
cmp r8d, 0x22
jl 0x180004a50
mov rax, qword [0x18008d170]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x38], rsi
add rax, 0x45dcf30
mov byte [rsp + 0x30], 0
xor r9d, r9d
mov qword [rsp + 0x28], rsi
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], esi
call rax
movups xmm0, xmmword [r12]
lea r8, [rbp - 0x40]
movss xmm1, dword [rbp - 0x58]
xor r9d, r9d
mov rdx, qword [0x18008d148]
mov rcx, r15
movups xmmword [rbp - 0x38], xmm0
mov qword [0x18008d150], rax
movss xmm0, dword [rbp - 0x54]
movss dword [rbp - 0x24], xmm0
movss xmm0, dword [rbp - 0x4c]
movss dword [rbp - 0x28], xmm1
movss xmm1, dword [rbp - 0x50]
movss dword [rbp - 0x1c], xmm0
movss xmm0, dword [rbp + 0xf8]
movss dword [rbp - 0x20], xmm1
movups xmm1, xmmword [r13]
movss dword [rbp - 8], xmm0
movss xmm0, dword [rbp + 0x108]
movups xmmword [rbp - 0x18], xmm1
mov qword [rbp - 0x40], rax
movups xmm1, xmmword [rbx]
mov rax, qword [0x18008d170]
movss dword [rbp + 0xc], xmm0
add rax, 0x45c7e30
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 4], xmm1
mov word [rbp + 0x14], 1
movss xmm1, dword [rbp + 0x10c]
movups xmmword [rbp + 0x18], xmm0
mov byte [rbp + 0x16], 0
movss dword [rbp + 0x10], xmm1
mov qword [rsp + 0x20], rsi
call rax
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.18003b7e0
lea r11, [rsp + 0x190]
movaps xmm6, xmmword [r11 - 0x20]
movaps xmm7, xmmword [r11 - 0x30]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm9, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret