Function at 0x100002508
Capabilities:
Terminate process

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
sub rsp, 0x470
mov rax, qword [0x100005110]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov rsi, rcx
lea rcx, [r11 - 0x358]
call qword [sym.imp.ulib.dll_public:_void___cdecl_FSN_FILTER::constructor_void____ptr64]
mov rbx, qword [rsi + 0xe8]
lea rcx, [rsp + 0x200]
call qword [sym.imp.ulib.dll_public:_void___cdecl_PATH::constructor_void____ptr64]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ulib.dll_public:_static_class_FSN_DIRECTORY____ptr64___cdecl_SYSTEM::QueryDirectory_class_PATH_const____ptr64__unsigned_char_]
test rax, rax
jne 0x100002849
mov r8d, dword [rbx + 0x250]
test r8d, r8d
je 0x100002594
mov edx, dword [rbx + 0x24c]
lea rcx, [rbx + 0x218]
add edx, dword [rbx + 0x240]
call qword [sym.imp.ulib.dll_public:_class_WSTRING____ptr64___cdecl_WSTRING::QueryString_unsigned_long_int__unsigned_long_int_const___ptr64]
mov rdi, rax
jmp 0x100002596
xor edi, edi
test rdi, rdi
je 0x100002849
or r8d, 0xffffffff
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ulib.dll_public:_class_WSTRING____ptr64___cdecl_WSTRING::QueryString_unsigned_long_int__unsigned_long_int_const___ptr64]
mov rbp, rax
test rax, rax
je 0x100002849
mov r8, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [r8]
lea rcx, [rsp + 0x200]
mov r8b, 1
mov rdx, rbx
call qword [sym.imp.ulib.dll_public:_unsigned_char___cdecl_PATH::Initialize_class_PATH_const____ptr64__unsigned_char____ptr64]
lea rcx, [rsp + 0x200]
call qword [sym.imp.ulib.dll_public:_unsigned_char___cdecl_PATH::TruncateBase_void____ptr64]
lea rcx, [rsp + 0x200]
xor edx, edx
call qword [sym.imp.ulib.dll_public:_static_class_FSN_DIRECTORY____ptr64___cdecl_SYSTEM::QueryDirectory_class_PATH_const____ptr64__unsigned_char_]
test rax, rax
jne 0x100002618
lea r8, [rbx + 0x218]
lea r9d, [rax + 3]
mov edx, 0x5244
mov rcx, rsi
call fcn.100002004
int3
lea rcx, [rsp + 0x200]
mov qword [rsi + 0x108], rax
mov qword [rsi + 0x110], rbp
call qword [sym.imp.ulib.dll_public_virtual:_void___cdecl_PATH::destructor_void____ptr64]
mov rbx, qword [rsi + 0xf0]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ulib.dll_public:_static_class_FSN_DIRECTORY____ptr64___cdecl_SYSTEM::QueryDirectory_class_PATH_const____ptr64__unsigned_char_]
mov rbp, rax
test rax, rax
jne 0x100002667
lea r8, [rbx + 0x218]
lea r9d, [rax + 3]
mov edx, 0x5244
mov rcx, rsi
call fcn.100002004
int3
cmp byte [rsi + 0xfd], 0
je 0x10000272f
mov rax, qword [rsi]
xor r8d, r8d
mov edx, 0x5222
mov rcx, rsi
call qword [rax + 0x18]
call qword [sym.imp.ulib.dll_public:_static_unsigned_char___cdecl_KEYBOARD::GotABreak_void_]
test al, al
je 0x10000269b
mov ecx, 3
call qword [sym.imp.msvcrt.dll_exit]
int3
mov rcx, qword [rsi + 0x140]
call qword [sym.imp.ulib.dll_public:_unsigned_char___cdecl_KEYBOARD::DisableLineMode_void____ptr64]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + 0x30]
lea rdx, [rsp + 0x30]
xor r8d, r8d
mov r9, qword [rax]
mov rcx, rax
call qword [r9 + 0x28]
mov rcx, qword [rsi + 0x140]
call qword [sym.imp.ulib.dll_public:_unsigned_char___cdecl_KEYBOARD::EnableLineMode_void____ptr64]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + 0x38]
movzx edx, word [rsp + 0x30]
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x50]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + 0x38]
mov edx, 0xd
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x50]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + 0x38]
mov edx, 0xa
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x50]
mov ecx, 3
cmp word [rsp + 0x30], cx
jne 0x10000272f
call qword [sym.imp.msvcrt.dll_exit]
int3
mov rbx, qword [rsi + 0x110]
mov rdi, qword [rsi + 0x108]
lea rcx, [rsp + 0x40]
call qword [sym.imp.ulib.dll_public:_void___cdecl_FSN_FILTER::constructor_void____ptr64]
lea rcx, [rsp + 0x40]
call qword [sym.imp.ulib.dll_public:_unsigned_char___cdecl_FSN_FILTER::Initialize_void____ptr64]
lea rcx, [rsp + 0x40]
mov rdx, rbx
call qword [sym.imp.ulib.dll_public:_unsigned_char___cdecl_FSN_FILTER::SetFileName_class_WSTRING_const____ptr64____ptr64]
lea rcx, [rsp + 0x40]
mov r9d, 0x10
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ulib.dll_public:_unsigned_char___cdecl_FSN_FILTER::SetAttributes_unsigned_long_int__unsigned_long_int__unsigned_long_int____ptr64]
lea rdx, [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.ulib.dll_public:_class_ARRAY____ptr64___cdecl_FSN_DIRECTORY::QueryFsnodeArray_class_FSN_FILTER____ptr64_const___ptr64]
lea rcx, [rsp + 0x40]
mov rbx, rax
call qword [sym.imp.ulib.dll_public_virtual:_void___cdecl_FSN_FILTER::destructor_void____ptr64]
xor r8d, r8d
mov qword [rsi + 0x118], rbx
mov rdx, rbp
mov rcx, rsi
cmp byte [rsi + 0xfb], r8b
je 0x1000027fc
call fcn.10000286c
lea rcx, [rsp + 0x120]
call qword [sym.imp.ulib.dll_public:_unsigned_char___cdecl_FSN_FILTER::Initialize_void____ptr64]
xor r9d, r9d
lea rcx, [rsp + 0x120]
lea edx, [r9 + 0x10]
xor r8d, r8d
call qword [sym.imp.ulib.dll_public:_unsigned_char___cdecl_FSN_FILTER::SetAttributes_unsigned_long_int__unsigned_long_int__unsigned_long_int____ptr64]
lea r11, [fcn.10000286c]
lea r8, [rsp + 0x120]
xor r9d, r9d
mov rdx, rsi
mov rcx, rbp
mov qword [rsp + 0x20], r11
call qword [sym.imp.ulib.dll_public:_unsigned_char___cdecl_FSN_DIRECTORY::Traverse_void____ptr64__class_FSN_FILTER____ptr64__class_PATH____ptr64__unsigned_char____cdecl___void____ptr64__class_FSNODE____ptr64__class_PATH____ptr64__const___ptr64]
jmp 0x100002801
call fcn.10000286c
mov r8, qword [rbp]
mov edx, 1
mov rcx, rbp
call qword [r8]
lea rcx, [rsp + 0x120]
call qword [sym.imp.ulib.dll_public_virtual:_void___cdecl_FSN_FILTER::destructor_void____ptr64]
mov al, 1
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.1000032b0
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
lea r8, [rbx + 0x218]
mov edx, 0x523e
mov r9d, 2
mov rcx, rsi
call fcn.100002004
int3