Function at 0x140001490
Capabilities:
Terminate process

Disassembly:
push rbx
push rdi
sub rsp, 0x38
mov r8, qword [0x140008048]
mov rbx, qword [0x140008e60]
or rdi, 0xffffffffffffffff
test r8, r8
je 0x140001505
mov rax, rdi
inc rax
cmp byte [r8 + rax], 0
jne 0x1400014b1
mov rcx, rdi
nop
inc rcx
cmp byte [rbx + rcx], 0
jne 0x1400014c0
cmp ecx, eax
jle 0x140001505
movsxd r10, eax
movsxd r9, ecx
mov rax, r9
sub rax, r10
add rax, rbx
sub r8, rax
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400014f3
inc rax
test ecx, ecx
jne 0x1400014e0
test edx, edx
jne 0x140001505
sub r9, r10
mov byte [r9 + rbx], dl
mov rbx, qword [0x140008e60]
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp byte [rbx + rax], 0
jne 0x140001510
cmp rax, 0x18
jne 0x14000156e
lea rdx, str.0123456789ABCDEF
mov rcx, rbx
call qword [sym.imp.MSVCR120.dll_strspn]
cmp rax, 0x18
jne 0x140001567
mov rcx, qword [0x140008e60]
lea r10, [0x140008620]
sub r10, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [r10 + rcx - 1], al
test al, al
jne 0x140001550
add rsp, 0x38
pop rdi
pop rbx
ret
mov rbx, qword [0x140008e60]
mov rax, rdi
inc rax
cmp byte [rbx + rax], 0
jne 0x140001571
cmp rax, 0x20
jne 0x14000162f
lea rdx, str.0123456789ABCDEF
mov rcx, rbx
call qword [sym.imp.MSVCR120.dll_strspn]
mov rbx, qword [0x140008e60]
cmp rax, 0x18
jne 0x14000162f
lea rcx, [rbx + 0x18]
lea rdx, str..partial
call sub.MSVCR120.dll_strcmp
test eax, eax
jne 0x14000162f
xor r8d, r8d
lea rax, [rsp + 0x50]
lea r9, [rsp + 0x58]
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], r8d
lea rdx, str._08X_08X_08X.partial
lea r8, [rsp + 0x60]
mov rcx, rbx
mov dword [rsp + 0x60], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCR120.dll_sscanf]
cmp eax, 3
jne 0x1400016f0
mov eax, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x60]
lea r8, str._08X_08X_08X
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x58]
lea rcx, [0x140008620]
mov edx, 0x40
mov dword [rsp + 0x20], eax
call fcn.140002af0
add rsp, 0x38
pop rdi
pop rbx
ret
mov rax, rdi
inc rax
cmp byte [rbx + rax], 0
jne 0x140001632
cmp rax, 0x18
jbe 0x1400016f0
lea rdx, str.0123456789ABCDEF
mov rcx, rbx
call qword [sym.imp.MSVCR120.dll_strspn]
cmp rax, 0x18
jne 0x1400016f0
mov rcx, qword [0x140008e60]
nop word [rax + rax]
cmp byte [rcx + rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x140001670
xor r8d, r8d
lea r9, [rdi + rcx]
lea r10, str..backup
mov edx, r8d
nop dword [rax]
movzx eax, byte [r9 + rdx - 7]
inc rdx
cmp al, byte [r10 + rdx - 1]
jne 0x1400016f0
cmp rdx, 8
jne 0x140001690
lea rax, [rsp + 0x68]
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], r8d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x68], r8d
lea rax, [rsp + 0x50]
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x60]
lea rdx, str._08X_08X_08X._08X.backup
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x60], 1
call qword [sym.imp.MSVCR120.dll_sscanf]
cmp eax, 4
jmp 0x1400015f5
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, qword [0x140008e70]
lea rdx, str._s:_invalid_filename_input_n
lea rcx, [rax + 0x60]
call fcn.140002d10
call qword [sym.imp.MSVCR120.dll___iob_func]
mov r8, qword [0x140008e70]
lea rcx, [rax + 0x60]
lea rdx, str.Try___s___help__for_more_information._n
call fcn.140002d10
mov ecx, 2
call qword [sym.imp.MSVCR120.dll_exit]
int3