Function at 0x14002e090
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
mov eax, 0x10c0
call fcn.14005ad00
sub rsp, rax
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov rax, qword [0x14007e090]
xor rax, rsp
mov qword [rsp + 0x10b0], rax
mov r13, r8
mov rbp, rdx
mov esi, ecx
xor edi, edi
cmp qword [0x140084c78], rdi
jne 0x14002e136
mov eax, dword [0x140084d88]
test al, 1
jne 0x14002e109
or eax, 1
mov dword [0x140084d88], eax
lea rdx, [fcn.14002e090]
lea rcx, [0x140084d60]
call fcn.14000f86c
lea rcx, [0x140062db8]
call fcn.140043200
nop
cmp qword [0x140084d78], rdi
je 0x14002e136
lea rcx, [0x140084d68]
cmp qword [0x140084d80], 8
cmovae rcx, qword [0x140084d68]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov qword [0x140084c78], rax
lea r14, [0x1400837c8]
mov ebx, 2
cmp esi, 4
je 0x14002e1ee
cmp word [0x1400835b8], di
je 0x14002e35a
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1400835b0]
cmp rax, rdi
je 0x14002e173
cmp rax, 0xffffffffffffffff
jne 0x14002e1e5
lea rcx, [0x1400835b8]
call fcn.140011bbc
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov edx, 0x40000000
lea r8d, [r9 + 1]
lea rcx, [0x1400835b8]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x1400835b0], rax
cmp rax, 0xffffffffffffffff
jne 0x14002e1c0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14002e35a
mov byte [rsp + 0x50], 0xff
mov byte [rsp + 0x51], 0xfe
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x54]
mov r8d, ebx
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov word [rsp + 0x70], di
xor edx, edx
lea r8d, [rdx + 0x3e]
lea rcx, [rsp + 0x72]
call fcn.1400452b0
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx r11d, word [rsp + 0x64]
movzx eax, word [rsp + 0x62]
movzx ecx, word [rsp + 0x60]
movzx edx, word [rsp + 0x5e]
movzx r8d, word [rsp + 0x5a]
movzx r9d, word [rsp + 0x58]
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], r8d
lea r8, str._04d__02d__02d__02d:_02d:_02d
mov edx, 0x20
lea rcx, [rsp + 0x70]
call qword [sym.imp.SHLWAPI.dll_wnsprintfW]
lea rax, str.prnt
lea r12, str.unknown
cmp esi, 4
cmove r12, rax
lea rax, [0x140068af8]
cmp esi, 3
cmove r12, rax
lea rax, str.warn
cmp esi, ebx
cmove r12, rax
lea rax, str.info
cmp esi, 1
cmove r12, rax
cmp rbp, rdi
je 0x14002e2aa
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x14002e2ac
mov eax, edi
mov rbx, qword [0x140084c78]
cmp eax, edi
cmovne rbx, rbp
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x70]
lea r8, str._s_thread_d__s__s:_s_r_n
mov edx, 0x800
lea rcx, [rsp + 0xb0]
call qword [sym.imp.SHLWAPI.dll_wnsprintfW]
cmp esi, 1
jbe 0x14002e304
lea rcx, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp esi, 4
je 0x14002e35a
mov qword [rsp + 0x58], r14
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
lea rcx, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r8d, [rax + rax]
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x54]
lea rdx, [rsp + 0xb0]
mov rcx, qword [0x1400835b0]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov edi, eax
call fcn.14002dd14
nop
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
mov rcx, qword [rsp + 0x10b0]
xor rcx, rsp
call fcn.140042a40
add rsp, 0x10c0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret