Function at 0x1400451c0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov rax, qword [0x140189090]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r14, rdx
mov qword [rbp - 0x71], rdx
mov r13, rcx
mov qword [rsp + 0x50], rcx
xor ebx, ebx
mov esi, ebx
mov dword [rsp + 0x48], ebx
lea rdx, [rbp - 0x29]
mov rcx, r14
call fcn.1400220d0
nop
lea edi, [rbx + 3]
mov qword [rbp - 0x49], rbx
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x49], bl
mov qword [rsp + 0x40], rbx
lea r15, [r13 + 0xa0]
mov qword [rsp + 0x58], r15
mov rcx, r15
call fcn.140099270
lea rcx, [rsp + 0x40]
call fcn.140099270
lea rdx, [rbp - 0x69]
mov rcx, r14
call fcn.140023290
nop
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
cmp dword [rax + 0x40], 6
jl 0x1400452dd
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
lea rcx, [rbp - 0x69]
cmp qword [rbp - 0x51], 0x10
cmovae rcx, qword [rbp - 0x69]
lea r9, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae r9, qword [rbp - 0x29]
mov qword [rsp + 0x20], rcx
lea r8, str.ProcessUserEvent:_File:__s_nData:__s
lea edx, [rbx + 6]
mov rcx, rax
call fcn.14001efa0
cmp qword [rbp - 0x59], 0
jne 0x140045385
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x1400452f5
mov rcx, qword [r14]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x14004543e
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
cmp dword [rax + 0x40], 2
jl 0x14004543e
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
lea r9, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae r9, qword [rbp - 0x29]
lea r8, str.ProcessUserEvent:_Empty_file__s
mov edx, 2
mov rcx, rax
call fcn.14001efa0
jmp 0x14004543e
mov qword [rsp + 0x40], rbx
lea rdx, [rbp - 0x69]
cmp qword [rbp - 0x51], 0x10
cmovae rdx, qword [rbp - 0x69]
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.140099080
movzx ebx, al
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
test bl, bl
jne 0x14004543c
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
cmp dword [rax + 0x40], 2
jl 0x14004543c
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
lea r9, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae r9, qword [rbp - 0x29]
lea r8, str.ProcessUserEvent:_Cannot_parse_file__s
mov edx, 2
mov rcx, rax
call fcn.14001efa0
xor ebx, ebx
lea rcx, [rbp - 0x69]
call fcn.1400091f0
mov rcx, qword [r15]
test rcx, rcx
je 0x140045470
cmp dword [rcx], 4
jne 0x140045547
movsd xmm1, qword [rcx + 8]
xorps xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x140045573
jne 0x140045573
xor r12d, r12d
test edi, edi
sete al
test edi, edi
jne 0x140045486
mov dl, 1
mov rcx, r14
call fcn.140054f40
test al, al
jne 0x140045ada
mov edx, 0xffffffff
lea rcx, [rbp - 9]
call fcn.14002bbe0
nop
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
cmp dword [rax + 0x40], 5
jl 0x140045a10
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
mov rbx, rax
mov rdx, qword [r15]
test rdx, rdx
je 0x1400459d4
lea rcx, [rbp - 0x69]
call fcn.14009f410
bts esi, 9
mov qword [rsp + 0x40], r12
lea rdx, [rbp - 0x69]
cmp qword [rbp - 0x51], 0x10
cmovae rdx, qword [rbp - 0x69]
lea rcx, [rsp + 0x40]
call fcn.140097430
bts esi, 8
lea rcx, [rbp - 0x69]
call fcn.1400091f0
mov r9, qword [rsp + 0x40]
jmp 0x1400459e0
cmp qword [rcx + 0x50], 0
jne 0x140045573
mov rax, qword [rcx + 0x38]
cmp qword [rcx + 0x30], rax
jne 0x140045573
cmp qword [rcx + 0x20], 0
jne 0x140045573
movsd xmm1, qword [rcx + 8]
xorps xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x140045573
je 0x140045470
lea r12, [r13 + 0xa8]
mov qword [rbp - 0x79], r12
cmp r12, r14
je 0x14004559c
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x140045590
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, r12
call fcn.140009050
mov dword [r13 + 0xc8], ebx
mov qword [rsp + 0x40], rbx
lea rdx, str._pfc
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
mov rbx, qword [r15]
test rbx, rbx
jne 0x1400455c6
xor edi, edi
jmp 0x14004563a
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x1400455f3
mov rcx, rax
mov rdx, rax
mov r8, qword [rax + 0x18]
cmp r8, 0x10
jb 0x1400455e3
mov rcx, qword [rax]
test rcx, rcx
je 0x1400455f3
cmp r8, 0x10
jb 0x1400455fa
mov rdx, qword [rax]
jmp 0x1400455fa
lea rdx, [0x1401578ef]
xor edi, edi
mov qword [rbp - 0x69], rdi
movdqa xmm0, xmmword [0x140166ac0]
movdqu xmmword [rbp - 0x59], xmm0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], dil
jne 0x140045614
lea rcx, [rbp - 0x69]
call fcn.140009250
mov esi, DosDateTimeToVariantTime
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.140097cd0
movzx ebx, al
test sil, 4
je 0x14004564d
and esi, 0xfffffffb
lea rcx, [rbp - 0x69]
call fcn.1400091f0
nop
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
test bl, bl
je 0x1400456e9
mov qword [rsp + 0x40], rdi
lea rdx, str._pfc
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.1400987a0
mov rbx, rax
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
mov rax, qword [rbx]
test rax, rax
je 0x1400456a6
cvttsd2si rbx, qword [rax + 8]
jmp 0x1400456a9
mov rbx, rdi
mov qword [rsp + 0x40], rdi
lea rdx, str._pfc
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.140098cb0
nop
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
mov r9, rbx
xor r8d, r8d
mov rdx, r15
call fcn.14004f4c0
mov qword [rsp + 0x40], rdi
lea rdx, str._command
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.1400987a0
mov rbx, rax
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
mov rdx, qword [rbx]
test rdx, rdx
je 0x140045765
add rdx, 0x10
lea rcx, [rbp - 0x69]
call fcn.140007d50
or esi, 0x40
mov qword [rsp + 0x48], rdi
lea rdx, [rbp - 0x69]
cmp qword [rbp - 0x51], 0x10
cmovae rdx, qword [rbp - 0x69]
lea rcx, [rsp + 0x48]
call fcn.140097430
or esi, 0x20
lea rcx, [rbp - 0x69]
call fcn.1400091f0
mov rax, qword [rsp + 0x48]
jmp 0x140045770
mov rax, rdi
mov qword [rsp + 0x48], rax
or esi, 0x20
or esi, 0x10
test rax, rax
je 0x14004579b
mov rcx, rax
mov rdx, rax
mov r8, qword [rax + 0x18]
cmp r8, 0x10
jb 0x14004578b
mov rcx, qword [rax]
test rcx, rcx
je 0x14004579b
cmp r8, 0x10
jb 0x1400457a2
mov rdx, qword [rax]
jmp 0x1400457a2
lea rdx, [0x1401578ef]
mov qword [rbp - 0x69], rdi
movdqa xmm0, xmmword [0x140166ac0]
movdqu xmmword [rbp - 0x59], xmm0
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400457c0
lea rcx, [rbp - 0x69]
call fcn.140009250
bts esi, 7
lea rcx, [rbp - 0x49]
call fcn.1400091f0
movups xmm0, xmmword [rbp - 0x69]
movups xmmword [rbp - 0x49], xmm0
movups xmm1, xmmword [rbp - 0x59]
movups xmmword [rbp - 0x39], xmm1
movdqa xmm0, xmmword [0x140166ac0]
movdqu xmmword [rbp - 0x59], xmm0
mov byte [rbp - 0x69], 0
lea rcx, [rbp - 0x69]
call fcn.1400091f0
nop
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140097430
nop
mov r14, qword [r13 + 0x90]
mov rbx, qword [r14 + 8]
mov rdi, r14
cmp byte [rbx + 0x19], 0
jne 0x1400458b3
mov r12, qword [rbp - 0x31]
mov r15, qword [rbp - 0x39]
mov r13, qword [rbp - 0x49]
nop dword [rax]
lea rcx, [rbx + 0x20]
lea rdx, [rbp - 0x49]
cmp r12, 0x10
cmovae rdx, r13
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14004585e
mov rcx, qword [rcx]
mov r8, rdi
cmp r15, rdi
cmovb r8, r15
call fcn.1400fba80
test eax, eax
jne 0x140045885
cmp rdi, r15
jae 0x14004587d
mov eax, 0xffffffff
jmp 0x140045885
xor eax, eax
cmp rdi, r15
seta al
shr eax, 0x1f
test al, al
je 0x140045892
mov rbx, qword [rbx + 0x10]
jmp 0x140045898
mov r14, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x140045840
mov r13, qword [rsp + 0x50]
mov rdi, qword [r13 + 0x90]
mov r15, qword [rsp + 0x58]
mov r12, qword [rbp - 0x79]
cmp byte [r14 + 0x19], 0
jne 0x14004592c
lea r8, [r14 + 0x20]
lea rdx, [rbp - 0x49]
call fcn.14001fce0
test al, al
jne 0x14004592c
cmp r14, rdi
je 0x14004592c
mov r8, qword [r14 + 0x40]
test r8, r8
je 0x140045928
mov ecx, dword [r14 + 0x50]
sub ecx, 1
je 0x14004591a
sub ecx, 1
je 0x140045909
cmp ecx, 1
jne 0x14004591a
mov rcx, qword [r8 + 0x38]
test rcx, rcx
je 0x140045b16
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + reloc.WS2_32.dll_recv]
mov edi, eax
jmp 0x1400459a5
mov rdx, r15
mov rcx, qword [r14 + 0x48]
call r8
mov edi, eax
jmp 0x1400459a5
mov rdx, qword [r14 + 0x48]
mov rcx, r15
call r8
mov edi, eax
jmp 0x1400459a5
xor edi, edi
jmp 0x1400459a5
mov edi, 2
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
cmp dword [rax + 0x40], edi
jl 0x1400459a5
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
lea r9, [rbp - 0x49]
cmp qword [rbp - 0x31], 0x10
cmovae r9, qword [rbp - 0x49]
lea r8, str.ProcessUserEvent:_Unknown_command__s
mov edx, edi
mov rcx, rax
call fcn.14001efa0
mov rax, r12
cmp qword [r12 + 0x18], 8
jb 0x1400459b4
mov rax, qword [r12]
mov qword [r12 + 0x10], 0
xor r12d, r12d
mov word [rax], r12w
mov dword [r13 + 0xc8], r12d
mov r14, qword [rbp - 0x71]
jmp 0x140045473
mov r9, r12
mov qword [rsp + 0x40], r12
bts esi, 8
or esi, 1
mov dword [rsp + 0x48], esi
test r9, r9
je 0x1400459f8
cmp qword [r9 + 0x18], 0x10
jb 0x1400459fb
mov r9, qword [r9]
jmp 0x1400459fb
mov r9, r12
lea r8, str.command_data:__s
mov edx, 5
mov rcx, rbx
call fcn.14001efa0
nop
test sil, 1
je 0x140045a23
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140097430
nop
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
cmp dword [rax + 0x40], 2
jl 0x140045ac5
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
lea r10, [rbp - 9]
cmp qword [rbp + 0xf], 0x10
cmovae r10, qword [rbp - 9]
lea r8, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae r8, qword [rbp - 0x29]
lea r9, [rbp - 0x49]
cmp qword [rbp - 0x31], 0x10
cmovae r9, qword [rbp - 0x49]
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], edi
lea r8, str.ProcessUserEvent:_command__s_returned__d_errocode_for_file__s._Marking_it_as_invalid._system_error:__s
mov edx, 2
mov rcx, rax
call fcn.14001efa0
xor edx, edx
mov rcx, r14
call fcn.140054cc0
nop
lea rcx, [rbp - 9]
call fcn.1400091f0
nop
lea rcx, [rbp - 0x49]
call fcn.1400091f0
nop
lea rcx, [rbp - 0x29]
call fcn.1400091f0
mov eax, edi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400f89b0
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400f68dc
nop
int3