Function at 0x140044ac0
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 [0x14018a090]
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.1400219c0
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.140099eb0
lea rcx, [rsp + 0x40]
call fcn.140099eb0
lea rdx, [rbp - 0x69]
mov rcx, r14
call fcn.140022b50
nop
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
cmp dword [rax + 0x40], 6
jl 0x140044bdd
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
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.14001e890
cmp qword [rbp - 0x59], 0
jne 0x140044c85
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x140044bf5
mov rcx, qword [r14]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x140044d3e
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
cmp dword [rax + 0x40], 2
jl 0x140044d3e
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
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.14001e890
jmp 0x140044d3e
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.140098070
nop
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.140099cc0
movzx ebx, al
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140098070
nop
test bl, bl
jne 0x140044d3c
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
cmp dword [rax + 0x40], 2
jl 0x140044d3c
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
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.14001e890
xor ebx, ebx
lea rcx, [rbp - 0x69]
call fcn.140009080
mov rcx, qword [r15]
test rcx, rcx
je 0x140044d70
cmp dword [rcx], 4
jne 0x140044e47
movsd xmm1, qword [rcx + 8]
xorps xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x140044e73
jne 0x140044e73
xor r12d, r12d
test edi, edi
sete al
test edi, edi
jne 0x140044d86
mov dl, 1
mov rcx, r14
call fcn.140054760
test al, al
jne 0x1400453da
mov edx, 0xffffffff
lea rcx, [rbp - 9]
call fcn.14002b860
nop
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
cmp dword [rax + 0x40], 5
jl 0x140045310
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
mov rbx, rax
mov rdx, qword [r15]
test rdx, rdx
je 0x1400452d4
lea rcx, [rbp - 0x69]
call fcn.14009ffc0
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.140098070
bts esi, 8
lea rcx, [rbp - 0x69]
call fcn.140009080
mov r9, qword [rsp + 0x40]
jmp 0x1400452e0
cmp qword [rcx + 0x50], 0
jne 0x140044e73
mov rax, qword [rcx + 0x38]
cmp qword [rcx + 0x30], rax
jne 0x140044e73
cmp qword [rcx + 0x20], 0
jne 0x140044e73
movsd xmm1, qword [rcx + 8]
xorps xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x140044e73
je 0x140044d70
lea r12, [r13 + 0xa8]
mov qword [rbp - 0x79], r12
cmp r12, r14
je 0x140044e9c
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x140044e90
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, r12
call fcn.140008ee0
mov dword [r13 + 0xc8], ebx
mov qword [rsp + 0x40], rbx
lea rdx, str._pfc
lea rcx, [rsp + 0x40]
call fcn.140098070
nop
mov rbx, qword [r15]
test rbx, rbx
jne 0x140044ec6
xor edi, edi
jmp 0x140044f3a
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140044ef3
mov rcx, rax
mov rdx, rax
mov r8, qword [rax + 0x18]
cmp r8, 0x10
jb 0x140044ee3
mov rcx, qword [rax]
test rcx, rcx
je 0x140044ef3
cmp r8, 0x10
jb 0x140044efa
mov rdx, qword [rax]
jmp 0x140044efa
lea rdx, [0x14015892f]
xor edi, edi
mov qword [rbp - 0x69], rdi
movdqa xmm0, xmmword [0x140167e50]
movdqu xmmword [rbp - 0x59], xmm0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], dil
jne 0x140044f14
lea rcx, [rbp - 0x69]
call fcn.1400090e0
mov esi, ntohl
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.140098910
movzx ebx, al
test sil, 4
je 0x140044f4d
and esi, 0xfffffffb
lea rcx, [rbp - 0x69]
call fcn.140009080
nop
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140098070
nop
test bl, bl
je 0x140044fe9
mov qword [rsp + 0x40], rdi
lea rdx, str._pfc
lea rcx, [rsp + 0x40]
call fcn.140098070
nop
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.1400993e0
mov rbx, rax
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140098070
nop
mov rax, qword [rbx]
test rax, rax
je 0x140044fa6
cvttsd2si rbx, qword [rax + 8]
jmp 0x140044fa9
mov rbx, rdi
mov qword [rsp + 0x40], rdi
lea rdx, str._pfc
lea rcx, [rsp + 0x40]
call fcn.140098070
nop
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.1400998f0
nop
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140098070
nop
mov r9, rbx
xor r8d, r8d
mov rdx, r15
call fcn.14004edd0
mov qword [rsp + 0x40], rdi
lea rdx, str._command
lea rcx, [rsp + 0x40]
call fcn.140098070
nop
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.1400993e0
mov rbx, rax
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140098070
nop
mov rdx, qword [rbx]
test rdx, rdx
je 0x140045065
add rdx, 0x10
lea rcx, [rbp - 0x69]
call fcn.140007be0
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.140098070
or esi, 0x20
lea rcx, [rbp - 0x69]
call fcn.140009080
mov rax, qword [rsp + 0x48]
jmp 0x140045070
mov rax, rdi
mov qword [rsp + 0x48], rax
or esi, 0x20
or esi, 0x10
test rax, rax
je 0x14004509b
mov rcx, rax
mov rdx, rax
mov r8, qword [rax + 0x18]
cmp r8, 0x10
jb 0x14004508b
mov rcx, qword [rax]
test rcx, rcx
je 0x14004509b
cmp r8, 0x10
jb 0x1400450a2
mov rdx, qword [rax]
jmp 0x1400450a2
lea rdx, [0x14015892f]
mov qword [rbp - 0x69], rdi
movdqa xmm0, xmmword [0x140167e50]
movdqu xmmword [rbp - 0x59], xmm0
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400450c0
lea rcx, [rbp - 0x69]
call fcn.1400090e0
bts esi, 7
lea rcx, [rbp - 0x49]
call fcn.140009080
movups xmm0, xmmword [rbp - 0x69]
movups xmmword [rbp - 0x49], xmm0
movups xmm1, xmmword [rbp - 0x59]
movups xmmword [rbp - 0x39], xmm1
movdqa xmm0, xmmword [0x140167e50]
movdqu xmmword [rbp - 0x59], xmm0
mov byte [rbp - 0x69], 0
lea rcx, [rbp - 0x69]
call fcn.140009080
nop
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140098070
nop
mov r14, qword [r13 + 0x90]
mov rbx, qword [r14 + 8]
mov rdi, r14
cmp byte [rbx + 0x19], 0
jne 0x1400451b3
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 0x14004515e
mov rcx, qword [rcx]
mov r8, rdi
cmp r15, rdi
cmovb r8, r15
call fcn.1400fc630
test eax, eax
jne 0x140045185
cmp rdi, r15
jae 0x14004517d
mov eax, 0xffffffff
jmp 0x140045185
xor eax, eax
cmp rdi, r15
seta al
shr eax, 0x1f
test al, al
je 0x140045192
mov rbx, qword [rbx + 0x10]
jmp 0x140045198
mov r14, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x140045140
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 0x14004522c
lea r8, [r14 + 0x20]
lea rdx, [rbp - 0x49]
call fcn.14001f5d0
test al, al
jne 0x14004522c
cmp r14, rdi
je 0x14004522c
mov r8, qword [r14 + 0x40]
test r8, r8
je 0x140045228
mov ecx, dword [r14 + 0x50]
sub ecx, 1
je 0x14004521a
sub ecx, 1
je 0x140045209
cmp ecx, 1
jne 0x14004521a
mov rcx, qword [r8 + 0x38]
test rcx, rcx
je 0x140045416
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + reloc.WS2_32.dll_recv]
mov edi, eax
jmp 0x1400452a5
mov rdx, r15
mov rcx, qword [r14 + 0x48]
call r8
mov edi, eax
jmp 0x1400452a5
mov rdx, qword [r14 + 0x48]
mov rcx, r15
call r8
mov edi, eax
jmp 0x1400452a5
xor edi, edi
jmp 0x1400452a5
mov edi, 2
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
cmp dword [rax + 0x40], edi
jl 0x1400452a5
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
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.14001e890
mov rax, r12
cmp qword [r12 + 0x18], 8
jb 0x1400452b4
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 0x140044d73
mov r9, r12
mov qword [rsp + 0x40], r12
bts esi, 8
or esi, 1
mov dword [rsp + 0x48], esi
test r9, r9
je 0x1400452f8
cmp qword [r9 + 0x18], 0x10
jb 0x1400452fb
mov r9, qword [r9]
jmp 0x1400452fb
mov r9, r12
lea r8, str.command_data:__s
mov edx, 5
mov rcx, rbx
call fcn.14001e890
nop
test sil, 1
je 0x140045323
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140098070
nop
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
cmp dword [rax + 0x40], 2
jl 0x1400453c5
xor ecx, ecx
call fcn.140027000
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001c7c0]
mov rcx, rax
call fcn.1400272d0
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.14001e890
xor edx, edx
mov rcx, r14
call fcn.1400544e0
nop
lea rcx, [rbp - 9]
call fcn.140009080
nop
lea rcx, [rbp - 0x49]
call fcn.140009080
nop
lea rcx, [rbp - 0x29]
call fcn.140009080
mov eax, edi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400f9560
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.1400f748c
nop
int3