Function at 0x140109400
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rax + 8], rbx
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
mov rax, qword [0x14047b0a0]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov edi, r9d
mov rsi, r8
mov r13, rdx
mov qword [rbp - 0x80], rdx
mov rbx, qword [rbp + 0xe0]
xor r12d, r12d
mov qword [rsp + 0x68], r12
mov rcx, qword [0x1404929d0]
mov rax, qword [rcx]
mov r8d, dword [rbx + 0xc]
sub r8d, dword [rbx + 4]
mov edx, dword [rbx + 8]
sub edx, dword [rbx]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x28], r9
mov dword [rsp + 0x20], 2
lea r9, [0x140366940]
call qword [rax + 0x88]
mov rdx, qword [rsp + 0x68]
test rdx, rdx
jne 0x1401094cb
mov qword [r13], r12
jmp 0x140109a1b
mov dword [rsp + 0x60], SHDoDragDrop
mov dword [rsp + 0x64], 1
mov dword [rbp - 0x60], r12d
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x5c], rax
mov dword [rbp - 0x54], 0x42c00000
mov dword [rbp - 0x50], 0x42c00000
mov dword [rbp - 0x4c], 2
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp - 0x30], xmm0
movsd xmm1, qword [rbp - 0x50]
movsd qword [rbp - 0x20], xmm1
mov dword [rbp - 0x18], r12d
mov qword [rsp + 0x40], r12
mov rcx, qword [0x1404929c8]
mov rax, qword [rcx]
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x30]
call qword [rax + 0x68]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x180]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x178]
movd xmm0, dword [rbx]
cvtdq2ps xmm0, xmm0
movd xmm1, dword [rbx + 4]
cvtdq2ps xmm1, xmm1
movd xmm2, dword [rbx + 8]
cvtdq2ps xmm2, xmm2
movd xmm3, dword [rbx + 0xc]
cvtdq2ps xmm3, xmm3
movss dword [rbp - 0x40], xmm0
movss dword [rbp - 0x3c], xmm1
movss dword [rbp - 0x38], xmm2
movss dword [rbp - 0x34], xmm3
mov qword [rsp + 0x78], r12
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
movss xmm1, dword [0x1404155e4]
divss xmm0, xmm1
movss dword [rbp - 0x60], xmm0
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
divss xmm0, xmm1
movss dword [rbp - 0x5c], xmm0
movzx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm0, xmm1
movss dword [rbp - 0x58], xmm0
movss xmm11, dword [0x140415510]
mov dword [rbp - 0x54], 0x3f800000
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea r9, [rsp + 0x78]
xor r8d, r8d
lea rdx, [rbp - 0x60]
call qword [rax + 0x40]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov r8, qword [rsp + 0x78]
lea rdx, [rbp - 0x40]
call qword [rax + 0x88]
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xorps xmm13, xmm13
test eax, eax
je 0x14010997d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov rcx, qword [0x1404929d0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], r12d
mov r9d, 0x80000000
xor r8d, r8d
mov rdx, rsi
call qword [rax + ILCombine]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14010970d
mov qword [rsp + 0x48], r12
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
xor edx, edx
call qword [rax + 0x68]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140109701
mov qword [rsp + 0x50], r12
mov rcx, qword [0x1404929d0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [rax + 0x50]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1401096f0
mov rax, qword [rcx]
mov dword [rsp + 0x30], r12d
movsd qword [rsp + 0x28], xmm13
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [0x140366940]
mov rdx, qword [rsp + 0x48]
call qword [rax + 0x40]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea r9, [rsp + 0x58]
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
call qword [rax + Ordinal_41]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1401096fc
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14010970d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
cmp qword [rsp + 0x58], 0
je 0x14010995b
mov ebx, 4
cmp edi, 5
cmovb ebx, edi
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x48], r12d
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
call qword [rax + ILCombine]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea rdx, [rbp - 0x80]
call qword [rax + Ordinal_41]
mov r14d, dword [rbp - 0x80]
mov r15d, dword [rbp - 0x7c]
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x70], xmm1
test ebx, ebx
jne 0x140109858
mov ecx, dword [rsp + 0x50]
xorps xmm1, xmm1
movss xmm3, dword [0x1404154e8]
xorps xmm4, xmm4
cmp ecx, r14d
jb 0x1401097b9
sub ecx, r14d
mov eax, ecx
cvtsi2ss xmm1, rax
mulss xmm1, xmm3
movss dword [rbp - 0x60], xmm1
xorps xmm2, xmm2
cvtsi2ss xmm2, r14
movaps xmm0, xmm2
addss xmm0, xmm1
movss dword [rbp - 0x58], xmm0
addss xmm2, xmm4
movss dword [rbp - 0x68], xmm2
jmp 0x1401097ea
cvtsi2ss xmm1, rcx
movaps xmm0, xmm1
addss xmm0, xmm4
movss dword [rbp - 0x58], xmm0
sub r14d, ecx
mov eax, r14d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm3
movss dword [rbp - 0x70], xmm0
addss xmm1, xmm0
movss dword [rbp - 0x68], xmm1
mov ecx, dword [rsp + 0x48]
xorps xmm1, xmm1
cmp ecx, r15d
jb 0x140109822
sub ecx, r15d
mov eax, ecx
cvtsi2ss xmm1, rax
mulss xmm1, xmm3
movss dword [rbp - 0x5c], xmm1
xorps xmm2, xmm2
cvtsi2ss xmm2, r15
movaps xmm0, xmm2
addss xmm2, xmm4
movss dword [rbp - 0x64], xmm2
jmp 0x140109bde
cvtsi2ss xmm1, rcx
movaps xmm0, xmm1
addss xmm0, xmm4
movss dword [rbp - 0x54], xmm0
sub r15d, ecx
mov eax, r15d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm3
movss dword [rbp - 0x6c], xmm0
addss xmm1, xmm0
movss dword [rbp - 0x64], xmm1
jmp 0x140109be7
cmp ebx, 1
jne 0x140109a6d
xor edi, edi
test r14d, r14d
je 0x140109874
xor edx, edx
mov eax, dword [rsp + 0x50]
div r14d
mov r12d, eax
test r15d, r15d
je 0x140109884
xor edx, edx
mov eax, dword [rsp + 0x48]
div r15d
mov edi, eax
xor esi, esi
test r12d, r12d
js 0x140109958
xorps xmm12, xmm12
xor ebx, ebx
test edi, edi
js 0x14010994d
xorps xmm7, xmm7
cvtsi2ss xmm7, r14
movd xmm8, esi
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm7
movaps xmm9, xmm7
addss xmm9, xmm8
xorps xmm6, xmm6
cvtsi2ss xmm6, r15
addss xmm7, xmm12
movaps xmm10, xmm6
addss xmm10, xmm12
nop dword [rax]
nop word [rax + rax]
movss dword [rbp - 0x60], xmm8
movss dword [rbp - 0x58], xmm9
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
movss dword [rbp - 0x5c], xmm1
movaps xmm0, xmm6
addss xmm0, xmm1
movss dword [rbp - 0x54], xmm0
mov qword [rbp - 0x70], 0
movss dword [rbp - 0x68], xmm7
movss dword [rbp - 0x64], xmm10
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 1
movaps xmm3, xmm11
lea r8, [rbp - 0x60]
mov rdx, qword [rsp + 0x58]
call qword [rax + reloc.WLDAP32.dll_Ordinal_208]
inc ebx
cmp ebx, edi
jle 0x1401098e0
inc esi
cmp esi, r12d
jle 0x140109893
xor r12d, r12d
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14010996c
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14010997d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x188]
mov qword [rsp + 0x70], r12
mov rcx, qword [0x1404929d0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
call qword [rax + 0x50]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1401099df
mov rax, qword [rcx]
mov dword [rsp + 0x30], 1
movsd qword [rsp + 0x28], xmm13
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [0x140366940]
mov rdx, qword [rsp + 0x68]
call qword [rax + 0x40]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x70], r12
mov qword [r13], rcx
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1401099f9
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140109a0a
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140109a1b
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rax, r13
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401aed20
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp ebx, 2
jne 0x140109ac6
mov eax, dword [rsp + 0x50]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
xorps xmm2, xmm2
addss xmm0, xmm2
movss dword [rbp - 0x58], xmm0
mov eax, dword [rsp + 0x48]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm2
movss dword [rbp - 0x54], xmm0
xorps xmm1, xmm1
cvtsi2ss xmm1, r14
addss xmm1, xmm2
movss dword [rbp - 0x68], xmm1
xorps xmm0, xmm0
cvtsi2ss xmm0, r15
addss xmm0, xmm2
movss dword [rbp - 0x64], xmm0
jmp 0x140109be7
cmp ebx, 3
jne 0x140109c18
xorps xmm4, xmm4
xorps xmm2, xmm2
mov r8d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x48]
test edx, edx
je 0x140109b01
imul ecx, r8d, 0xffff
xorps xmm4, xmm4
cvtsi2ss xmm4, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
addss xmm0, xmm1
divss xmm4, xmm0
xorps xmm3, xmm3
test r15d, r15d
je 0x140109b28
cvtsi2ss xmm3, r15
imul ecx, r14d, 0xffff
xorps xmm2, xmm2
cvtsi2ss xmm2, rcx
movaps xmm0, xmm3
addss xmm0, xmm1
divss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, r14
addss xmm0, xmm1
movss dword [rbp - 0x68], xmm0
addss xmm3, xmm1
movss dword [rbp - 0x64], xmm3
xorps xmm3, xmm3
comiss xmm2, xmm4
jbe 0x140109b99
ucomiss xmm2, xmm1
jp 0x140109b51
je 0x140109b64
imul ecx, r8d, 0xffff
xorps xmm3, xmm3
cvtsi2ss xmm3, rcx
divss xmm3, xmm2
xorps xmm0, xmm0
cvtsi2ss xmm0, r8
addss xmm0, xmm1
movss dword [rbp - 0x58], xmm0
xorps xmm1, xmm1
cvtsi2ss xmm1, rdx
subss xmm1, xmm3
mulss xmm1, dword [0x1404154e8]
movss dword [rbp - 0x5c], xmm1
addss xmm1, xmm3
movss dword [rbp - 0x54], xmm1
jmp 0x140109be7
ucomiss xmm2, xmm1
jp 0x140109ba0
je 0x140109bb4
xorps xmm3, xmm3
cvtsi2ss xmm3, rdx
mulss xmm3, xmm2
divss xmm3, dword [0x1404155fc]
xorps xmm0, xmm0
cvtsi2ss xmm0, r8
subss xmm0, xmm3
mulss xmm0, dword [0x1404154e8]
movss dword [rbp - 0x60], xmm0
addss xmm0, xmm3
movss dword [rbp - 0x58], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
addss xmm0, xmm1
movss dword [rbp - 0x54], xmm0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 1
movaps xmm3, xmm11
lea r8, [rbp - 0x60]
mov rdx, qword [rsp + 0x58]
call qword [rax + reloc.WLDAP32.dll_Ordinal_208]
jmp 0x14010995b
cmp ebx, 4
jne 0x14010995b
mov eax, dword [rsp + 0x48]
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
xorps xmm4, xmm4
addss xmm2, xmm4
mov edx, dword [rsp + 0x50]
imul ecx, edx, 0xffff
xorps xmm3, xmm3
cvtsi2ss xmm3, rcx
divss xmm3, xmm2
imul ecx, r14d, 0xffff
xorps xmm8, xmm8
cvtsi2ss xmm8, rcx
xorps xmm6, xmm6
cvtsi2ss xmm6, r15
movaps xmm5, xmm6
addss xmm5, xmm4
movaps xmm1, xmm8
divss xmm1, xmm5
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
addss xmm0, xmm4
movss dword [rbp - 0x58], xmm0
movss dword [rbp - 0x54], xmm2
comiss xmm1, xmm3
jbe 0x140109cc4
mulss xmm3, xmm6
divss xmm3, dword [0x1404155fc]
xorps xmm0, xmm0
cvtsi2ss xmm0, r14
subss xmm0, xmm3
mulss xmm0, dword [0x1404154e8]
movss dword [rbp - 0x70], xmm0
addss xmm0, xmm3
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x64], xmm5
jmp 0x140109be7
xorps xmm7, xmm7
ucomiss xmm3, xmm4
jp 0x140109cce
je 0x140109cd6
movaps xmm7, xmm8
divss xmm7, xmm3
xorps xmm0, xmm0
cvtsi2ss xmm0, r14
addss xmm0, xmm4
movss dword [rbp - 0x68], xmm0
call fcn.140135f40
subss xmm6, xmm7
test al, al
je 0x140109cfe
divss xmm6, dword [0x1404155a0]
jmp 0x140109d06
mulss xmm6, dword [0x1404154e8]
movss dword [rbp - 0x6c], xmm6
addss xmm7, xmm6
movss dword [rbp - 0x64], xmm7
jmp 0x140109be7