Function at 0x140004324
Capabilities:
Timestomp file

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [0x140016010]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
inc dword [0x140026c3c]
xor r13d, r13d
mov al, byte [0x1400167ec]
mov ebx, r13d
mov r14, qword [rbp + 0x230]
mov r12b, r9b
mov dword [rsp + 0x70], ebx
mov r10, rdx
mov byte [rsp + 0x51], r9b
mov rdi, rcx
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x80], r8
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x78], r13d
test al, 8
jne 0x140004462
test al, 0x10
je 0x14000448e
test rcx, rcx
je 0x140004462
and r12b, 4
lea eax, [r13 + 0x22]
mov rbx, qword [rdi + 8]
cmp word [rbx], ax
jne 0x1400043e8
mov edx, eax
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
lea rdx, [rbx + 2]
mov word [rax], r13w
movzx eax, word [rdx]
mov word [rbx], ax
jmp 0x1400043e3
mov rcx, rdx
add rdx, 2
movzx eax, word [rdx]
mov word [rcx], ax
test ax, ax
jne 0x1400043d6
mov rdx, rbx
mov ecx, 5
call fcn.140003f70
test r12b, r12b
jne 0x140004451
lea rcx, [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, pe_nt_image_headers64
mov dword [rsp + 0x20], 3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140004451
lea r9, [rbp - 0x78]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFileTime]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rdi]
mov eax, 0x22
test rdi, rdi
jne 0x1400043b2
xor eax, eax
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1400106c0
mov rbx, qword [rsp + 0x328]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test rdx, rdx
je 0x140004b97
mov al, r12b
shr al, 6
and al, 1
mov byte [rsp + 0x60], al
or rsi, 0xffffffffffffffff
mov rcx, qword [r10 + 8]
lea r8, [rbp - 0x80]
mov r9b, al
lea rdx, [rbp - 0x68]
call fcn.14000857c
mov dil, al
mov dword [0x14002748c], r13d
mov rax, qword [rbp - 0x68]
mov r15b, r13b
mov qword [rsp + 0x58], rax
mov rcx, rax
movzx edx, word [rax]
cmp dx, 0x21
je 0x14000467e
cmp dx, 0x2d
je 0x1400045e8
cmp dx, 0x40
je 0x1400045d2
cmp dx, 0x5e
je 0x140004533
cmp dx, 0x20
je 0x140004682
cmp dx, 9
jne 0x140004567
cmp dx, 0x21
je 0x14000467e
cmp dx, 0x2d
je 0x1400045e8
cmp dx, 0x40
je 0x1400045d2
cmp dx, 0x5e
jne 0x140004682
add rcx, 2
mov qword [rsp + 0x58], rcx
cmp word [rcx], 0x20
je 0x14000454b
cmp word [rcx], 9
mov eax, r13d
jne 0x140004550
mov eax, 1
neg eax
sbb ax, ax
and ax, 0xffc2
add ax, 0x5e
cmp ax, 0x5e
jne 0x140004682
mov byte [rsp + 0x50], r15b
test r15b, 4
je 0x1400046df
mov rdx, qword [rbp - 0x80]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov r9b, r15b
mov r8b, r12b
mov qword [rsp + 0x20], r14
call fcn.140006768
test al, al
je 0x1400046da
mov rbx, qword [rsp + 0x58]
mov edx, 0x24
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x140004693
mov rcx, qword [rsp + 0x58]
lea r8, [rbp - 0x80]
mov dl, 0xff
call fcn.14000ec7c
mov qword [rsp + 0x58], rax
jmp 0x140004698
test byte [0x1400167ee], 4
jne 0x140004682
or r15b, 1
jmp 0x140004682
add rcx, 2
or r15b, 2
mov qword [rsp + 0x58], rcx
movzx ecx, word [rcx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswdigit]
test eax, eax
je 0x14000466c
mov rbx, qword [rsp + 0x58]
lea rdx, [rsp + 0x58]
mov rcx, rbx
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstoul]
mov dword [0x14002748c], eax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0x22
jne 0x140004648
mov rax, qword [rsp + 0x58]
mov r8, rbx
mov ecx, dword [0x140026c20]
mov edx, 0x436
mov word [rax], r13w
call fcn.140003e48
mov rax, qword [rsp + 0x58]
jmp 0x14000465d
mov rax, qword [rsp + 0x58]
add rax, 2
mov qword [rsp + 0x58], rax
movzx ecx, word [rax]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswspace]
test eax, eax
jne 0x14000464f
jmp 0x140004673
or dword [0x14002748c], 0xffffffff
mov rcx, qword [rsp + 0x58]
sub rcx, 2
jmp 0x140004682
or r15b, 4
add rcx, 2
mov qword [rsp + 0x58], rcx
movzx edx, word [rcx]
jmp 0x1400044d7
mov rax, qword [rsp + 0x58]
cmp rbx, rax
je 0x1400046a6
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ebx, dword [rsp + 0x70]
test r12b, 2
jne 0x140004b7f
cmp byte [0x140026c3b], r13b
je 0x140004b7f
test ebx, ebx
je 0x140004b7f
cmp ebx, dword [0x14002748c]
ja 0x140004ba1
jmp 0x140004b7f
mov rcx, qword [rsp + 0x58]
mov qword [rbp - 0x60], rcx
test dil, dil
jne 0x140004710
mov edx, 0x24
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rcx, qword [rsp + 0x58]
test rax, rax
je 0x140004710
lea r8, [rbp - 0x80]
mov dl, 0xff
call fcn.14000ec7c
mov rcx, rax
mov qword [rsp + 0x58], rax
mov rax, rsi
inc rax
cmp word [rcx + rax*2], r13w
jne 0x140004713
inc rax
mov ecx, 0x8000
cmp rax, rcx
mov ebx, ecx
cmova rbx, rax
mov eax, 2
mul rbx
cmovo rax, rsi
mov rcx, rax
call fcn.14000a014
mov r8, qword [rsp + 0x58]
mov rdx, rbx
mov rcx, rax
mov qword [rsp + 0x70], rax
mov r14, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov rsi, qword [rsp + 0x58]
lea r13, [r14 + rbx*2]
xor r10d, r10d
mov rdi, r14
movzx ecx, word [rsi]
test cx, cx
je 0x140004a30
mov r8, rsi
cmp rdi, r13
jae 0x140004a3b
mov eax, 0x25
cmp cx, ax
je 0x140004791
mov word [rdi], cx
jmp 0x1400047ca
add rsi, 2
cmp word [rsi], r10w
je 0x140004a0e
cmp word [rsi], ax
je 0x1400047c7
cmp word [rsi], 0x73
je 0x1400049e8
cmp word [rsi], 0x7c
je 0x1400047d3
mov word [rdi], ax
add rdi, 2
cmp rdi, r13
je 0x140004a3b
movzx eax, word [rsi]
mov word [rdi], ax
add rdi, 2
jmp 0x140004a11
mov r12b, r10b
mov word [rbp - 0x50], r10w
mov r15b, r10b
mov r14b, r10b
mov bl, r10b
mov rdx, rsi
add rsi, 2
movzx r9d, word [rsi]
mov ecx, r9d
test r9d, r9d
je 0x1400049c8
mov eax, 0x46
sub ecx, eax
je 0x14000482f
sub ecx, 0x1e
je 0x14000482b
sub ecx, 1
je 0x140004826
sub ecx, 1
je 0x140004821
cmp ecx, 0xa
jne 0x1400049e1
mov r14b, 1
jmp 0x140004841
mov r15b, 1
jmp 0x140004841
mov r12b, 1
jmp 0x140004841
mov bl, 1
jmp 0x140004841
cmp word [rsi - 2], 0x7c
jne 0x140004841
mov bl, 1
mov r14b, bl
mov r15b, bl
mov r12b, bl
cmp r9w, ax
jne 0x1400047e4
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x140004865
mov edx, 0x449
xor ecx, ecx
call fcn.140003e48
mov rax, qword [rsp + 0x68]
xor r10d, r10d
test bl, bl
je 0x14000489b
mov qword [rsp + 0x40], r10
lea rdx, [rbp - 0x50]
mov qword [rsp + 0x38], r10
xor r9d, r9d
mov qword [rsp + 0x30], r10
mov r8d, 0x104
mov qword [rsp + 0x28], r10
mov rcx, rax
mov qword [rsp + 0x20], r10
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wsplitpath_s]
xor r10d, r10d
or rbx, 0xffffffffffffffff
test r14b, r14b
je 0x1400048f6
lea rax, [rbp - 0x50]
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], r10w
jne 0x1400048ab
mov r14, qword [rsp + 0x68]
lea r9, [rbp - 0x50]
mov qword [rsp + 0x40], r10
lea r9, [r9 + rcx*2]
mov qword [rsp + 0x38], r10
mov eax, 0x104
sub rax, rcx
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], r10
mov rcx, r14
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wsplitpath_s]
xor r10d, r10d
jmp 0x1400048fb
mov r14, qword [rsp + 0x68]
test r15b, r15b
je 0x14000494e
lea rcx, [rbp - 0x50]
mov rax, rbx
inc rax
cmp word [rcx + rax*2], r10w
jne 0x140004907
mov qword [rsp + 0x40], r10
lea rdx, [rbp - 0x50]
mov qword [rsp + 0x38], r10
mov ecx, 0x104
sub rcx, rax
xor r9d, r9d
mov qword [rsp + 0x30], rcx
lea rax, [rdx + rax*2]
mov qword [rsp + 0x28], rax
mov rcx, r14
xor r8d, r8d
mov qword [rsp + 0x20], r10
xor edx, edx
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wsplitpath_s]
xor r10d, r10d
test r12b, r12b
je 0x1400049a1
lea rcx, [rbp - 0x50]
mov rax, rbx
inc rax
cmp word [rcx + rax*2], r10w
jne 0x14000495a
lea rdx, [rbp - 0x50]
mov ecx, 0x104
sub rcx, rax
xor r9d, r9d
mov qword [rsp + 0x40], rcx
lea rax, [rdx + rax*2]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], r10
xor edx, edx
mov qword [rsp + 0x28], r10
mov rcx, r14
mov qword [rsp + 0x20], r10
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wsplitpath_s]
xor r10d, r10d
cmp word [rbp - 0x50], r10w
je 0x140004a11
lea rcx, [rbp - 0x50]
sub rcx, rdi
cmp rdi, r13
jae 0x140004a11
movzx eax, word [rdi + rcx]
mov word [rdi], ax
add rdi, 2
cmp word [rdi + rcx], r10w
jne 0x1400049af
jmp 0x140004a11
mov rsi, rdx
jmp 0x1400049e1
cmp rdi, r13
jae 0x140004a11
movzx eax, word [r8]
mov word [rdi], ax
add rdi, 2
add r8, 2
cmp r8, rsi
jbe 0x1400049cd
jmp 0x140004a11
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140004a11
movzx ecx, word [rax]
test cx, cx
je 0x140004a11
cmp rdi, r13
jae 0x140004a11
mov word [rdi], cx
add rdi, 2
add rax, 2
jne 0x1400049f2
jmp 0x140004a11
mov rsi, r8
add rsi, 2
movzx ecx, word [rsi]
test cx, cx
jne 0x140004776
mov rsi, qword [rsp + 0x58]
mov r15b, byte [rsp + 0x50]
mov r12b, byte [rsp + 0x51]
cmp rdi, r13
jae 0x140004a4a
mov word [rdi], r10w
jmp 0x140004a5c
mov rsi, qword [rsp + 0x58]
mov r15b, byte [rsp + 0x50]
mov r12b, byte [rsp + 0x51]
mov r8, rsi
mov edx, 0x447
xor ecx, ecx
call fcn.140003e48
xor r10d, r10d
mov r13, qword [rsp + 0x70]
mov dil, r15b
shr dil, 1
mov sil, r12b
and dil, 1
and sil, 4
mov r14b, r12b
and r14b, 2
test sil, sil
je 0x140004adc
test r15b, 8
jne 0x140004adc
mov r8b, r10b
mov dl, 1
lea rax, [rbp - 0x70]
mov r9b, dil
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.140005f84
mov dword [rsp + 0x70], eax
mov ebx, eax
test r14b, r14b
jne 0x140004b35
cmp eax, 0x103
jne 0x140004b0d
cmp byte [0x140037ced], r14b
je 0x140004af7
cmp dword [rsp + 0x78], 0xa
jae 0x140004b11
mov r8, qword [rbp - 0x70]
mov edx, 0xfad
xor ecx, ecx
call fcn.140003e48
inc dword [rsp + 0x78]
xor r10d, r10d
jmp 0x140004a79
mov r8b, 1
test sil, sil
jne 0x140004a87
test r12b, 8
jne 0x140004aef
test r8b, r15b
je 0x140004a87
mov dl, r10b
mov r8b, 1
jmp 0x140004a89
mov r8, qword [rbp - 0x70]
mov edx, 0xfac
xor ecx, ecx
call fcn.140003e48
xor ebx, ebx
mov dword [rsp + 0x70], ebx
test ebx, ebx
je 0x140004b35
cmp ebx, dword [0x14002748c]
jbe 0x140004b35
cmp byte [0x140026c3b], 0
jne 0x140004b35
mov r8, qword [rbp - 0x70]
mov r9d, ebx
mov edx, 0x435
xor ecx, ecx
call fcn.140003e48
mov rcx, qword [rsp + 0x58]
cmp qword [rbp - 0x60], rcx
je 0x140004b46
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r13d, r13d
test r14b, r14b
jne 0x140004b76
cmp byte [0x140026c3b], r13b
je 0x140004b76
test ebx, ebx
je 0x140004b76
cmp ebx, dword [0x14002748c]
ja 0x140004ba1
mov r14, qword [rsp + 0x68]
or rsi, 0xffffffffffffffff
mov r10, qword [rbp - 0x78]
mov al, byte [rsp + 0x60]
mov r10, qword [r10]
mov qword [rbp - 0x78], r10
test r10, r10
jne 0x1400044a7
test r12b, 2
jne 0x140004462
cmp byte [0x140026c3b], r13b
je 0x140004462
cmp ebx, dword [0x14002748c]
jbe 0x140004462
mov eax, ebx
jmp 0x140004464