Function at 0x1801565c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x698]
sub rsp, 0x758
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov r15, rcx
xor r13d, r13d
mov dword [rbp + 0x6a8], r13d
xor eax, eax
mov qword [rbp - 0x10], rax
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov edi, 0xf
mov qword [rbp + 0x10], rdi
mov byte [rbp + 0x18], al
mov qword [rbp + 8], 0xe
movsd xmm0, qword [str._UnlitGeneric_]
movsd qword [rbp - 8], xmm0
mov eax, dword [0x1801fdd80]
mov dword [rbp], eax
movzx eax, word [0x1801fdd84]
mov word [rbp + 4], ax
mov byte [rbp + 6], r13b
lea r8d, [r13 + 2]
lea rdx, [0x1801fdd74]
lea rcx, [rbp - 8]
call fcn.1800a12f0
lea r8d, [r13 + 0x13]
lea rdx, str._n_t_color2___0_0_0__
lea rcx, [rbp - 8]
call fcn.1800a12f0
mov r8d, edi
lea rdx, str._n_t_additive__1_
lea rcx, [rbp - 8]
call fcn.1800a12f0
lea r8d, [r13 + 2]
lea rdx, [0x1801fde28]
lea rcx, [rbp - 8]
call fcn.1800a12f0
mov byte [rbp + 0x18], 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], 4
mov qword [rbp + 0x158], rdi
mov eax, dword [str.None]
mov dword [rbp + 0x140], eax
mov byte [rbp + 0x144], r13b
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x330]
mov rcx, r15
call fcn.180153790
mov rbx, qword [rax]
mov rax, qword [rbp - 0x10]
mov qword [rbx + 0x30], rax
lea rcx, [rbx + 0x38]
lea rax, [rbp - 8]
cmp rcx, rax
je 0x180156702
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], rdi
cmova rdx, qword [rbp - 8]
mov r8, qword [rbp + 8]
call fcn.18008fd60
movzx eax, byte [rbp + 0x18]
mov byte [rbx + 0x58], al
mov rdx, qword [rbp + 0x158]
cmp rdx, 0xf
jbe 0x18015674e
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180156748
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180156748
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18017f74c
nop
lea rcx, [rbp - 8]
call fcn.18008fd00
xor eax, eax
mov qword [rbp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x40], rdi
mov byte [rbp + 0x48], al
mov qword [rbp + 0x38], 0xe
movsd xmm0, qword [str._UnlitGeneric_]
movsd qword [rbp + 0x28], xmm0
mov eax, dword [0x1801fdd80]
mov dword [rbp + 0x30], eax
movzx eax, word [0x1801fdd84]
mov word [rbp + 0x34], ax
mov byte [rbp + 0x36], 0
mov r8d, 2
lea rdx, [0x1801fdd74]
lea rcx, [rbp + 0x28]
call fcn.1800a12f0
mov r8d, 0x24
lea rdx, str._n_t_basetexture__vgui_white_additive_
lea rcx, [rbp + 0x28]
call fcn.1800a12f0
mov r8d, 2
lea rdx, [0x1801fde28]
lea rcx, [rbp + 0x28]
call fcn.1800a12f0
mov byte [rbp + 0x48], 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
mov qword [rbp + 0x170], 4
mov qword [rbp + 0x178], rdi
mov eax, dword [str.Flat]
mov dword [rbp + 0x160], eax
mov byte [rbp + 0x164], 0
lea r8, [rbp + 0x160]
lea rdx, [rbp + 0x340]
mov rcx, r15
call fcn.180153790
mov rbx, qword [rax]
mov rax, qword [rbp + 0x20]
mov qword [rbx + 0x30], rax
lea rcx, [rbx + 0x38]
lea rax, [rbp + 0x28]
cmp rcx, rax
je 0x180156852
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x38]
call fcn.18008fd60
movzx eax, byte [rbp + 0x48]
mov byte [rbx + 0x58], al
mov rdx, qword [rbp + 0x178]
cmp rdx, 0xf
jbe 0x18015689e
inc rdx
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180156898
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180156898
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18017f74c
nop
lea rcx, [rbp + 0x28]
call fcn.18008fd00
xor eax, eax
mov qword [rbp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x78], r13
mov qword [rbp + 0x80], rdi
mov byte [rbp + 0x68], al
mov byte [rbp + 0x88], al
lea r8d, [rax + 0x12]
lea rdx, str._VertexLitGeneric_
lea rcx, [rbp + 0x68]
call fcn.18008fd60
mov r8d, 2
lea rdx, [0x1801fdd74]
lea rcx, [rbp + 0x68]
call fcn.1800a12f0
mov r8d, 0x24
lea rdx, str._n_t_basetexture__vgui_white_additive_
lea rcx, [rbp + 0x68]
call fcn.1800a12f0
mov r8d, 2
lea rdx, [0x1801fde28]
lea rcx, [rbp + 0x68]
call fcn.1800a12f0
mov byte [rbp + 0x88], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 6
mov qword [rsp + 0x58], rdi
mov eax, dword [str.Shaded]
mov dword [rsp + 0x40], eax
movzx eax, word [0x1801fdde0]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x46], 0
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x190]
mov rcx, r15
call fcn.180153790
mov rbx, qword [rax]
mov rax, qword [rbp + 0x60]
mov qword [rbx + 0x30], rax
lea rcx, [rbx + 0x38]
lea rax, [rbp + 0x68]
cmp rcx, rax
je 0x18015699c
lea rdx, [rbp + 0x68]
cmp qword [rbp + 0x80], 0xf
cmova rdx, qword [rbp + 0x68]
mov r8, qword [rbp + 0x78]
call fcn.18008fd60
movzx eax, byte [rbp + 0x88]
mov byte [rbx + 0x58], al
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x1801569e7
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801569e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1801569e1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18017f74c
nop
lea rcx, [rbp + 0x68]
call fcn.18008fd00
xor eax, eax
mov qword [rbp + 0xd0], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xf0], rdi
mov byte [rbp + 0xf8], al
mov qword [rbp + 0xe8], 0xe
movsd xmm0, qword [str._UnlitGeneric_]
movsd qword [rbp + 0xd8], xmm0
mov eax, dword [0x1801fdd80]
mov dword [rbp + 0xe0], eax
movzx eax, word [0x1801fdd84]
mov word [rbp + 0xe4], ax
mov byte [rbp + 0xe6], 0
lea rdx, [0x1801fdd74]
lea rcx, [rbp + 0xd8]
call fcn.1801229d0
lea rdx, str._n_t_basetexture__vgui_white_additive_
lea rcx, [rbp + 0xd8]
call fcn.1801229d0
lea rdx, str._n_t_wireframe__1_
lea rcx, [rbp + 0xd8]
call fcn.1801229d0
lea rdx, [0x1801fde28]
lea rcx, [rbp + 0xd8]
call fcn.1801229d0
mov byte [rbp + 0xf8], 1
lea rdx, str.Wireframe
lea rcx, [rbp + 0x3e0]
call fcn.18008f930
nop
lea rdx, [rbp + 0x3e0]
mov rcx, r15
call fcn.180153660
mov rcx, rax
lea rdx, [rbp + 0xd0]
call fcn.180157f30
nop
lea rcx, [rbp + 0x3e0]
call fcn.18008fd00
nop
lea rcx, [rbp + 0xd8]
call fcn.18008fd00
xor eax, eax
mov qword [rbp + 0xa0], rax
lea rdx, [0x1801ae42e]
lea rcx, [rbp + 0xa8]
call fcn.18008f930
mov byte [rbp + 0xc8], 0
lea rdx, str._VertexLitGeneric_
lea rcx, [rbp + 0xa8]
call fcn.18008f850
lea rdx, [0x1801fdd74]
lea rcx, [rbp + 0xa8]
call fcn.1801229d0
lea rdx, str._n_t_basetexture__vgui_white_additive_
lea rcx, [rbp + 0xa8]
call fcn.1801229d0
lea rdx, str._n_t_bumpmap__models_player_shared_shared_normal_
lea rcx, [rbp + 0xa8]
call fcn.1801229d0
lea rdx, str._n_t_color2___0_0_0__
lea rcx, [rbp + 0xa8]
call fcn.1801229d0
lea rdx, str._n_t_additive__1_
lea rcx, [rbp + 0xa8]
call fcn.1801229d0
lea rdx, str._n_t_phong__1_
lea rcx, [rbp + 0xa8]
call fcn.1801229d0
lea rdx, str._n_t_phongfresnelranges___0_0.5_1__
lea rcx, [rbp + 0xa8]
call fcn.1801229d0
lea rdx, str._n_t_envmap__skybox_sky_dustbowl_01_
lea rcx, [rbp + 0xa8]
call fcn.1801229d0
lea rdx, str._n_t_envmapfresnel__1_
lea rcx, [rbp + 0xa8]
call fcn.1801229d0
lea rdx, [0x1801fde28]
lea rcx, [rbp + 0xa8]
call fcn.1801229d0
mov byte [rbp + 0xc8], 1
lea rdx, str.Fresnel
lea rcx, [rbp + 0x400]
call fcn.18008f930
nop
lea rdx, [rbp + 0x400]
mov rcx, r15
call fcn.180153660
mov rcx, rax
lea rdx, [rbp + 0xa0]
call fcn.180157f30
nop
lea rcx, [rbp + 0x400]
call fcn.18008fd00
nop
lea rcx, [rbp + 0xa8]
call fcn.18008fd00
xor eax, eax
mov qword [rbp + 0x1c0], rax
lea rdx, [0x1801ae42e]
lea rcx, [rbp + 0x1c8]
call fcn.18008f930
mov byte [rbp + 0x1e8], 0
lea rdx, str._VertexLitGeneric_
lea rcx, [rbp + 0x1c8]
call fcn.18008f850
lea rdx, [0x1801fdd74]
lea rcx, [rbp + 0x1c8]
call fcn.1801229d0
lea rdx, str._n_t_additive__1_
lea rcx, [rbp + 0x1c8]
call fcn.1801229d0
lea rdx, str._n_t_envmap__cubemaps_cubemap_sheen002.hdr_
lea rcx, [rbp + 0x1c8]
call fcn.1801229d0
lea rdx, str._n_t_envmaptint___1_1_1__
lea rcx, [rbp + 0x1c8]
call fcn.1801229d0
lea rdx, [0x1801fde28]
lea rcx, [rbp + 0x1c8]
call fcn.1801229d0
mov byte [rbp + 0x1e8], 1
lea rdx, str.Shine
lea rcx, [rbp + 0x420]
call fcn.18008f930
nop
lea rdx, [rbp + 0x420]
mov rcx, r15
call fcn.180153660
mov rcx, rax
lea rdx, [rbp + 0x1c0]
call fcn.180157f30
nop
lea rcx, [rbp + 0x420]
call fcn.18008fd00
nop
lea rcx, [rbp + 0x1c8]
call fcn.18008fd00
xor eax, eax
mov qword [rbp - 0x60], rax
lea rdx, [0x1801ae42e]
lea rcx, [rbp - 0x58]
call fcn.18008f930
mov byte [rbp - 0x38], 0
lea rdx, str._VertexLitGeneric_
lea rcx, [rbp - 0x58]
call fcn.18008f850
lea rdx, [0x1801fdd74]
lea rcx, [rbp - 0x58]
call fcn.1801229d0
lea rdx, str._n_t_basetexture__models_player_shared_ice_player_
lea rcx, [rbp - 0x58]
call fcn.1801229d0
lea rdx, str._n_t_bumpmap__models_player_shared_shared_normal_
lea rcx, [rbp - 0x58]
call fcn.1801229d0
lea rdx, str._n_t_additive__1_
lea rcx, [rbp - 0x58]
call fcn.1801229d0
lea rdx, str._n_t_phong__1_
lea rcx, [rbp - 0x58]
call fcn.1801229d0
lea rdx, str._n_t_phongfresnelranges___0_0.001_0.001__
lea rcx, [rbp - 0x58]
call fcn.1801229d0
lea rdx, str._n_t_envmap__skybox_sky_dustbowl_01_
lea rcx, [rbp - 0x58]
call fcn.1801229d0
lea rdx, str._n_t_envmapfresnel__1_
lea rcx, [rbp - 0x58]
call fcn.1801229d0
lea rdx, str._n_t_selfillum__1_
lea rcx, [rbp - 0x58]
call fcn.1801229d0
lea rdx, str._n_t_selfillumtint___0_0_0__
lea rcx, [rbp - 0x58]
call fcn.1801229d0
lea rdx, [0x1801fde28]
lea rcx, [rbp - 0x58]
call fcn.1801229d0
mov byte [rbp - 0x38], 1
lea rdx, str.Tint
lea rcx, [rbp + 0x360]
call fcn.18008f930
nop
lea r8, [rbp + 0x360]
lea rdx, [rbp + 0x180]
mov rcx, r15
call fcn.180153790
mov rbx, qword [rax]
mov rax, qword [rbp - 0x60]
mov qword [rbx + 0x30], rax
lea rcx, [rbx + 0x38]
lea rax, [rbp - 0x58]
cmp rcx, rax
je 0x180156e51
lea rdx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x48]
call fcn.18008fd60
movzx eax, byte [rbp - 0x38]
mov byte [rbx + 0x58], al
lea rcx, [rbp + 0x360]
call fcn.18008fd00
nop
lea rcx, [rbp - 0x58]
call fcn.18008fd00
mov rcx, qword [0x18022cc80]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 0xa
jb 0x180157f21
lea r9, [0x18022cc70]
cmp qword [0x18022cc88], 0xf
cmova r9, qword [0x18022cc70]
mov qword [rsp + 0x30], 0xa
lea rax, [0x1801f8f70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x310]
call fcn.1800f48f0
nop
lea rax, [rbp + 0x310]
cmp qword [rbp + 0x328], 0xf
cmova rax, qword [rbp + 0x310]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x320]
mov qword [rbp + 0x58], rax
call fcn.1801808a4
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp - 0x70], xmm0
lea r8, [rbp - 0x70]
mov edx, eax
lea rcx, [rbp + 0x120]
call fcn.1800e4960
mov edi, 0xe00
mov dword [rbp + 0x6a8], edi
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x70]
call fcn.18010e620
nop
lea rcx, [rbp + 0x120]
call fcn.1800f21a0
nop
lea rcx, [rbp + 0x310]
call fcn.18008fd00
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x180156f5f
lock inc dword [rbx + 8]
mov rbx, qword [rsp + 0x78]
mov edi, dword [rbp + 0x6a8]
mov rsi, qword [rsp + 0x70]
mov qword [rsp + 0x60], rsi
mov r12, rsi
mov qword [rsp + 0x68], rbx
test rbx, rbx
je 0x180156f8a
lock inc dword [rbx + 8]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x60]
mov edi, dword [rbp + 0x6a8]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x3d0], xmm1
mov r14, 0xffffffffffffffff
test rbx, rbx
je 0x180156fdc
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180156fcc
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180156fcc
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov edi, dword [rbp + 0x6a8]
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x78]
test r12, r12
je 0x18015754b
nop word [rax + rax]
lea rdx, [rbp + 0x1a0]
mov rcx, rsi
call fcn.18010e120
mov rax, qword [rbp + 0x1a0]
mov edx, dword [rbp + 0x1a8]
test edx, edx
je 0x18015701f
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x180157f10
mov r12d, 0xf
cmp eax, 2
jne 0x18015711f
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f0], xmm0
mov qword [rbp + 0x200], 4
mov qword [rbp + 0x208], r12
mov eax, dword [str..vmt]
mov dword [rbp + 0x1f0], eax
mov byte [rbp + 0x1f4], 0
or edi, 1
mov dword [rbp + 0x6a8], edi
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x350], rax
mov qword [rbp + 0x358], 4
call fcn.1801808a4
movaps xmm0, xmmword [rbp + 0x350]
movdqa xmmword [rbp + 0x3c0], xmm0
lea r8, [rbp + 0x3c0]
mov edx, eax
lea rcx, [rbp + 0x2d0]
call fcn.1800e4960
or edi, 0x30
or edi, 2
mov dword [rbp + 0x6a8], edi
lea rcx, [rsi + 0x20]
lea rdx, [rbp + 0x590]
call fcn.18010deb0
or edi, 4
mov dword [rbp + 0x6a8], edi
lea rcx, [rbp + 0x2d0]
cmp qword [rbp + 0x2e8], 7
cmova rcx, qword [rbp + 0x2d0]
mov qword [rbp + 0x90], rcx
mov rcx, qword [rbp + 0x2e0]
mov qword [rbp + 0x98], rcx
movaps xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rbp + 0x3b0], xmm0
lea rdx, [rbp + 0x3b0]
mov rcx, rax
call fcn.18010dc10
test eax, eax
jne 0x18015711f
xor bl, bl
jmp 0x180157121
mov bl, 1
test dil, 4
je 0x18015713d
and edi, 0xfffffffb
mov dword [rbp + 0x6a8], edi
lea rcx, [rbp + 0x590]
call fcn.1800f21a0
nop
test dil, 2
je 0x180157159
and edi, 0xfffffffd
mov dword [rbp + 0x6a8], edi
lea rcx, [rbp + 0x2d0]
call fcn.1800f21a0
nop
test dil, 1
je 0x180157174
and edi, 0xfffffffe
mov dword [rbp + 0x6a8], edi
lea rcx, [rbp + 0x1f0]
call fcn.18008fd00
test bl, bl
jne 0x18015752e
lea rbx, [rsi + 0x20]
mov rdx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x18015718d
mov rdx, qword [rbx]
lea rcx, [rbp + 0x470]
call fcn.18015a330
mov rax, qword [rbp + 0x470]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x470], rsi
mov rax, qword [rbp + 0x470]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x46c], edx
mov rax, qword [rbp + 0x470]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x470]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::good_void_const___ptr64]
test al, al
jne 0x180157240
mov rax, qword [rbp + 0x470]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x470], rsi
mov rax, qword [rbp + 0x470]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x46c], edx
lea rcx, [rbp + 0x480]
call fcn.1800f45c0
lea rcx, [rbp + 0x488]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x520]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x18015752e
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x18015724d
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
lea rdx, [rcx + rax*2]
mov r10, rdx
call fcn.18010d830
cmp rax, rdx
je 0x18015729c
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x180157271
cmp cx, 0x2f
jne 0x18015727a
add rax, 2
cmp rax, rdx
jne 0x180157262
cmp rax, rdx
je 0x18015729c
nop
lea r8, [r10 - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x18015729c
cmp cx, 0x2f
je 0x18015729c
mov r10, r8
cmp rax, r8
jne 0x180157280
sub rdx, r10
sar rdx, 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x2f0], xmm0
mov qword [rbp + 0x300], r13
mov qword [rbp + 0x308], r13
mov r8, rdx
mov rdx, r10
lea rcx, [rbp + 0x2f0]
call fcn.180127710
or edi, 0x1c0
mov dword [rbp + 0x6a8], edi
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x2f0]
call fcn.1800e4ad0
nop
lea rcx, [rbp + 0x2f0]
call fcn.1800f21a0
lea rax, [rbp - 0x30]
mov rbx, qword [rbp - 0x20]
cmp qword [rbp - 0x18], 0xf
jbe 0x180157320
mov rcx, qword [rbp - 0x30]
lea rax, [rbx - 4]
add rax, rcx
mov r9, rax
sub r9, rcx
mov rdx, rbx
sub rdx, rax
add rdx, rcx
jmp 0x180157340
lea rdx, [rax + rbx]
lea rax, [rbp - 0x30]
add rax, 0xfffffffffffffffc
add rax, rbx
lea rcx, [rbp - 0x30]
mov r9, rax
sub r9, rcx
sub rdx, rax
lea rcx, [rbp - 0x30]
mov rax, rbx
sub rax, r9
cmp rax, rdx
cmovb rdx, rax
add rcx, r9
sub rbx, rdx
mov r8, rbx
sub r8, r9
inc r8
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x20], rbx
mov qword [rbp + 0x50], r13
mov word [rbp + 0x58], 1
mov rax, qword [rbp + 0x470]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x470]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ios_char__struct_std::char_traits_char__::rdbuf_void_const___ptr64]
mov qword [rbp + 0x1b0], rax
test rax, rax
sete byte [rbp + 0x1b8]
mov byte [rbp + 0x1b9], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x118], r13
movaps xmm0, xmmword [rbp + 0x1b0]
movaps xmmword [rbp - 0x80], xmm0
movaps xmm6, xmmword [rbp + 0x50]
test rax, rax
je 0x180157401
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x1801573f0
mov byte [rbp - 0x77], al
mov rax, qword [rbp - 0x80]
mov byte [rbp - 0x78], 1
movaps xmm0, xmmword [rbp - 0x80]
jmp 0x180157406
mov rax, r13
mov qword [rbp - 0x80], rax
mov byte [rbp - 0x78], 1
movaps xmm0, xmmword [rbp - 0x80]
jmp 0x180157406
movq rax, xmm0
test rax, rax
movq rax, xmm6
jne 0x180157eb7
test rax, rax
je 0x180157ec0
movdqa xmmword [rbp + 0x3a0], xmm6
movdqa xmmword [rbp + 0x390], xmm0
lea r8, [rbp + 0x3a0]
lea rdx, [rbp + 0x390]
lea rcx, [rbp + 0x100]
call fcn.18015a510
nop
mov edx, 0xca0c003e
lea rcx, [0x1801f0911]
call fcn.1800de0e0
mov r10d, eax
lea r8, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova r8, qword [rbp - 0x30]
mov r9d, 0x811c9dc5
mov rcx, r14
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180157473
mov rdx, r13
test rcx, rcx
je 0x1801574a7
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180157490
cmp r9d, r10d
je 0x18015750b
xor eax, eax
mov qword [rbp + 0x440], rax
lea rdx, [0x1801ae42e]
lea rcx, [rbp + 0x448]
call fcn.18008f930
mov byte [rbp + 0x468], 0
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x448]
call fcn.18008f870
lea rdx, [rbp - 0x30]
mov rcx, r15
call fcn.180159d30
mov rcx, rax
lea rdx, [rbp + 0x440]
call fcn.180157f30
nop
lea rcx, [rbp + 0x448]
call fcn.18008fd00
nop
lea rcx, [rbp + 0x100]
call fcn.18008fd00
nop
lea rcx, [rbp - 0x30]
call fcn.18008fd00
nop
lea rcx, [rbp + 0x470]
call fcn.1800f3a00
lea rcx, [rsp + 0x60]
call fcn.18010e730
mov rsi, qword [rsp + 0x60]
test rsi, rsi
jne 0x180156ff0
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x180157592
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180157587
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180157587
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 8]
mov edi, dword [rbp + 0x6a8]
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x1801575c7
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1801575c1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x1801575c1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov edi, dword [rbp + 0x6a8]
mov r12, qword [r15 + 8]
mov rbx, qword [r12]
cmp rbx, r12
je 0x180157775
lea rax, str.m_pMat_s
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], 8
mov qword [rbp - 0x70], 1
lea rax, [rsp + 0x40]
mov qword [rbp - 0x68], rax
lea r13, [r15 + 0x80]
movaps xmm6, xmmword [rbp + 0x90]
movaps xmm7, xmmword [rbp - 0x70]
movabs r15, 0xc000000000000000
nop
mov ecx, 0x40
call fcn.18017f874
mov r14, rax
mov qword [rbp + 0x6a8], rax
lea r8, [rbx + 0x10]
cmp qword [rbx + 0x28], 0xf
jbe 0x180157643
mov r8, qword [rbx + 0x10]
mov edx, 0x80
lea rcx, [rbp + 0x5b0]
call fcn.1800d33b0
lea rdx, [rbp + 0x5b0]
mov rcx, r14
call qword [0x1802283b0]
nop
lea r8, [rbx + 0x38]
cmp qword [r8 + 0x18], 0xf
jbe 0x180157673
mov r8, qword [r8]
lea rdx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0xf
jbe 0x180157682
mov rdx, qword [rbx + 0x10]
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov rcx, r14
call qword [0x1802283d8]
nop
lea rcx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0xf
jbe 0x1801576a7
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rax
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x40], r15
movdqa xmmword [rbp + 0x340], xmm7
movdqa xmmword [rbp + 0x330], xmm6
lea r8, [rbp + 0x340]
lea rdx, [rbp + 0x330]
lea rcx, [rbp + 0x120]
call fcn.1800cad30
or edi, 8
lea rdx, [rbp + 0x120]
cmp qword [rbp + 0x138], 0xf
cmova rdx, qword [rbp + 0x120]
mov rcx, qword [0x18022ba70]
mov rax, qword [rcx]
mov r8, r14
call qword [rax + 0x240]
mov qword [rbp + 0x6b0], rax
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
lea r8, [rbp + 0x6b0]
lea rdx, [rbp + 0x380]
mov rcx, r13
call fcn.180159d50
mov rcx, qword [rax]
mov byte [rcx + 0x18], 1
mov rax, qword [rbp + 0x6b0]
mov qword [rbx + 0x30], rax
lea rcx, [rbp + 0x120]
call fcn.18008fd00
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r12
jne 0x180157620
mov r15, qword [rbp + 0x6a0]
xor r13d, r13d
xor eax, eax
mov qword [rbp + 0x210], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x218], xmm0
mov qword [rbp + 0x228], r13
mov qword [rbp + 0x230], 0xf
mov byte [rbp + 0x218], al
xor r14b, r14b
mov byte [rbp + 0x238], r14b
mov rcx, qword [0x18022ba70]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r13
mov r9b, 1
lea r8, str.Other_textures
lea rdx, str.dev_glow_color
call qword [rax + 0x248]
mov rbx, rax
mov qword [rbp + 0x210], rax
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
lea rdi, [r15 + 0x40]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 9
mov qword [rsp + 0x58], 0xf
movsd xmm0, qword [str.GlowColor]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x1801fd520]
mov byte [rsp + 0x48], al
mov byte [rsp + 0x49], r14b
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x360]
mov rcx, rdi
call fcn.180153790
mov rsi, qword [rax]
mov qword [rsi + 0x30], rbx
lea rcx, [rsi + 0x38]
lea rax, [rbp + 0x218]
cmp rcx, rax
je 0x180157861
xor r8d, r8d
lea rdx, [rbp + 0x218]
call fcn.18008fd60
movzx r14d, byte [rbp + 0x238]
mov byte [rsi + 0x58], r14b
lea rcx, [rsp + 0x40]
call fcn.18008fd00
nop
lea rcx, [rbp + 0x218]
call fcn.18008fd00
xor eax, eax
mov qword [rbp + 0x240], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x248], xmm0
mov qword [rbp + 0x258], r13
mov qword [rbp + 0x260], 0xf
mov byte [rbp + 0x248], al
xor r12b, r12b
mov byte [rbp + 0x268], r12b
lea ecx, [rax + 0x40]
call fcn.18017f874
mov r14, rax
mov qword [rbp + 0x6a8], rax
lea r8, str.BlurFilterX
mov edx, 0x80
lea rcx, [rbp + 0x5b0]
call fcn.1800d33b0
lea rdx, [rbp + 0x5b0]
mov rcx, r14
call qword [0x1802283b0]
nop
mov r9, qword [0x180228388]
mov r8b, 1
lea rdx, str._basetexture
mov rcx, r14
call r9
mov rbx, rax
lea rax, str.glow_buffer_1
test rbx, rbx
je 0x18015796a
cmp byte [rbx + 0x20], 1
jne 0x180157922
cmp qword [rbx + 8], rax
je 0x18015796a
lea rdi, [r15 + 0x40]
mov rcx, qword [rbx + 8]
call fcn.18017f74c
mov rcx, qword [rbx + 0x10]
call fcn.18017f74c
mov qword [rbx + 0x10], r13
mov ecx, 0xe
call fcn.18017fed0
mov qword [rbx + 8], rax
movsd xmm0, qword [str.glow_buffer_1]
movsd qword [rax], xmm0
mov ecx, dword [0x1801fd568]
mov dword [rax + 8], ecx
movzx ecx, word [0x1801fd56c]
mov word [rax + 0xc], cx
mov byte [rbx + 0x20], 1
mov rcx, qword [0x18022ba70]
mov rax, qword [rcx]
mov r8, r14
lea rdx, str.m_pMatBlurX
call qword [rax + 0x240]
mov qword [rbp + 0x6b8], rax
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
lea rsi, [r15 + 0x80]
lea r8, [rbp + 0x6b8]
lea rdx, [rbp + 0x420]
mov rcx, rsi
call fcn.180159d50
mov rcx, qword [rax]
mov byte [rcx + 0x18], 1
mov rbx, qword [rbp + 0x6b8]
mov qword [rbp + 0x240], rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 5
mov qword [rsp + 0x58], 0xf
mov eax, dword [str.BlurX]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x1801fd528]
mov byte [rsp + 0x44], al
mov byte [rsp + 0x45], 0
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x400]
mov rcx, rdi
call fcn.180153790
mov r14, qword [rax]
mov qword [r14 + 0x30], rbx
lea rcx, [r14 + 0x38]
lea rax, [rbp + 0x248]
cmp rcx, rax
je 0x180157a3c
xor r8d, r8d
lea rdx, [rbp + 0x248]
call fcn.18008fd60
movzx r12d, byte [rbp + 0x268]
mov byte [r14 + 0x58], r12b
lea rcx, [rsp + 0x40]
call fcn.18008fd00
nop
lea rcx, [rbp + 0x248]
call fcn.18008fd00
xor eax, eax
mov qword [rbp + 0x270], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x278], xmm0
mov qword [rbp + 0x288], r13
mov qword [rbp + 0x290], 0xf
mov byte [rbp + 0x278], al
xor r13b, r13b
mov byte [rbp + 0x298], r13b
lea ecx, [rax + 0x40]
call fcn.18017f874
mov r12, rax
mov qword [rbp + 0x6a8], rax
lea r8, str.BlurFilterY
mov edx, 0x80
lea rcx, [rbp + 0x5b0]
call fcn.1800d33b0
lea rdx, [rbp + 0x5b0]
mov rcx, r12
call qword [0x1802283b0]
nop
mov r9, qword [0x180228388]
mov r8b, 1
lea rdx, str._basetexture
mov rcx, r12
call r9
mov rbx, rax
test rax, rax
je 0x180157b50
cmp byte [rax + 0x20], 1
jne 0x180157b04
lea rax, str.glow_buffer_2
cmp qword [rbx + 8], rax
je 0x180157b50
lea rsi, [r15 + 0x80]
lea rdi, [r15 + 0x40]
mov rcx, qword [rbx + 8]
call fcn.18017f74c
mov rcx, qword [rbx + 0x10]
call fcn.18017f74c
mov qword [rbx + 0x10], 0
mov ecx, 0xe
call fcn.18017fed0
mov qword [rbx + 8], rax
movsd xmm0, qword [str.glow_buffer_2]
movsd qword [rax], xmm0
mov ecx, dword [0x1801fd548]
mov dword [rax + 8], ecx
movzx ecx, word [0x1801fd54c]
mov word [rax + 0xc], cx
mov byte [rbx + 0x20], 1
mov rcx, qword [0x18022ba70]
mov rax, qword [rcx]
mov r8, r12
lea rdx, str.m_pMatBlurY
call qword [rax + 0x240]
mov qword [rbp + 0x180], rax
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
lea r8, [rbp + 0x180]
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.180159d50
mov rcx, qword [rax]
mov byte [rcx + 0x18], 1
mov rbx, qword [rbp + 0x180]
mov qword [rbp + 0x270], rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 5
mov qword [rsp + 0x58], 0xf
mov eax, dword [str.BlurY]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x1801fd504]
mov byte [rsp + 0x44], al
mov byte [rsp + 0x45], 0
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x310]
mov rcx, rdi
call fcn.180153790
mov r14, qword [rax]
mov qword [r14 + 0x30], rbx
lea rcx, [r14 + 0x38]
lea rax, [rbp + 0x278]
cmp rcx, rax
je 0x180157c1b
xor r8d, r8d
lea rdx, [rbp + 0x278]
call fcn.18008fd60
movzx r13d, byte [rbp + 0x298]
mov byte [r14 + 0x58], r13b
lea rcx, [rsp + 0x40]
call fcn.18008fd00
nop
lea rcx, [rbp + 0x278]
call fcn.18008fd00
xor eax, eax
mov qword [rbp + 0x2a0], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a8], xmm0
mov qword [rbp + 0x2b8], rax
mov qword [rbp + 0x2c0], 0xf
mov byte [rbp + 0x2a8], al
xor r13b, r13b
mov byte [rbp + 0x2c8], r13b
lea ecx, [rax + 0x40]
call fcn.18017f874
mov r12, rax
mov qword [rbp + 0x6a8], rax
lea r8, str.UnlitGeneric
mov edx, 0x80
lea rcx, [rbp + 0x5b0]
call fcn.1800d33b0
lea rdx, [rbp + 0x5b0]
mov rcx, r12
call qword [0x1802283b0]
nop
mov r9, qword [0x180228388]
mov r8b, 1
lea rdx, str._basetexture
mov rcx, r12
call r9
mov rbx, rax
test rax, rax
je 0x180157d2f
cmp byte [rax + 0x20], 1
jne 0x180157cd8
lea rax, str.glow_buffer_1
cmp qword [rbx + 8], rax
je 0x180157d2f
mov rcx, qword [rbx + 8]
call fcn.18017f74c
mov rcx, qword [rbx + 0x10]
call fcn.18017f74c
mov qword [rbx + 0x10], 0
mov ecx, 0xe
call fcn.18017fed0
mov qword [rbx + 8], rax
movsd xmm0, qword [str.glow_buffer_1]
movsd qword [rax], xmm0
mov ecx, dword [0x1801fd568]
mov dword [rax + 8], ecx
movzx ecx, word [0x1801fd56c]
mov word [rax + 0xc], cx
mov byte [rbx + 0x20], 1
lea rsi, [r15 + 0x80]
lea rdi, [r15 + 0x40]
mov rax, qword [0x180228388]
mov r8b, 1
lea rdx, str._additive
mov rcx, r12
call rax
mov rbx, rax
test rax, rax
je 0x180157d96
cmp byte [rax + 0x20], 1
jne 0x180157d60
lea rax, [0x1801ae8d0]
cmp qword [rbx + 8], rax
je 0x180157d96
mov rcx, qword [rbx + 8]
call fcn.18017f74c
mov rcx, qword [rbx + 0x10]
call fcn.18017f74c
mov qword [rbx + 0x10], 0
mov ecx, 2
call fcn.18017fed0
mov qword [rbx + 8], rax
movzx ecx, word [0x1801ae8d0]
mov word [rax], cx
mov byte [rbx + 0x20], 1
mov rcx, qword [0x18022ba70]
mov rax, qword [rcx]
mov r8, r12
lea rdx, str.m_pMatHaloAddToScreen
call qword [rax + 0x240]
mov qword [rbp + 0x190], rax
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
lea r8, [rbp + 0x190]
lea rdx, [rbp + 0x160]
mov rcx, rsi
call fcn.180159d50
mov rcx, qword [rax]
mov byte [rcx + 0x18], 1
mov rbx, qword [rbp + 0x190]
mov qword [rbp + 0x2a0], rbx
mov byte [rsp + 0x4f], 0
mov qword [rsp + 0x50], 0xf
mov qword [rsp + 0x58], 0xf
movsd xmm0, qword [str.HaloAddToScreen]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x1801fd510]
mov dword [rsp + 0x48], eax
movzx eax, word [0x1801fd514]
mov word [rsp + 0x4c], ax
movzx eax, byte [0x1801fd516]
mov byte [rsp + 0x4e], al
mov byte [rsp + 0x4f], 0
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x140]
mov rcx, rdi
call fcn.180153790
mov rdi, qword [rax]
mov qword [rdi + 0x30], rbx
lea rcx, [rdi + 0x38]
lea rax, [rbp + 0x2a8]
cmp rcx, rax
je 0x180157e78
xor r8d, r8d
lea rdx, [rbp + 0x2a8]
call fcn.18008fd60
movzx r13d, byte [rbp + 0x2c8]
mov byte [rdi + 0x58], r13b
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x180157ee0
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180157eda
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180157eda
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
test rax, rax
je 0x18015741d
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x118], r12
mov byte [rbp + 0x100], 0
jmp 0x180157448
call fcn.18017f74c
nop
lea rcx, [rbp + 0x2a8]
call fcn.18008fd00
movaps xmm6, xmmword [rsp + 0x740]
movaps xmm7, xmmword [rsp + 0x730]
add rsp, 0x758
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea r8, [rsi + 0x20]
lea rcx, str.directory_entry::status
call fcn.1800e50e0
nop
call fcn.18006a6a0
int3