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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x510
lea rbp, [rsp + 0x70]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1802107c0]
xor rax, rsp
mov qword [rbp + 0x490], rax
movabs rax, 0x3baf294416971886
movabs rcx, 0xfa70a78426610182
mov qword [rbp], rax
movabs r13, 0xa9d4285415a71172
mov rax, qword [rbp]
movabs r12, 0xf5de0b5fc6762707
mov qword [rbp + 0x60], rax
movabs rax, 0xd187463d42fb6205
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0x90b86231a73b7b54
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
movabs rax, 0x928b6f9ff51a7f8f
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0xadefc4d9f35393fd
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
movabs rax, 0x5ed49c788c84b154
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0x15f1b9588dad3b6d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
movabs rax, 0x1ecd4c6f6ac4b344
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x98], rax
movabs rax, 0xa9a1be7abcce28ff
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs rax, 0x1d5b778adf31a6dc
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs rax, 0xcc4006361d09903a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movabs rax, 0xbc557ae53b572f4
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
movabs rax, 0x5977cf2f69e7a8a3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc0], rax
movabs rax, 0x4c2485c9d8ac1351
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc8], rax
movabs rax, 0xaf69f326996d13e4
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd0], rax
movabs rax, 0x36e8f09caa6bc1ee
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xd8], rax
movabs rax, 0xa51a475de81adc26
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xe0], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0xe8], rax
movabs rax, 0x54cb472d41cb22c5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1a0], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x1a8], rax
mov qword [rbp], r12
movabs r15, 0xa4ef02fea9690bfc
mov rax, qword [rbp]
movabs r14, 0x948ea5e9c363ccc9
mov qword [rbp + 0x1b0], rax
movabs rsi, 0x6ee3ae40eeb4d466
mov qword [rbp], r15
movabs rdi, 0x70c38e3be99f0f0b
mov rax, qword [rbp]
movabs rbx, 0x2cf82a5a5af18770
mov qword [rbp + 0x1b8], rax
xor edx, edx
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x1c0], rax
mov qword [rbp], rsi
lea r8d, [rdx + 0x68]
mov rax, qword [rbp]
mov qword [rbp + 0x1c8], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x1d0], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
mov qword [rbp + 0x1d8], rax
movabs rax, 0x9a91dc2585ff1ccd
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1e0], rax
movabs rax, 0x796a46ece85793ba
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1e8], rax
movabs rax, 0xe27459572e68a00f
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1f0], rax
movabs rax, 0x25f5639666845cc4
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x1f8], rax
movabs rax, 0x3c19a04136de9b91
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x200], rax
movabs rax, 0x7e42e1f8beca750e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x208], rax
movabs rax, 0x9608c213ff5f2ad3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x210], rax
movabs rax, 0x538e99f2cb06efd8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x218], rax
movabs rax, 0xa51a475de81aa855
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x220], rax
mov qword [rbp], rcx
lea rcx, [rbp + 0x120]
mov rax, qword [rbp]
vmovdqu ymm0, ymmword [rbp + 0x1a0]
vpxor ymm1, ymm0, ymmword [rbp + 0x60]
vmovdqu ymm0, ymmword [rbp + 0x80]
vmovdqa xmm2, xmmword [rbp + 0xe0]
vmovdqa ymmword [rbp + 0x60], ymm1
vpxor ymm1, ymm0, ymmword [rbp + 0x1c0]
vmovdqu ymm0, ymmword [rbp + 0xa0]
vmovdqa ymmword [rbp + 0x80], ymm1
vpxor ymm1, ymm0, ymmword [rbp + 0x1e0]
vmovdqu ymm0, ymmword [rbp + 0xc0]
vmovdqa ymmword [rbp + 0xa0], ymm1
vpxor ymm1, ymm0, ymmword [rbp + 0x200]
mov qword [rbp + 0x228], rax
vxorps xmm2, xmm2, xmmword [rbp + 0x220]
vmovdqa ymmword [rbp + 0xc0], ymm1
vmovdqa xmmword [rbp + 0xe0], xmm2
vzeroupper
call fcn.1801579b0
xor eax, eax
lea r9, [rbp + 0x60]
mov qword [rbp + 0x110], rax
lea r8, [rbp + 0x20]
xorps xmm0, xmm0
lea rcx, [rbp + 0x280]
movups xmmword [rbp + 0x100], xmm0
movabs rax, 0x74ae3f486faf4fa6
mov edx, 0x208
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x89b3463d6587525d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xd5ef256ee8470936
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0x84982fde984965d1
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0xdaae9bc9f353fcfc
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0x680cb60c894b813
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0x3e6ac1bd7bf2164
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0x2c9a057a23dea752
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rax, 0x54cb472d41cb22c5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x240], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x248], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x250], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x258], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x260], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x268], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x270], rax
mov qword [rbp], rbx
mov rax, qword [rbp]
vmovdqu ymm0, ymmword [rbp + 0x240]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqu ymm0, ymmword [rbp + 0x40]
vmovdqa ymmword [rbp + 0x20], ymm1
mov qword [rbp + 0x278], rax
vpxor ymm1, ymm0, ymmword [rbp + 0x260]
vmovdqa ymmword [rbp + 0x40], ymm1
vzeroupper
call fcn.180038814
mov rax, qword [0x1802168c0]
or r14d, 0xffffffff
xor esi, esi
test rax, rax
jne 0x180037995
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x180037970
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x180037970
mov edi, dword [r9 + 0x20]
add r10d, r14d
mov r11d, 0xbc4d6396
lea rcx, [rdi + r10*4]
mov edx, dword [rcx + r8]
add rdx, r8
mov cl, byte [rdx]
inc rdx
test cl, cl
je 0x18003796b
movsx ecx, cl
xor ecx, r11d
imul r11d, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x18003794c
cmp r11d, 0xabfbfaba
je 0x180037975
test r10d, r10d
jne 0x18003792f
mov rax, qword [rax]
jmp 0x18003790a
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
mov qword [0x1802168c0], rax
lea rcx, [rbp + 0x100]
xor r9d, r9d
mov qword [rsp + 0x48], rcx
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x120]
xor r8d, r8d
mov qword [rsp + 0x40], rcx
xor ecx, ecx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], esi
call rax
mov rax, qword [0x1802168c8]
test rax, rax
jne 0x180037a80
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x180037a5b
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x180037a5b
mov edi, dword [r9 + 0x20]
add r10d, r14d
mov r11d, 0x4d4837ab
lea rcx, [rdi + r10*4]
mov edx, dword [rcx + r8]
add rdx, r8
mov cl, byte [rdx]
inc rdx
test cl, cl
je 0x180037a56
movsx ecx, cl
xor ecx, r11d
imul r11d, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x180037a37
cmp r11d, 0x49bed89f
je 0x180037a60
test r10d, r10d
jne 0x180037a1a
mov rax, qword [rax]
jmp 0x1800379f5
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
mov qword [0x1802168c8], rax
mov rcx, qword [rbp + 0x108]
call rax
mov rax, qword [0x1802168d0]
test rax, rax
jne 0x180037b35
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x180037b10
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x180037b10
mov edi, dword [r9 + 0x20]
add r10d, r14d
mov r11d, 0xc04b2b4b
lea rcx, [rdi + r10*4]
mov edx, dword [rcx + r8]
add rdx, r8
mov cl, byte [rdx]
inc rdx
test cl, cl
je 0x180037b0b
movsx ecx, cl
xor ecx, r11d
imul r11d, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x180037aec
cmp r11d, 0x513dc1bf
je 0x180037b15
test r10d, r10d
jne 0x180037acf
mov rax, qword [rax]
jmp 0x180037aaa
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
mov qword [0x1802168d0], rax
mov rcx, qword [rbp + 0x100]
call rax
xor ecx, ecx
call fcn.18012da70
int3