Function at 0x140055170
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf0
mov rax, qword [0x140212c80]
xor rax, rsp
mov qword [rbp + 7], rax
mov r15, qword [rbp + 0x57]
mov qword [rbp - 0x49], r15
mov rbx, qword [rbp + 0x5f]
mov rsi, qword [rbp + 0x6f]
mov qword [rbp - 0x49], rsi
xor r12d, r12d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], rax
lea rcx, [rbp - 0x39]
call fcn.140054930
nop
mov r8, qword [rbp - 0x39]
mov r10, qword [rbp - 0x31]
cmp r8, r10
je 0x140055519
mov r11, qword [rbx + 0x18]
mov rdi, qword [rbx + 0x10]
nop
mov rax, rbx
cmp r11, 7
jbe 0x1400551fc
mov rax, qword [rbx]
mov rdx, qword [r8 + 0x10]
mov r9, r8
cmp qword [r8 + 0x18], 7
jbe 0x14005520d
mov r9, qword [r8]
cmp rdx, rdi
jne 0x1400554cc
test rdx, rdx
je 0x140055238
sub r9, rax
nop
movzx ecx, word [rax + r9]
cmp cx, word [rax]
jne 0x1400554cc
add rax, 2
sub rdx, 1
jne 0x140055220
cmp r8, r10
je 0x140055519
lea rcx, [rbp - 0x39]
call fcn.140025810
mov rdx, rbx
lea rcx, [rbp - 0x71]
call fcn.140053dc0
nop
mov rdx, rax
lea rcx, [rbp - 0x19]
call fcn.14004d370
nop
lea rcx, [rbp - 0x71]
call fcn.140025e80
cmp qword [rbp - 9], 0
je 0x1400554da
lea rcx, [rbp - 0x19]
cmp qword [rbp - 1], 7
cmova rcx, qword [rbp - 0x19]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400554da
test al, 0x10
jne 0x1400554da
lea rdx, [rbp - 0x19]
lea rcx, [rsp + 0x30]
call fcn.140025a20
mov rdx, rax
mov rcx, rsi
call fcn.14004cf70
mov rdi, qword [rbp + 0x67]
mov r14, qword [rdi + 0x10]
test r14, r14
je 0x140055368
cmp qword [rdi + 0x18], 7
jbe 0x1400552d1
mov rdi, qword [rdi]
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], r14
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.140031670
test rax, rax
jne 0x14005534a
lea rax, [rbp - 0x39]
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], 7
mov word [rbp - 0x39], r12w
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8, r14
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.1400258d0
nop
lea r8, [rbp - 0x39]
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.14004ce30
cmp rax, rbx
je 0x140055368
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 7
jbe 0x14005535d
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140025d30
cmp byte [rbp + 0x77], 0
je 0x1400553fa
lea rbx, str.silent
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 6
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.140031670
test rax, rax
jne 0x1400553fa
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r12w
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], r12
mov r8d, 6
mov rdx, rbx
lea rcx, [rbp - 0x39]
call fcn.1400258d0
nop
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x39]
mov rcx, rsi
call fcn.14004ce30
mov byte [r15 + 0x20], 0
cmp byte [rsi + 0x20], 0
je 0x140055439
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], r12
movups xmm0, xmmword [rsi]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r15 + 0x10], xmm1
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], 7
mov word [rsi], r12w
mov byte [r15 + 0x20], 1
mov rdx, qword [rsi + 0x38]
mov qword [rsi + 0x38], r12
mov rcx, qword [rsi + 0x30]
mov qword [rsi + 0x30], r12
mov rax, qword [rsi + 0x28]
mov qword [rsi + 0x28], r12
mov qword [r15 + 0x28], rax
mov qword [r15 + 0x30], rcx
mov qword [r15 + 0x38], rdx
mov r8, qword [rsi + 0x50]
mov qword [rsi + 0x50], r12
mov rdx, qword [rsi + 0x48]
mov qword [rsi + 0x48], r12
mov rax, qword [rsi + 0x40]
mov qword [rsi + 0x40], r12
mov qword [r15 + 0x40], rax
mov qword [r15 + 0x48], rdx
mov qword [r15 + 0x50], r8
lea rcx, [rbp - 0x19]
call fcn.140025e80
nop
lea rcx, [rsi + 0x40]
call fcn.140025810
lea rcx, [rsi + 0x28]
call fcn.14004cd80
cmp byte [rsi + 0x20], 0
je 0x1400554ab
mov rcx, rsi
call fcn.140025e80
mov rax, r15
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.140133600
add rsp, 0xf0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
add r8, 0x20
cmp r8, r10
je 0x140055519
jmp 0x1400551f0
lea rax, str.File_not_found.
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], reloc.WS2_32.dll_send
lea r9, [rbp - 0x19]
lea r8, [rsp + 0x20]
mov edx, 2
lea rcx, [rsp + 0x30]
call fcn.140054d30
lea rdx, [0x14020e468]
lea rcx, [rsp + 0x30]
call fcn.140135f84
nop
lea rax, str.Product_ID__is_invalid.
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0x1b
mov r9, rbx
lea r8, [rsp + 0x20]
mov edx, 0xb001
lea rcx, [rbp - 0x71]
call fcn.140054d30
lea rdx, [0x14020e468]
lea rcx, [rbp - 0x71]
call fcn.140135f84
int3