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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1e0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x1800a2010]
xor rax, rsp
mov qword [rbp + 0xb8], rax
mov rsi, rcx
mov qword [rbp + 0x18], r9
mov qword [rbp - 8], r9
movsd xmm0, qword [rbp + 0x140]
movsd qword [rsp + 0x48], xmm0
xor r12d, r12d
cmp byte [rcx + 0xd8], r12b
je 0x180018d7f
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180017720
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x170]
add rcx, 0x160
cmp qword [rsi + 0x178], 0x10
jb 0x18001773f
mov rcx, qword [rsi + 0x160]
cmp r8, rax
jne 0x180018d7f
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180018d7f
xor r15b, r15b
mov byte [rsp + 0x40], r15b
lea rdx, [rsi + 0x180]
lea rcx, [rbp - 0x70]
call fcn.18001dfe0
nop
lea rdx, [rsi + 0x160]
mov rcx, rax
call fcn.18001cfa0
xorps xmm0, xmm0
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x58], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x1800177e8
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800177e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800177e3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180067b70
movdqa xmm0, xmmword [0x180093a10]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
lea r14, [rsi + 0xb8]
lea rdx, [rbp + 0x48]
cmp qword [rbp + 0x60], 0x10
cmovae rdx, qword [rbp + 0x48]
mov r8, qword [r14 + 0x10]
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x18001781f
mov rcx, qword [r14]
cmp r8, qword [rbp + 0x58]
jne 0x18001782e
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180017881
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi]
cmp rbx, rdi
je 0x18001785b
nop word [rax + rax]
mov rcx, rbx
call fcn.18001ace0
add rbx, 0xd0
cmp rbx, rdi
jne 0x180017840
mov rax, qword [rsi]
mov qword [rsi + 8], rax
mov rdx, qword [rsi + 0xa8]
mov rcx, qword [rsi + 0xa0]
cmp rcx, rdx
je 0x180017881
call fcn.18001e430
mov rax, qword [rsi + 0xa0]
mov qword [rsi + 0xa8], rax
mov byte [rsi + 0x158], 0
mov rbx, qword [0x1800a3510]
or dword [rbx + 0x1ab8], 0x10
movss xmm0, dword [rbp + 0x18]
movss dword [rbx + 0x1aec], xmm0
movss xmm1, dword [rbp - 4]
movss dword [rbx + 0x1af0], xmm1
movss xmm0, dword [rsp + 0x48]
movss dword [rbx + 0x1af4], xmm0
movss xmm1, dword [rsp + 0x4c]
movss dword [rbx + 0x1af8], xmm1
mov qword [rbx + 0x1b00], r12
mov qword [rbx + 0x1b08], r12
lea rcx, [rbp + 0x48]
cmp byte [rsi + 0x280], 0
je 0x18001794b
cmp qword [rbp + 0x60], 0x10
cmovae rcx, qword [rbp + 0x48]
mov rax, qword [rbx + 0x1a18]
movsxd r8, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.180002d50
cmp dword [rbx + 0x1a60], eax
jne 0x180017920
mov dword [rbx + 0x1a64], eax
cmp dword [rbx + 0x1a9c], eax
jne 0x18001792f
mov byte [rbx + 0x1aa0], 1
mov ecx, eax
call fcn.18000f1e0
lea rcx, [rbp + 0x48]
cmp qword [rbp + 0x60], 0x10
cmovae rcx, qword [rbp + 0x48]
call fcn.18000f5b0
jmp 0x180017960
cmp qword [rbp + 0x60], 0x10
cmovae rcx, qword [rbp + 0x48]
xor edx, edx
lea r8d, [rdx + 0x28]
call fcn.18000b7b0
test al, al
je 0x180018d2c
lea rax, [rbp + 0x48]
cmp r14, rax
je 0x18001798b
lea rdx, [rbp + 0x48]
cmp qword [rbp + 0x60], 0x10
cmovae rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x58]
mov rcx, r14
call fcn.18001d6d0
call fcn.18000e3f0
or byte [rsi + 0x159], al
cmp qword [rsi + 0x1b8], 0
jne 0x1800179b9
lea rcx, [rsi + 0x1a8]
mov r8d, 1
lea rdx, [0x18008f504]
call fcn.18001d6d0
lea r13, [rsi + 0x118]
cmp qword [rsi + 0x128], 0
jne 0x1800179ec
cmp qword [rsi + 0x140], 0
jne 0x1800179ec
mov rdx, qword [rsi + 0x100]
cmp rdx, qword [rsi + 0x108]
je 0x1800179ec
mov rcx, r13
call fcn.180018dd0
mov rax, qword [rsi + 8]
cmp qword [rsi], rax
jne 0x180017b2f
cmp byte [rsi + 0xd9], 0
jne 0x180017b2f
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], r12
xor r8d, r8d
lea rdx, [0x18006cbde]
lea rcx, [rbp + 0x28]
call fcn.18001e940
nop
xor r8d, r8d
lea rdx, [rsi + 0x1a8]
lea rcx, [rsi + 0x1c8]
call fcn.18001ce80
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x180017a9d
mov r14, qword [rbp + 0x38]
nop dword [rax]
lea r9, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae r9, qword [rbp + 0x28]
mov qword [rsp + 0x20], r14
mov r8, qword [rsi + 0x1b8]
mov rdx, rbx
lea rcx, [rsi + 0x1c8]
call fcn.18001d530
mov r14, qword [rbp + 0x38]
lea r8, [r14 + rbx]
lea rdx, [rsi + 0x1a8]
lea rcx, [rsi + 0x1c8]
call fcn.18001ce80
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x180017a50
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x180017adb
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180017ad6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180017ad6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180067b70
cmp qword [rsi + 0x1d8], 0
je 0x180017b07
mov byte [0x1800a3520], 0
lea r8, [rsi + 0x1c8]
call fcn.180016b60
lea rdx, [rsi + 0x1e8]
mov rcx, rsi
call fcn.18001bee0
mov r8d, 3
lea rdx, [0x18008f510]
lea rcx, [rsi + 0x1a8]
call fcn.18001d6d0
lea rdx, [rsi + 0x1a8]
mov rcx, rsi
call fcn.18001a680
movss xmm7, dword [0x18009399c]
movaps xmm1, xmm7
xorps xmm0, xmm0
call fcn.18000e9b0
movaps xmm1, xmm7
xorps xmm0, xmm0
call fcn.18000e9b0
mov edx, 0xff1e1e1e
call fcn.18000e2a0
mov qword [rsp + 0x48], 0
lea rdx, [rsp + 0x48]
lea rcx, str.Drives
call fcn.180037930
movzx r15d, al
mov byte [rsp + 0x41], al
mov rdi, qword [0x1800a3510]
movsxd rcx, dword [rdi + 0x1b30]
lea r8, [rcx + rcx*4]
mov rdx, qword [rdi + 0x1b38]
movsxd rcx, dword [rdx + r8*4 - 0x14]
add rcx, rcx
movups xmm0, xmmword [rdx + r8*4 - 0x10]
movups xmmword [rdi + rcx*8 + 0x1608], xmm0
dec dword [rdi + 0x1b30]
cmp al, 1
jne 0x180017bc1
mov rcx, rsi
call fcn.18001b380
mov rdi, qword [0x1800a3510]
mov byte [rsp + 0x42], 0
mov rax, qword [rsi + 0xa8]
cmp qword [rsi + 0xa0], rax
je 0x180017c74
movaps xmm1, xmm7
xorps xmm0, xmm0
call fcn.18000e9b0
mov r14d, r12d
mov rbx, qword [rsi + 0xa0]
cmp rbx, qword [rsi + 0xa8]
je 0x180017c74
mov qword [rsp + 0x48], r14
nop dword [rax]
cmp rbx, qword [rsi + 0xa0]
je 0x180017c14
movaps xmm1, xmm7
xorps xmm0, xmm0
call fcn.18000e9b0
mov ecx, r14d
inc r14d
call fcn.18000e860
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x180017c2c
mov rcx, qword [rbx]
lea rdx, [rsp + 0x48]
call fcn.180037930
mov rdi, qword [0x1800a3510]
mov rcx, qword [rdi + 0x1a18]
dec dword [rcx + 0xc0]
test al, al
jne 0x180017c5d
add rbx, 0x20
cmp rbx, qword [rsi + 0xa8]
jne 0x180017c00
jmp 0x180017c74
mov rdx, rbx
mov rcx, rsi
call fcn.18001b1c0
mov byte [rsp + 0x42], 1
mov rdi, qword [0x1800a3510]
mov rcx, qword [rsi + 0x248]
xorps xmm0, xmm0
test rcx, rcx
js 0x180017c8a
cvtsi2ss xmm0, rcx
jmp 0x180017c9f
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rax, qword [rdi + 0x1a18]
movss xmm1, dword [rax + 0x248]
movss xmm2, dword [rax + 0x24c]
cmp qword [rax + 0x1e8], 0
je 0x180017cc8
movss xmm1, dword [rax + 0x228]
subss xmm2, dword [rax + 0xd4]
subss xmm2, dword [0x1800a3c18]
subss xmm1, dword [rax + 0xd0]
subss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm2
mov byte [rax + 0x80], 1
mov rax, qword [rdi + 0x1a18]
movsxd r8, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, str.FileDialog_FileList
call fcn.180002d50
cmp dword [rdi + 0x1a60], eax
jne 0x180017d2d
mov dword [rdi + 0x1a64], eax
cmp dword [rdi + 0x1a9c], eax
jne 0x180017d3c
mov byte [rdi + 0x1aa0], 1
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [rsp + 0x48]
mov edx, eax
lea rcx, str.FileDialog_FileList
call fcn.180008a70
mov rcx, qword [rsi + 0x20]
sub rcx, qword [rsi + 0x18]
movabs rax, 0x4ec4ec4ec4ec4ec5
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [0x1800a3510]
movss xmm2, dword [rax + 0x1910]
addss xmm2, dword [rax + 0x15a4]
lea rcx, [rsp + 0x78]
call fcn.180003cc0
movsxd rcx, dword [rbp - 0x78]
mov dword [rsp + 0x50], ecx
cmp ecx, dword [rbp - 0x74]
jge 0x18001832c
imul rdx, rcx, 0xd0
mov qword [rbp - 8], rdx
movabs r10, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
lea r14, [rsi + 0x30]
mov r15, qword [rsi + 0x18]
add r15, rdx
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
mov rdi, r12
mov qword [rbp + 0xa8], r12
mov r13d, 0xf
mov qword [rbp + 0xb0], r13
mov byte [rbp + 0x98], 0
mov r8, qword [r15 + 0x78]
lea rdx, [r15 + 0x68]
cmp qword [r15 + 0x80], 0x10
jb 0x180017e14
mov rdx, qword [r15 + 0x68]
mov r9, rcx
mov rcx, r12
test r8, r8
je 0x180017e33
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x180017e20
lea r8, [r15 + 0x68]
lea rdx, [rbp - 0x38]
mov rcx, r14
call fcn.1800209c0
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x180017e50
mov rcx, qword [r14 + 8]
cmp rcx, qword [rsi + 0x38]
je 0x180017ef1
lea r8, [r15 + 0x68]
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.18001e4c0
mov rcx, qword [rax]
movups xmm6, xmmword [rcx + 0x50]
lea r8, [r15 + 0x68]
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.18001e4c0
mov rdx, qword [rax]
add rdx, 0x30
lea rax, [rbp + 0x98]
cmp rax, rdx
je 0x180017ebc
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180017ea2
mov rdx, qword [rdx]
lea rcx, [rbp + 0x98]
call fcn.18001d6d0
mov r13, qword [rbp + 0xb0]
mov rdi, qword [rbp + 0xa8]
mov r12b, 1
mov rbx, qword [0x1800a3510]
mov dword [rbp - 0x50], 0
movups xmm0, xmmword [rbx + 0x1608]
movups xmmword [rbp - 0x4c], xmm0
lea rcx, [rbx + 0x1b30]
lea rdx, [rbp - 0x50]
call fcn.180014890
movups xmmword [rbx + 0x1608], xmm6
jmp 0x180017ef4
xor r12b, r12b
mov rcx, qword [r15 + 0x38]
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rax, 1
jb 0x180018db5
lea rax, [r15 + 0x28]
cmp qword [r15 + 0x40], 0x10
jb 0x180017f21
mov rax, qword [r15 + 0x28]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [0x18008f538]
lea rcx, [rbp + 0x28]
call fcn.18001f120
nop
cmp byte [r15], 0x64
jne 0x180017fe2
mov rax, rbx
mov rcx, qword [rbp + 0x38]
sub rax, rcx
cmp rax, 5
jb 0x180018dbb
lea rax, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae rax, qword [rbp + 0x28]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 5
lea r9, str._Dir_
lea rcx, [rsp + 0x58]
call fcn.18001f120
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x180017fd0
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180017fcb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018430
call fcn.180067b70
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rbp + 0x38], xmm1
cmp byte [r15], 0x6c
jne 0x18001807f
mov rax, rbx
mov rcx, qword [rbp + 0x38]
sub rax, rcx
cmp rax, 6
jb 0x180018dbb
lea rax, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae rax, qword [rbp + 0x28]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 6
lea r9, str._Link_
lea rcx, [rsp + 0x58]
call fcn.18001f120
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x18001806d
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180018068
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018430
call fcn.180067b70
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rbp + 0x38], xmm1
cmp byte [r15], 0x66
jne 0x1800181c2
test r12b, r12b
je 0x18001812f
test rdi, rdi
je 0x18001812f
mov rax, rbx
sub rax, rdi
mov rcx, qword [rbp + 0x38]
cmp rax, rcx
jb 0x180018dbb
lea r9, [rbp + 0x98]
cmp r13, 0x10
cmovae r9, qword [rbp + 0x98]
lea rax, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae rax, qword [rbp + 0x28]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x58]
call fcn.18001f120
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x180018123
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001811e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018430
call fcn.180067b70
mov r13, qword [rbp + 0xb0]
jmp 0x1800181b0
mov rax, rbx
mov rcx, qword [rbp + 0x38]
sub rax, rcx
cmp rax, 6
jb 0x180018dbb
lea rax, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae rax, qword [rbp + 0x28]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 6
lea r9, str._File_
lea rcx, [rsp + 0x58]
call fcn.18001f120
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x1800181b0
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800181ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018430
call fcn.180067b70
movups xmm1, xmmword [rsp + 0x68]
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rbp + 0x38], xmm1
movups xmmword [rbp + 0x28], xmm0
lea r8, [r15 + 0x28]
lea rdx, [rsp + 0x58]
lea rcx, [rsi + 0x70]
call fcn.180020d30
mov rbx, qword [rsp + 0x68]
cmp byte [rbx + 0x19], 0
jne 0x1800181f0
lea r8, [rbx + 0x20]
lea rdx, [r15 + 0x28]
call fcn.18001f0b0
test al, al
je 0x1800181f4
mov rbx, qword [rsi + 0x70]
cmp rbx, qword [rsi + 0x70]
setne dl
mov qword [rbp + 8], 0
lea rcx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae rcx, qword [rbp + 0x28]
lea r9, [rbp + 8]
mov r8d, 4
call fcn.18003b330
test al, al
je 0x180018239
cmp byte [r15], 0x64
je 0x180018437
mov rdx, r15
mov rcx, rsi
call fcn.1800194e0
test r12b, r12b
je 0x180018274
mov r8, qword [0x1800a3510]
movsxd rax, dword [r8 + 0x1b30]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1b38]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1608], xmm0
dec dword [r8 + 0x1b30]
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x1800182af
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800182aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018533
call fcn.180067b70
xor r12d, r12d
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], r12b
cmp r13, 0x10
jb 0x1800182fd
lea rdx, [r13 + 1]
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800182f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001853a
call fcn.180067b70
mov ecx, dword [rsp + 0x50]
inc ecx
mov dword [rsp + 0x50], ecx
mov rdx, qword [rbp - 8]
add rdx, 0xd0
mov qword [rbp - 8], rdx
cmp ecx, dword [rbp - 0x74]
jl 0x180017db7
lea r13, [rsi + 0x118]
movzx r15d, byte [rsp + 0x41]
mov eax, dword [rbp - 0x80]
cmp eax, 0x7ffffffe
ja 0x1800183a7
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss xmm1, dword [rsp + 0x7c]
mulss xmm2, xmm1
addss xmm2, dword [rsp + 0x78]
mov rax, qword [0x1800a3510]
mov rcx, qword [rax + 0x1a18]
movss dword [rcx + 0xd4], xmm2
movss xmm0, dword [rcx + 0xec]
maxss xmm0, xmm2
movss dword [rcx + 0xec], xmm0
movaps xmm0, xmm2
subss xmm0, xmm1
movss dword [rcx + 0xdc], xmm0
subss xmm1, dword [rax + 0x15a4]
movss dword [rcx + 0xfc], xmm1
mov rax, qword [rcx + 0x1e8]
test rax, rax
je 0x1800183a7
movss dword [rax + 0x1c], xmm2
cmp byte [rsp + 0x42], 0
je 0x1800183bd
lea rdx, [rsi + 0x80]
mov rcx, rsi
call fcn.180019a80
test r15b, r15b
je 0x1800183ca
mov rcx, rsi
call fcn.18001b380
call fcn.180008df0
mov rbx, qword [0x1800a3510]
mov rax, qword [rbx + 0x1a18]
movss xmm6, dword [rax + 0xd4]
subss xmm6, dword [rax + 0x14]
addss xmm6, dword [rax + 0x58]
mov byte [rbp + 0x20], 1
lea rdi, [0x18006cdb0]
cmp qword [rsi + 0x240], 0
je 0x180018676
movaps xmm1, xmm7
xorps xmm0, xmm0
call fcn.18000e9b0
mov r8, qword [rsi + 0x248]
xorps xmm0, xmm0
test r8, r8
js 0x180018541
cvtsi2ss xmm0, r8
jmp 0x180018557
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp qword [rsi + 0x1a0], 0
jne 0x18001845e
mov rax, qword [0x1800a3510]
cmp byte [rax + 0x425], 0
jne 0x18001845e
mov rdx, r15
mov rcx, rsi
call fcn.1800194e0
jmp 0x18001846d
mov rdx, r15
mov rcx, rsi
call fcn.180019190
mov byte [rsp + 0x42], al
test r12b, r12b
je 0x1800184a9
mov r9, qword [0x1800a3510]
movsxd rcx, dword [r9 + 0x1b30]
lea r8, [rcx + rcx*4]
mov rdx, qword [r9 + 0x1b38]
movsxd rcx, dword [rdx + r8*4 - 0x14]
add rcx, rcx
movups xmm0, xmmword [rdx + r8*4 - 0x10]
movups xmmword [r9 + rcx*8 + 0x1608], xmm0
dec dword [r9 + 0x1b30]
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x1800184e0
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800184db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018533
call fcn.180067b70
xor r12d, r12d
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], r12b
cmp r13, 0x10
jb 0x18001831f
lea rdx, [r13 + 1]
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180018529
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001853a
call fcn.180067b70
jmp 0x18001831f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rax, r8
shr rax, 1
and r8d, 1
or rax, r8
cvtsi2ss xmm0, rax
addss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
mov rax, qword [rbx + 0x1a18]
mov byte [rax + 0x80], 1
mov rax, qword [rbx + 0x1a18]
movsxd r8, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, str.FileTypes
call fcn.180002d50
cmp dword [rbx + 0x1a60], eax
jne 0x1800185a1
mov dword [rbx + 0x1a64], eax
cmp dword [rbx + 0x1a9c], eax
jne 0x1800185b0
mov byte [rbx + 0x1aa0], 1
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [rsp + 0x48]
mov edx, eax
lea rcx, str.FileTypes
call fcn.180008a70
mov rax, qword [rsi + 0x270]
mov qword [rbp + 8], rax
mov rdx, r13
lea rcx, [rbp + 0x28]
call fcn.18001d170
mov rbx, rax
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 8], rax
mov rcx, qword [rsi + 0x240]
test rcx, rcx
jne 0x180018605
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
lea r9, [rbp - 8]
lea r8, [rbp + 8]
mov rdx, rbx
call qword [rax + 0x10]
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x180018651
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18001864c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800186ef
mov rcx, r8
call fcn.180067b70
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
call fcn.180008df0
mov rbx, qword [0x1800a3510]
cmp byte [rbp + 0x20], 0
je 0x180018815
lea rcx, [rbx + 0x1b40]
movss xmm0, dword [rbx + 0x1598]
mov dword [rbp - 8], 0xb
movss dword [rbp - 4], xmm0
lea rdx, [rbp - 8]
call fcn.1800147a0
mov dword [rbx + 0x1598], r12d
mov qword [rbp - 8], 0
lea rdx, [rbp - 8]
mov ecx, 1
call fcn.18000e360
mov edx, 0xff282828
call fcn.18000e2a0
mov qword [rbp - 8], 0
lea rdx, [rbp - 8]
lea rcx, str.Select
call fcn.180037930
test al, al
je 0x180018707
cmp byte [0x1800a3520], 0
je 0x1800186f6
mov byte [rsi + 0x158], 1
jmp 0x180018702
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18000f480
mov byte [rsi + 0x158], 0
mov byte [rsp + 0x40], 1
mov rbx, qword [0x1800a3510]
movsxd rax, dword [rbx + 0x1b40]
lea rcx, [rax + rax*2]
mov rdx, qword [rbx + 0x1b48]
movsxd rax, dword [rdx + rcx*4 - 0xc]
lea r9, [rax + rax*2]
mov r8d, dword [rdi + r9*4 + 8]
cmp dword [rdi + r9*4], 8
jne 0x18001876a
mov eax, dword [rdi + r9*4 + 4]
cmp eax, 1
jne 0x18001874d
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + rbx + 0x1558], eax
jmp 0x18001876a
cmp eax, 2
jne 0x18001876a
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + rbx + 0x1558], eax
mov eax, dword [rdx + rcx*4 - 4]
mov dword [r8 + rbx + 0x155c], eax
movsxd rcx, dword [rbx + 0x1b40]
lea eax, [rcx - 1]
mov dword [rbx + 0x1b40], eax
lea rax, [rcx - 2]
lea rcx, [rax + rax*2]
mov rdx, qword [rbx + 0x1b48]
movsxd rax, dword [rdx + rcx*4]
lea r9, [rax + rax*2]
mov r8d, dword [rdi + r9*4 + 8]
cmp dword [rdi + r9*4], 8
jne 0x1800187d2
mov eax, dword [rdi + r9*4 + 4]
cmp eax, 1
jne 0x1800187b5
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r8 + rbx + 0x1558], eax
jmp 0x1800187d2
cmp eax, 2
jne 0x1800187d2
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r8 + rbx + 0x1558], eax
mov eax, dword [rdx + rcx*4 + 8]
mov dword [r8 + rbx + 0x155c], eax
dec dword [rbx + 0x1b40]
movsxd rax, dword [rbx + 0x1b30]
lea rdx, [rax + rax*4]
mov rcx, qword [rbx + 0x1b38]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [rbx + rax*8 + 0x1608], xmm0
dec dword [rbx + 0x1b30]
movss xmm1, dword [0x1800938e4]
xorps xmm0, xmm0
call fcn.18000e9b0
lea rcx, [rbx + 0x1b40]
movss xmm0, dword [rbx + 0x1598]
mov dword [rbp - 8], 0xb
movss dword [rbp - 4], xmm0
lea rdx, [rbp - 8]
call fcn.1800147a0
mov dword [rbx + 0x1598], r12d
mov rbx, qword [0x1800a3510]
lea rcx, [rbx + 0x1b40]
movss xmm1, dword [rbx + 0x155c]
movss xmm0, dword [rbx + 0x1560]
mov dword [rbp - 8], 1
movss dword [rbp - 4], xmm1
movss dword [rbp], xmm0
lea rdx, [rbp - 8]
call fcn.1800147a0
mov qword [rbx + 0x155c], 0
mov edx, 0xff282828
call fcn.18000e2a0
mov qword [rbp - 8], 0
lea rdx, [rbp - 8]
lea rcx, str.Cancel
call fcn.180037930
test al, al
je 0x1800188ba
call fcn.18000f480
mov byte [rsi + 0x158], 0
mov byte [rsp + 0x40], 1
mov rbx, qword [0x1800a3510]
movsxd rax, dword [rbx + 0x1b30]
lea rdx, [rax + rax*4]
mov rcx, qword [rbx + 0x1b38]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [rbx + rax*8 + 0x1608], xmm0
dec dword [rbx + 0x1b30]
movsxd rax, dword [rbx + 0x1b40]
lea rcx, [rax + rax*2]
mov rdx, qword [rbx + 0x1b48]
movsxd rax, dword [rdx + rcx*4 - 0xc]
lea rax, [rax + rax*2]
mov r8d, dword [rdi + rax*4 + 8]
cmp dword [rdi + rax*4], 8
jne 0x180018948
mov eax, dword [rdi + rax*4 + 4]
cmp eax, 1
jne 0x18001892b
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + rbx + 0x1558], eax
jmp 0x180018948
cmp eax, 2
jne 0x180018948
mov eax, dword [rdx + rcx*4 - 8]
mov dword [r8 + rbx + 0x1558], eax
mov eax, dword [rdx + rcx*4 - 4]
mov dword [r8 + rbx + 0x155c], eax
movsxd rcx, dword [rbx + 0x1b40]
lea eax, [rcx - 1]
mov dword [rbx + 0x1b40], eax
lea rax, [rcx - 2]
lea rcx, [rax + rax*2]
mov rdx, qword [rbx + 0x1b48]
movsxd rax, dword [rdx + rcx*4]
lea r9, [rax + rax*2]
mov r8d, dword [rdi + r9*4 + 8]
cmp dword [rdi + r9*4], 8
jne 0x1800189b0
mov eax, dword [rdi + r9*4 + 4]
cmp eax, 1
jne 0x180018993
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r8 + rbx + 0x1558], eax
jmp 0x1800189b0
cmp eax, 2
jne 0x1800189b0
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r8 + rbx + 0x1558], eax
mov eax, dword [rdx + rcx*4 + 8]
mov dword [r8 + rbx + 0x155c], eax
dec dword [rbx + 0x1b40]
movaps xmm1, xmm7
xorps xmm0, xmm0
call fcn.18000e9b0
xor dil, dil
mov rcx, qword [rbx + 0x1a18]
lea rdx, [rcx + 0x184]
mov dword [rdx], 0x43020000
add rcx, 0x1a0
call fcn.180014b00
and dword [rbx + 0x1b20], 0xfffffffe
mov rdx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x1800189f9
mov rdx, qword [r13]
xor r8d, r8d
lea rcx, str.Filters
call fcn.180039aa0
test al, al
je 0x180018c82
mov r15, r12
mov r14, qword [rsi + 0x100]
mov r12, qword [rsi + 0x108]
cmp r14, r12
je 0x180018c7d
lea rax, [rbp + 0x88]
mov qword [rbp + 8], rax
mov qword [rbp - 8], 0
nop dword [rax]
mov rdx, r14
lea rcx, [rbp + 0x68]
call fcn.18001d170
nop
xor ebx, ebx
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], rbx
lea rax, [rbp + 0x88]
mov qword [rbp + 0x10], rax
lea ecx, [rbx + 0x40]
call fcn.180067be8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x88], rax
lea rdx, [r14 + 0x20]
lea rcx, [rbp + 0x88]
call fcn.18001ea40
mov qword [rbp + 0x10], rbx
mov rdx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x180018aaa
mov rdx, qword [r13]
lea rcx, [rbp + 0x68]
cmp qword [rbp + 0x80], 0x10
cmovae rcx, qword [rbp + 0x68]
mov r8, qword [rbp + 0x78]
cmp r8, qword [r13 + 0x10]
jne 0x180018ad2
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180018ad2
mov bl, 1
jmp 0x180018ad4
xor bl, bl
mov rcx, r15
inc r15
call fcn.18000e730
lea rcx, [rbp + 0x68]
cmp qword [rbp + 0x80], 0x10
cmovae rcx, qword [rbp + 0x68]
lea r9, [rbp - 8]
xor r8d, r8d
movzx edx, bl
call fcn.18003b330
test al, al
je 0x180018bf3
lea rax, [rbp + 0x68]
cmp r13, rax
je 0x180018b2d
lea rdx, [rbp + 0x68]
cmp qword [rbp + 0x80], 0x10
cmovae rdx, qword [rbp + 0x68]
mov r8, qword [rbp + 0x78]
mov rcx, r13
call fcn.18001d6d0
lea rdi, [r13 + 0x20]
lea rax, [rbp + 0x88]
cmp rdi, rax
je 0x180018bf0
mov rbx, qword [rdi]
mov r8, qword [rbx + 8]
mov rdx, rdi
mov rcx, rdi
call fcn.18001e880
mov qword [rbx + 8], rbx
mov qword [rbx], rbx
mov qword [rbx + 0x10], rbx
mov qword [rdi + 8], 0
mov r8, qword [rdi]
mov rdx, qword [rbp + 0x88]
mov rdx, qword [rdx + 8]
mov rcx, rdi
call fcn.180020df0
mov rcx, qword [rdi]
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0x90]
mov qword [rdi + 8], rax
mov r8, qword [rdi]
mov rdx, qword [r8 + 8]
cmp byte [rdx + 0x19], 0
jne 0x180018be6
mov rcx, qword [rdx]
cmp byte [rcx + 0x19], 0
jne 0x180018bbf
nop dword [rax]
nop dword [rax + rax]
mov rdx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180018bb0
mov qword [r8], rdx
mov rdx, qword [rdi]
mov rcx, qword [rdx + 8]
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x180018be0
mov rcx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x180018bd3
mov qword [rdx + 0x10], rcx
jmp 0x180018bf0
mov qword [r8], r8
mov rax, qword [rdi]
mov qword [rax + 0x10], rax
mov dil, 1
mov rax, qword [0x1800a3510]
mov rcx, qword [rax + 0x1a18]
dec dword [rcx + 0xc0]
mov r8, qword [rbp + 0x88]
mov r8, qword [r8 + 8]
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x88]
call fcn.18001e880
mov edx, 0x40
mov rcx, qword [rbp + 0x88]
call fcn.180067b70
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x180018c70
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180018c6b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180018cbc
call fcn.180067b70
add r14, 0x30
cmp r14, r12
jne 0x180018a40
call fcn.18000f6d0
mov r8, qword [0x1800a3510]
mov rax, qword [r8 + 0x1a18]
mov byte [rax + 0x80], 1
mov rdx, qword [r8 + 0x1a18]
movsxd rcx, dword [rdx + 0x1a0]
lea eax, [rcx - 1]
mov dword [rdx + 0x1a0], eax
test eax, eax
jne 0x180018cc3
movss xmm0, dword [rdx + 0x258]
jmp 0x180018cd0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rax, qword [rdx + 0x1a8]
movss xmm0, dword [rax + rcx*4 - 8]
movss dword [rdx + 0x184], xmm0
test dil, dil
je 0x180018cf3
lea rdx, [rsi + 0x80]
mov rcx, rsi
call fcn.180019a80
mov r8, qword [0x1800a3510]
mov rax, qword [r8 + 0x1a18]
movss xmm0, dword [rax + 0xd4]
subss xmm0, dword [rax + 0x14]
addss xmm0, dword [rax + 0x58]
subss xmm0, xmm6
movss dword [0x1800a3c18], xmm0
cmp byte [rsi + 0x280], 0
je 0x180018d26
call fcn.18000f6d0
movzx r15d, byte [rsp + 0x40]
cmp byte [rsi + 0x280], 0
jne 0x180018d3b
call fcn.18000dc30
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x180018d79
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180018d74
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180018d74
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180067b70
movzx eax, r15b
jmp 0x180018d81
xor al, al
mov rcx, qword [rbp + 0xb8]
xor rcx, rsp
call fcn.1800675e0
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180015510
nop
call fcn.180015510
int3