Function at 0x140159a40
Capabilities:
Acquire debug privileges
Link many functions at runtime

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x160], rbx
mov rax, qword [0x1403ad830]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rbx, rdx
mov rsi, rcx
mov qword [rsp + 0x28], rdx
movzx edx, byte [rcx]
test dl, dl
je 0x140159a95
lea rdx, [0x1402d078c]
mov rcx, rbx
call fcn.14001c950
jmp 0x14015a096
lea rdx, str.FugueFSFace.dll
lea rcx, [rsp + 0x58]
call fcn.14001c950
nop
mov dl, 1
lea rcx, [rbp - 0x58]
call fcn.14002ddd0
nop
lea r8, [rsp + 0x58]
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14001da00
nop
lea rcx, [rbp - 0x58]
call fcn.14001d440
nop
lea rcx, [rsp + 0x58]
call fcn.14001d440
lea rcx, [rsp + 0x30]
call fcn.140016010
test al, al
jne 0x140159b18
lea rdx, str.File_not_exist:
lea rcx, [rbp - 0x30]
call fcn.14001c950
nop
lea r8, [rsp + 0x30]
mov rdx, rax
mov rcx, rbx
call fcn.14001da00
nop
lea rcx, [rbp - 0x30]
call fcn.14001d440
jmp 0x14015a08c
lea rcx, [rsp + 0x30]
call fcn.14002aa20
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
jne 0x140159b84
lea rcx, [rsp + 0x30]
call fcn.14002aa20
mov rcx, rax
xor edx, edx
lea r8d, [rdi + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
test rax, rax
jne 0x140159b84
lea rdx, str.Load_dll_failed:
lea rcx, [rbp - 8]
call fcn.14001c950
nop
lea r8, [rsp + 0x30]
mov rdx, rax
mov rcx, rbx
call fcn.14001da00
nop
lea rcx, [rbp - 8]
call fcn.14001d440
jmp 0x14015a08c
lea rdx, str.ffs_get_error_desc
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 8], rax
test rax, rax
jne 0x140159ba9
lea rdx, str.GetProcAddress_failed:_ffs_get_error_desc
jmp 0x14015a083
lea rdx, str.ffs_get_disk_list
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x10], rax
test rax, rax
jne 0x140159bce
lea rdx, str.GetProcAddress_failed:_ffs_get_disk_list
jmp 0x14015a083
lea rdx, str.ffs_new
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x18], rax
test rax, rax
jne 0x140159bf3
lea rdx, str.GetProcAddress_failed:_ffs_get_new
jmp 0x14015a083
lea rdx, str.ffs_delete
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x20], rax
test rax, rax
jne 0x140159c18
lea rdx, str.GetProcAddress_failed:_ffs_delete
jmp 0x14015a083
lea rdx, str.ffs_is_user_password_set
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x28], rax
test rax, rax
jne 0x140159c3d
lea rdx, str.GetProcAddress_failed:_ffs_is_user_password_set
jmp 0x14015a083
lea rdx, str.ffs_check_user_password
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x30], rax
test rax, rax
jne 0x140159c62
lea rdx, str.GetProcAddress_failed:_ffs_check_user_password
jmp 0x14015a083
lea rdx, str.ffs_set_user_password
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x38], rax
test rax, rax
jne 0x140159c87
lea rdx, str.GetProcAddress_failed:_ffs_set_user_password
jmp 0x14015a083
lea rdx, str.ffs_change_user_password
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x40], rax
test rax, rax
jne 0x140159cac
lea rdx, str.GetProcAddress_failed:_ffs_change_user_password
jmp 0x14015a083
lea rdx, str.ffs_is_formated
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x48], rax
test rax, rax
jne 0x140159cd1
lea rdx, str.GetProcAddress_failed:_ffs_is_formated
jmp 0x14015a083
lea rdx, str.ffs_do_format
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x50], rax
test rax, rax
jne 0x140159cf6
lea rdx, str.GetProcAddress_failed:_ffs_do_format
jmp 0x14015a083
lea rdx, str.ffs_get_used_bytes
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x58], rax
test rax, rax
jne 0x140159d1b
lea rdx, str.GetProcAddress_failed:_ffs_get_used_bytes
jmp 0x14015a083
lea rdx, str.ffs_get_unuse_bytes
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x60], rax
test rax, rax
jne 0x140159d40
lea rdx, str.GetProcAddress_failed:_ffs_get_unuse_bytes
jmp 0x14015a083
lea rdx, str.ffs_get_size
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x68], rax
test rax, rax
jne 0x140159d65
lea rdx, str.GetProcAddress_failed:_ffs_get_size
jmp 0x14015a083
lea rdx, str.ffs_is_readonly
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x70], rax
test rax, rax
jne 0x140159d8a
lea rdx, str.GetProcAddress_failed:_ffs_is_readonly
jmp 0x14015a083
lea rdx, str.ffs_get_current_age
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x78], rax
test rax, rax
jne 0x140159daf
lea rdx, str.GetProcAddress_failed:_ffs_get_current_age
jmp 0x14015a083
lea rdx, str.ffs_get_stat
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x80], rax
test rax, rax
jne 0x140159dd7
lea rdx, str.GetProcAddress_failed:_ffs_get_stat
jmp 0x14015a083
lea rdx, str.ffs_create_dir
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x88], rax
test rax, rax
jne 0x140159dff
lea rdx, str.GetProcAddress_failed:_ffs_create_dir
jmp 0x14015a083
lea rdx, str.ffs_delete_file_or_dir
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x90], rax
cmp qword [rsi + 0x88], 0
jne 0x140159e2c
lea rdx, str.GetProcAddress_failed:_ffs_delete_file_or_dir
jmp 0x14015a083
lea rdx, str.ffs_is_exist_file
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x98], rax
test rax, rax
jne 0x140159e54
lea rdx, str.GetProcAddress_failed:_ffs_is_exist_file
jmp 0x14015a083
lea rdx, str.ffs_is_exist_dir
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xa0], rax
test rax, rax
jne 0x140159e7c
lea rdx, str.GetProcAddress_failed:_ffs_is_exist_dir
jmp 0x14015a083
lea rdx, str.ffs_rename_file_dir
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xa8], rax
test rax, rax
jne 0x140159ea4
lea rdx, str.GetProcAddress_failed:_ffs_rename_file_dir
jmp 0x14015a083
lea rdx, str.ffs_copy_file_from_os
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xb0], rax
test rax, rax
jne 0x140159ecc
lea rdx, str.GetProcAddress_failed:_ffs_copy_file_from_os
jmp 0x14015a083
lea rdx, str.ffs_copy_dir_from_os
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xb8], rax
test rax, rax
jne 0x140159ef4
lea rdx, str.GetProcAddress_failed:_ffs_copy_dir_from_os
jmp 0x14015a083
lea rdx, str.ffs_copy_file_to_os
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xc0], rax
test rax, rax
jne 0x140159f1c
lea rdx, str.GetProcAddress_failed:_ffs_copy_file_to_os
jmp 0x14015a083
lea rdx, str.ffs_copy_dir_to_os
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xc8], rax
test rax, rax
jne 0x140159f44
lea rdx, str.GetProcAddress_failed:_ffs_copy_dir_to_os
jmp 0x14015a083
lea rdx, str.ffs_copy_file
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xd0], rax
test rax, rax
jne 0x140159f6c
lea rdx, str.GetProcAddress_failed:_ffs_copy_file
jmp 0x14015a083
lea rdx, str.ffs_copy_dir
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xd8], rax
test rax, rax
jne 0x140159f94
lea rdx, str.GetProcAddress_failed:_ffs_copy_dir
jmp 0x14015a083
lea rdx, str.ffs_move_file
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xe0], rax
test rax, rax
jne 0x140159fbc
lea rdx, str.GetProcAddress_failed:_ffs_move_file
jmp 0x14015a083
lea rdx, str.ffs_get_file_attr
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xe8], rax
test rax, rax
jne 0x140159fe4
lea rdx, str.GetProcAddress_failed:_ffs_get_file_attr
jmp 0x14015a083
lea rdx, str.ffs_get_sector_size
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xf0], rax
test rax, rax
jne 0x14015a009
lea rdx, str.GetProcAddress_failed:_ffs_get_sector_size
jmp 0x14015a083
lea rdx, str.ffs_create_ffs_disk
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xf8], rax
test rax, rax
jne 0x14015a02e
lea rdx, str.GetProcAddress_failed:_ffs_create_ffs_disk
jmp 0x14015a083
lea rdx, str.ffs_snap
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0x100], rax
test rax, rax
jne 0x14015a053
lea rdx, str.GetProcAddress_failed:_ffs_snap
jmp 0x14015a083
lea rdx, str.SeDebugPrivilege
lea rcx, [rbp - 0x80]
call fcn.14001c950
nop
mov dl, 1
lea rcx, [rbp - 0x80]
call fcn.14002eca0
nop
lea rcx, [rbp - 0x80]
call fcn.14001d440
mov byte [rsi], 1
lea rdx, [0x1402d078c]
mov rcx, rbx
call fcn.14001c950
nop
lea rcx, [rsp + 0x30]
call fcn.14001d440
mov rax, rbx
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.140283120
mov rbx, qword [rsp + 0x160]
add rsp, 0x130
pop rdi
pop rsi
pop rbp
ret