Function at 0x140032f70
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 - 0x490]
sub rsp, 0x590
mov rax, qword [0x140087048]
xor rax, rsp
mov qword [rbp + 0x480], rax
mov rdi, rdx
mov qword [rbp - 0x68], rdx
mov r12, rcx
mov qword [rsp + 0x50], rcx
xor esi, esi
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x18], 0xf
mov byte [rbp], sil
xor eax, eax
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rax
lea rdx, str.__.__
lea rcx, [rbp + 0x40]
call fcn.1400103c0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0x70], rsi
mov byte [rbp + 0x78], sil
movdqa xmmword [rbp + 0x80], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x90], xmm1
mov qword [rbp + 0xa0], rsi
mov byte [rbp + 0xa8], sil
movdqa xmmword [rbp + 0xb0], xmm0
mov byte [rbp + 0xc0], sil
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], rsi
mov byte [rbp + 0xd8], sil
lea r10, [rdi + 0x150]
cmp qword [r10 + 0x18], 0x10
jb 0x14003306d
mov r8, qword [r10]
mov rdx, r8
add rdx, qword [r10 + 0x10]
mov r10, r8
jmp 0x140033077
mov rdx, qword [r10 + 0x10]
add rdx, r10
mov r8, r10
mov qword [rsp + 0x28], r8
lea r9, [rbp + 0x40]
lea r8, [rbp + 0x70]
mov rcx, r10
call fcn.140010d90
test al, al
je 0x140033181
mov rcx, qword [rbp + 0x88]
mov r8, qword [rbp + 0x80]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
ja 0x1400330d6
lea rax, [rbp + 0xc8]
lea r8, [rbp + 0xd8]
jmp 0x1400330de
lea rax, [r8 + 0x18]
add r8, 0x28
cmp byte [r8], 0
je 0x1400330ee
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
jmp 0x1400330f7
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
cmp rdx, r8
jne 0x140033127
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
jmp 0x140033134
sub r8, rdx
lea rcx, [rsp + 0x30]
call fcn.140007670
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x14003316f
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003316a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400337ea
call fcn.14003dd70
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x10], xmm1
lea rcx, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rcx, qword [rbp]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rsi
mov qword [rbp + 0x38], rsi
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400331b0
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.140007670
nop
lea rdx, str.d_d
lea rcx, [0x140088ce0]
call fcn.1400073b0
lea rdx, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rdx, qword [rbp]
mov r8, qword [rbp + 0x10]
mov rcx, rax
call fcn.140007dd0
lea rcx, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rcx, qword [rbp]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x140033398
lea rax, [rbp - 0x40]
mov qword [rsp + 0x50], rax
lea rcx, [rbp - 0x40]
call qword [sym.imp.dpp.dll_class_std::function_void____cdecl___struct_dpp::confirmation_callback_t_const____ptr64_____cdecl_dpp::utility::log_error_void_]
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov r8d, 0x11
lea rdx, str.File_doesnt_exist
lea rcx, [rsp + 0x30]
call fcn.140007670
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::message_create_t::reply_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__bool__class_std::function_void____cdecl___struct_dpp::confirmation_callback_t_const____ptr64___const___ptr64]
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400332a1
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003329c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400337f6
call fcn.14003dd70
xor edx, edx
mov rcx, r12
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::message::constructor_class_dpp::cluster____ptr64____ptr64]
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1400332e8
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400332e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400337ea
call fcn.14003dd70
mov qword [rbp + 0x30], rsi
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
lea rcx, [rbp + 0x80]
call fcn.1400102a0
nop
lea rcx, [rbp + 0x40]
call fcn.1400106c0
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x140033330
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x140033330
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x14003336b
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140033366
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400337f0
call fcn.14003dd70
mov rax, r12
mov rcx, qword [rbp + 0x480]
xor rcx, rsp
call fcn.14003dd50
mov rbx, qword [rsp + 0x5e0]
add rsp, 0x590
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rbp - 0x60]
call fcn.14000f830
mov r13, rax
mov rsi, qword [rbp + 0x30]
movabs rax, 0x7fffffffffffffff
mov rcx, rax
sub rcx, rsi
cmp rcx, 9
jb 0x1400337fc
lea r15, [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
cmovae r15, qword [rbp + 0x20]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
lea r14, [rsi + 9]
mov ebx, 0xf
lea rdi, [rsp + 0x50]
cmp r14, rbx
jbe 0x14003346e
mov rbx, r14
or rbx, 0xf
cmp rbx, rax
jbe 0x140033405
mov rbx, rax
jmp 0x140033411
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
mov rcx, rbx
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x140033458
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140033802
mov rcx, rax
call fcn.14003dd78
test rax, rax
je 0x140033808
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140033469
test rcx, rcx
je 0x140033467
call fcn.14003dd78
mov rdi, rax
jmp 0x140033469
xor edi, edi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], rbx
movsd xmm0, qword [str.Uploaded]
movsd qword [rdi], xmm0
movzx eax, byte [0x14007a1d8]
mov byte [rdi + 8], al
lea rcx, [rdi + 9]
mov r8, rsi
mov rdx, r15
call fcn.1400401b0
mov byte [rdi + r14], 0
mov r8d, 6
lea rdx, str._from
lea rcx, [rsp + 0x50]
call fcn.140006e40
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
xor ebx, ebx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
mov r9, r13
lea r8, [rsp + 0x70]
lea rcx, [rsp + 0x30]
call fcn.14002c7f0
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, qword [rbp - 0x68]
mov rdx, qword [rdx + 0x48]
lea rcx, [rbp + 0xe0]
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::message::constructor_class_dpp::snowflake__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__enum_dpp::message_type____ptr64]
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140033547
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140033542
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003380e
call fcn.14003dd70
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140033597
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140033591
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140033814
call fcn.14003dd70
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x1400335d4
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400335cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003381a
call fcn.14003dd70
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140033622
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003361d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140033820
call fcn.14003dd70
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
xor r8d, r8d
lea rdx, [0x1400775f0]
lea rcx, [rsp + 0x70]
call fcn.140007670
nop
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call qword [sym.imp.dpp.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_dpp::utility::read_file_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64_]
nop
lea r9, [rsp + 0x70]
mov r8, rax
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0xe0]
call qword [sym.imp.dpp.dll_public:_struct_dpp::message____ptr64___cdecl_dpp::message::add_file_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1400336bc
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400336b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140033826
call fcn.14003dd70
movdqa xmm0, xmmword [0x14007a5f0]
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x40], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140033709
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140033704
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003382c
call fcn.14003dd70
lea rdx, [rbp + 0xe0]
mov rcx, r12
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::message::constructor_struct_dpp::message_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0xe0]
call qword [sym.imp.dpp.dll_public_virtual:_void___cdecl_dpp::message::destructor_void____ptr64]
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x140033763
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003375e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400337ea
call fcn.14003dd70
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
lea rcx, [rbp + 0x80]
call fcn.1400102a0
nop
lea rcx, [rbp + 0x40]
call fcn.1400106c0
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x1400337ab
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x1400337ab
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x14003336b
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140033366
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400337f0
jmp 0x140033366
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.140004270
int3
call fcn.1400041d0
int3
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
nop
call fcn.1400447b4
int3