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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x50
movaps xmmword [rax - 0x28], xmm6
xor r12d, r12d
mov rax, qword [0x180107468]
mov rbx, qword [rax]
test rbx, rbx
je 0x180057be5
mov r15, qword [rbx + 8]
test r15, r15
je 0x180057be5
movabs rcx, 0xd80958fc74e988a6
call fcn.18004cabc
mov rdx, qword [0x1801081a0]
mov ebp, eax
test rdx, rdx
jne 0x18005777e
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
mov rdx, rdi
mov r8, qword [rdx + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x180057763
mov ecx, dword [r9 + 0x18]
test ecx, ecx
je 0x180057763
mov r14d, dword [r9 + 0x20]
dec ecx
mov r11d, 0x811c9dc5
mov esi, ecx
lea rax, [r14 + rcx*4]
mov r10d, dword [rax + r8]
add r10, r8
mov al, byte [r10]
inc r10
test al, al
je 0x18005775f
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [r10]
inc r10
test al, al
jne 0x18005773b
cmp r11d, 0x95466b05
je 0x1800577f8
test ecx, ecx
jne 0x18005771c
mov rax, qword [rdx]
mov rdx, rax
cmp rax, rdi
je 0x180057774
cmp qword [rax + 0x30], r12
jne 0x1800576f8
mov rdx, r12
mov qword [0x1801081a0], rdx
mov ecx, dword [0x1801079d8]
call rdx
test ax, ax
jns 0x180057792
mov byte [0x1801079b6], 1
cmp byte [0x1801079b8], r12b
je 0x1800577a9
mov eax, dword [0x180107490]
mov dword [rax + r15], 0x42c80000
cmp byte [0x1801079b9], r12b
mov rax, qword [rbx + 8]
je 0x180057815
test rax, rax
je 0x18005784d
mov rax, qword [rax + 0x30]
test rax, rax
je 0x18005784d
mov rax, qword [rax + 0x10]
test rax, rax
je 0x18005784d
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x18005784d
mov rax, qword [rcx + 0x70]
test rax, rax
je 0x18005784d
mov rax, qword [rax]
test rax, rax
je 0x18005784d
mov dword [rax + 0x2c], 0xbf800000
jmp 0x18005784d
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rsi*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov edx, dword [rcx + rdx*4]
add rdx, r8
jmp 0x180057777
test rax, rax
je 0x18005784d
mov rax, qword [rax + 0x30]
test rax, rax
je 0x18005784d
mov rax, qword [rax + 0x10]
test rax, rax
je 0x18005784d
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x18005784d
mov rax, qword [rcx + 0x70]
test rax, rax
je 0x18005784d
mov rax, qword [rax]
test rax, rax
je 0x18005784d
mov dword [rax + 0x2c], 0x3e800000
mov rax, qword [0x1801081a0]
test rax, rax
jne 0x1800578f5
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r11, qword [rax]
mov rdx, r11
mov r8, qword [rdx + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x1800578da
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x1800578da
mov esi, dword [r9 + 0x20]
dec r10d
mov ebx, 0x811c9dc5
lea rax, [rsi + r10*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x1800578d5
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x1800578b5
cmp ebx, 0x95466b05
je 0x1800579fd
test r10d, r10d
jne 0x180057899
mov rax, qword [rdx]
mov rdx, rax
cmp rax, r11
je 0x1800578eb
cmp qword [rax + 0x30], r12
jne 0x180057874
mov rax, r12
mov qword [0x1801081a0], rax
mov ecx, dword [0x1801079d0]
call rax
movabs r14, 0x5ba652a0cd14df2f
test ax, ax
jns 0x180057924
mov r8d, dword [0x1801079c4]
mov edx, ebp
mov rcx, r14
call fcn.18004d130
mov byte [0x1801079bb], r12b
mov rax, qword [0x1801081a0]
test rax, rax
jne 0x1800579cd
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
mov rdx, rbx
mov r8, qword [rdx + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x1800579b2
mov ecx, dword [r9 + 0x18]
test ecx, ecx
je 0x1800579b2
mov esi, dword [r9 + 0x20]
dec ecx
mov r11d, 0x811c9dc5
mov edi, ecx
lea rax, [rsi + rcx*4]
mov r10d, dword [rax + r8]
add r10, r8
mov al, byte [r10]
inc r10
test al, al
je 0x1800579ae
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [r10]
inc r10
test al, al
jne 0x18005798e
cmp r11d, 0x95466b05
je 0x180057a1b
test ecx, ecx
jne 0x18005796f
mov rax, qword [rdx]
mov rdx, rax
cmp rax, rbx
je 0x1800579c3
cmp qword [rax + 0x30], r12
jne 0x18005794b
mov rax, r12
mov qword [0x1801081a0], rax
mov ecx, dword [0x1801079d4]
call rax
test ax, ax
jns 0x180057a35
mov eax, dword [0x1801079c0]
add eax, eax
movd xmm0, eax
mov al, r12b
cvtdq2ps xmm0, xmm0
movss dword [r15 + 0x280], xmm0
mov byte [0x1801079bc], al
jmp 0x180057a3b
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x1800578ee
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdi*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
jmp 0x1800579c6
mov al, byte [0x1801079bc]
test al, al
je 0x180057a5e
mov eax, dword [0x1801079c0]
add eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r15 + 0x280], xmm0
mov byte [0x1801079bc], r12b
cmp byte [0x1801079bb], r12b
je 0x180057a7f
mov r8d, dword [0x1801079c4]
mov edx, ebp
mov rcx, r14
call fcn.18004d130
mov byte [0x1801079bb], r12b
cmp byte [0x1801079b7], r12b
movabs rbx, 0xea1c610a04db6bbb
je 0x180057aa9
xor r9d, r9d
mov byte [0x1801079dc], 1
xor r8d, r8d
mov edx, ebp
mov rcx, rbx
call fcn.18004d20c
cmp byte [0x1801079dc], r12b
je 0x180057acc
mov r9d, 1
mov byte [0x1801079dc], r12b
mov r8d, r9d
mov edx, ebp
mov rcx, rbx
call fcn.18004d20c
cmp byte [0x1801079ba], r12b
je 0x180057b11
movss xmm6, dword [0x18010675c]
movabs rcx, 0x4f8644af03d0e0d6
mov byte [0x1801079dd], 1
call fcn.18004cabc
movaps xmm2, xmm6
mov edx, eax
movabs rcx, 0x6db47aa77fd94e09
call fcn.18004d6ec
movss xmm2, dword [0x18010675c]
jmp 0x180057b51
cmp byte [0x1801079dd], r12b
je 0x180057b62
movabs rcx, 0x4f8644af03d0e0d6
mov byte [0x1801079dd], r12b
call fcn.18004cabc
movss xmm2, dword [0x18005db40]
mov edx, eax
movabs rcx, 0x6db47aa77fd94e09
call fcn.18004d6ec
movss xmm2, dword [0x18005db40]
mov edx, ebp
movabs rcx, 0x85bf80fa50a39d1
call fcn.18004d6ec
cmp byte [0x1801079b5], r12b
je 0x180057be5
mov edx, 8
movabs rcx, 0x1bede233e6cd2a1f
call fcn.18004cb54
mov edx, eax
movabs rcx, 0xa6db27d19ecbb7da
mov ebx, eax
call fcn.18004cb54
test eax, eax
je 0x180057bde
mov r8d, ebx
lea rcx, [rsp + 0x30]
movabs rdx, 0x586afe3ff72d996e
call fcn.18004cfb0
movss xmm0, dword [rsp + 0x38]
mov edx, ebp
addss xmm0, dword [0x18005db40]
movss xmm3, dword [rsp + 0x34]
movabs rcx, 0x9afeff481a85ab2e
movss xmm2, dword [rsp + 0x30]
movss dword [rsp + 0x20], xmm0
call fcn.18004d7c8
mov byte [0x1801079b5], r12b
movaps xmm6, xmmword [rsp + 0x40]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret