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

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x308]
sub rsp, 0x408
mov r15, rcx
mov r12, rdx
mov rcx, rdx
call fcn.140096fe0
mov rcx, rax
mov r14, rax
call fcn.140096f10
mov r9, r14
mov qword [rsp + 0x70], rax
sub r9, r12
xor r13d, r13d
sar r9, 1
mov rdi, rax
test r9d, r9d
je 0x1400a08f7
movsxd rcx, r9d
mov rdx, r12
lea rbx, [rcx + rcx]
mov r8, rbx
lea rcx, [rbp + 0xd0]
call fcn.1400b9e30
mov r9b, 1
mov word [rbp + rbx + 0xd0], r13w
xor r8d, r8d
lea rdx, [rbp + 0xd0]
lea rcx, [0x1401aa2e0]
call fcn.140094370
mov esi, r13d
cmp dword [r15 + 0x9e28], r13d
jle 0x1400a09ee
cmp esi, 0x1000
jge 0x1400a091e
movsxd rax, esi
add rax, 0x3c4
lea rax, [r15 + rax*8]
jmp 0x1400a0961
mov rax, qword [r15 + 0x9e20]
test rax, rax
jne 0x1400a0953
mov ecx, 0x8010
call fcn.1400b6058
test rax, rax
je 0x1400a0949
mov qword [rax + 0x8000], r13
mov qword [rax + 0x8008], r13
jmp 0x1400a094c
mov rax, r13
mov qword [r15 + 0x9e20], rax
lea edx, [rsi - 0x1000]
mov rcx, rax
call fcn.1400a03c0
mov rdi, qword [rax]
test rdi, rdi
je 0x1400a09da
mov rdx, qword [rdi]
test rdx, rdx
je 0x1400a09da
cmp word [rdx], r13w
je 0x1400a09da
mov rax, qword [rdi + 0xb8]
test rax, rax
jne 0x1400a0995
mov rcx, r12
call fcn.1400f579c
test eax, eax
je 0x1400a14b5
jmp 0x1400a09da
cmp byte [rax + 0x180], r13b
je 0x1400a09da
mov rbx, r13
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 0xb8]
mov rdx, qword [rbx + rax]
test rdx, rdx
je 0x1400a09d0
mov rcx, r12
call fcn.1400f579c
test eax, eax
je 0x1400a14b5
add rbx, 8
cmp rbx, 0x60
jl 0x1400a09b0
inc esi
cmp esi, dword [r15 + 0x9e28]
jl 0x1400a0907
mov rdi, qword [rsp + 0x70]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x3f0], xmm6
xor esi, esi
movaps xmmword [rsp + 0x3e0], xmm7
cmp byte [0x1401a9731], sil
mov dword [rbp + 0x368], esi
mov dword [rsp + 0x68], esi
movaps xmmword [rbp - 0x80], xmm0
movaps xmmword [rbp - 0x70], xmm0
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp], xmm0
jne 0x1400a0dd6
xor r9d, r9d
lea r8, [rsp + 0x6c]
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.1400adff0
test al, al
je 0x1400a0dd6
movzx ecx, word [rdi - 2]
mov rbx, rdi
sub rbx, r12
sar rbx, 1
sub ebx, dword [rsp + 0x60]
call fcn.1400f5614
test eax, eax
mov rdi, 0xffffffffffffffff
movsxd rax, ebx
mov r14, rdi
setne r15b
lea rcx, [rax + rax]
mov qword [rsp + 0x60], rcx
lea rax, [r12 + rax*2]
inc r14
cmp word [rax + r14*2], si
jne 0x1400a0a91
mov eax, dword [rsp + 0x6c]
lea r12, [rbp - 0x80]
add r14d, ebx
mov dword [rsp + 0x68], eax
mov rbx, qword [rbp + 0x358]
mov esi, 1
cmp esi, eax
jne 0x1400a0b05
movsxd rcx, r14d
mov eax, 2
add rcx, 8
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.1400b609c
mov qword [r12], rax
test rax, rax
je 0x1400a0c37
mov rdx, rbx
sub rax, rbx
nop dword [rax + rax]
movzx ecx, word [rdx]
mov word [rdx + rax], cx
lea rdx, [rdx + 2]
test cx, cx
jne 0x1400a0af0
jmp 0x1400a0c37
mov dl, 1
mov ecx, esi
call fcn.140027930
mov rdi, rax
test rax, rax
je 0x1400a0c30
mov r9, qword [rbp + 0x358]
lea rax, [rbp + 0xd0]
mov rdx, r9
sub rax, r9
nop
movzx ecx, word [rdx]
mov word [rdx + rax], cx
lea rdx, [rdx + 2]
test cx, cx
jne 0x1400a0b30
mov rbx, qword [rsp + 0x60]
lea rcx, [rbp + 0xd0]
mov r8, rbx
mov rdx, r9
call fcn.1400b9e30
movzx eax, word [rdi]
lea rbx, [rbp + rbx + 0xd0]
add rdi, 2
test ax, ax
je 0x1400a0b90
nop dword [rax + rax]
test r15b, r15b
je 0x1400a0b7d
movzx ecx, ax
call fcn.1400c91d4
mov word [rbx], ax
add rbx, 2
movzx eax, word [rdi]
add rdi, 2
test ax, ax
jne 0x1400a0b70
mov rcx, qword [rsp + 0x70]
sub rbx, rcx
nop dword [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rbx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400a0ba0
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rdi, 0xffffffffffffffff
cmp eax, 0xffffffff
je 0x1400a0c27
movsxd rcx, r14d
mov eax, 2
add rcx, 8
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.1400b609c
mov qword [r12], rax
test rax, rax
je 0x1400a0c27
lea rcx, [rbp + 0xd0]
sub rax, rcx
lea rdx, [rbp + 0xd0]
nop
movzx ecx, word [rdx]
mov word [rdx + rax], cx
lea rdx, [rdx + 2]
test cx, cx
jne 0x1400a0c00
mov ebx, dword [rbp + 0x368]
or dword [rsp + 0x68], esi
inc ebx
mov dword [rbp + 0x368], ebx
cmp ebx, 0xb
je 0x1400a0c54
mov rbx, qword [rbp + 0x358]
jmp 0x1400a0c37
mov rdi, 0xffffffffffffffff
mov eax, dword [rsp + 0x6c]
inc r13d
rol esi, 1
add r12, 8
cmp r13d, 0x12
jl 0x1400a0ab6
mov ebx, dword [rbp + 0x368]
xor esi, esi
test ebx, ebx
je 0x1400a0f15
cmp byte [0x1401a9730], sil
jne 0x1400a0f15
mov edx, edi
lea r8, [rbp - 0x80]
mov ebx, edi
mov ecx, esi
mov r9, qword [r8]
mov r10d, ebx
test r9, r9
je 0x1400a0c89
test edx, edx
mov eax, ecx
cmovns eax, edx
mov edx, eax
test r9, r9
mov ebx, ecx
cmove ebx, r10d
inc ecx
add r8, 8
cmp ecx, 0x12
jl 0x1400a0c75
movsxd rcx, edx
mov rcx, qword [rbp + rcx*8 - 0x80]
call fcn.140096fe0
mov rcx, rax
mov rdi, rax
call fcn.140096f10
movsxd rcx, ebx
mov rcx, qword [rbp + rcx*8 - 0x80]
call fcn.140096fe0
mov rcx, rax
mov rbx, rax
call fcn.140096f10
cmp dword [rbp + 0x368], 1
lea r9, [0x14012c34c]
mov rdx, rbx
lea r8, str.stereo
cmove rdx, r9
lea rcx, [0x1401520d0]
cmove rcx, rbx
mov qword [rsp + 0x38], rdx
cmp dword [rsp + 0x68], 3
lea rax, str.multi_channel
mov ebx, dword [rbp + 0x368]
lea rdx, str.Found__d_matching_mono_file_s_for_creating_a__s_pair__nWould_you_like_to_combine_them__n_n_s_n_s_n_s
cmove rax, r8
mov qword [rsp + 0x30], rcx
lea r8, reloc.WSOCK32.dll_WSAStartup
mov qword [rsp + 0x28], rdi
cmp ebx, 1
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0xd0]
cmovg r9, r8
mov r8d, ebx
call fcn.140010090
mov rcx, qword [0x1401a94b8]
lea rax, str.No___Never_
mov dword [rsp + 0x58], 1
lea r9, str.Yes___Always_
mov dword [rsp + 0x50], 2
lea r8, str.Combine_mono_files_into_a_multi_channel_pair_
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0xd0]
mov dword [rsp + 0x40], esi
lea rax, [0x140152658]
mov qword [rsp + 0x38], rax
lea rax, [0x140152660]
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
call fcn.140090950
mov r12, qword [rbp + 0x358]
test al, 1
mov r15, qword [rbp + 0x350]
mov ecx, esi
cmovne ecx, ebx
test al, 2
je 0x1400a0dd3
test ecx, ecx
je 0x1400a0f06
mov byte [0x1401a9730], 1
mov r13d, ecx
mov edx, 0x7f02
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
movss xmm7, dword [0x14012c8dc]
mov r14d, esi
mov qword [rsp + 0x70], rax
xorps xmm6, xmm6
mov dword [rbp + 0x358], esi
nop word [rax + rax]
mov r9d, 0xfffffffe
mov qword [rsp + 0x60], rsi
mov r8, r12
mov dword [rsp + 0x20], r14d
lea rdx, [rsp + 0x60]
lea rcx, [0x1401a9708]
call fcn.140022c80
mov ecx, eax
mov r10d, eax
shr ecx, 0x1f
not cl
test cl, 1
je 0x1400a0e51
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x70]
mov r10d, eax
mov eax, r10d
shr eax, 0x1f
test al, al
jne 0x1400a143b
mov rax, qword [rsp + 0x60]
mov ecx, 0xe0
mov ebx, dword [rax + 0x28c]
mov dword [rbp + 0x368], ebx
call fcn.1400b6058
mov rdi, rax
test rax, rax
je 0x1400a0f2f
mov qword [rax], rsi
xorps xmm0, xmm0
mov qword [rax + 8], rsi
mov dword [rax + 0x10], esi
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rsi
mov qword [rax + 0x28], 0
mov dword [rax + 0x30], esi
mov word [rax + 0x34], si
xor eax, eax
movups xmmword [rdi + 0x36], xmm0
movups xmmword [rdi + 0x46], xmm0
movups xmmword [rdi + 0x56], xmm0
movups xmmword [rdi + 0x66], xmm0
movups xmmword [rdi + 0x76], xmm0
movups xmmword [rdi + 0x86], xmm0
movups xmmword [rdi + 0x96], xmm0
mov qword [rdi + 0xa6], rax
mov dword [rdi + 0xae], eax
mov word [rdi + 0xb2], ax
mov qword [rdi + 0xb8], rsi
mov qword [rdi + 0xc0], rsi
mov qword [rdi + 0xc8], rsi
mov qword [rdi + 0xd0], rsi
mov byte [rdi + 0xd8], al
jmp 0x1400a0f32
mov byte [0x1401a9731], 1
mov r13d, esi
jmp 0x1400a0dd6
mov r12, qword [rbp + 0x358]
mov r13d, dword [rbp + 0x368]
mov r15, qword [rbp + 0x350]
jmp 0x1400a0dd6
mov rdi, rsi
mov edx, dword [r15 + 0x9e28]
lea rcx, [r15 + 0x1e20]
lea eax, [rdx + 1]
mov dword [rcx + 0x8008], eax
call fcn.1400a03c0
mov qword [rax], rdi
test rdi, rdi
je 0x1400a142b
mov r8, 0xffffffffffffffff
mov rcx, r8
inc rcx
cmp word [r12 + rcx*2], 0
jne 0x1400a0f64
inc rcx
mov eax, 2
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.1400b609c
mov qword [rdi], rax
mov rdx, r12
nop dword [rax]
movzx ecx, word [rdx]
lea rdx, [rdx + 2]
mov word [rax], cx
lea rax, [rax + 2]
test cx, cx
jne 0x1400a0f90
mov rcx, qword [rdi]
call fcn.140096fe0
mov rcx, rax
mov qword [rdi + 8], rax
call fcn.140096f10
mov dword [rdi + 0x10], r14d
cmp ebx, 1
jle 0x1400a1075
mov rcx, qword [rsp + 0x60]
mov edx, 4
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rbx, rax
test rax, rax
je 0x1400a0fe2
cmp word [rax], 0
jne 0x1400a0ffa
mov rcx, qword [rsp + 0x60]
mov edx, recv
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rbx, rax
test rax, rax
je 0x1400a1055
cmp word [rbx], 0
je 0x1400a1055
mov r8, 0xffffffffffffffff
mov rcx, r8
nop word [rax + rax]
inc rcx
cmp word [rbx + rcx*2], 0
jne 0x1400a1010
inc rcx
mov eax, 2
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.1400b609c
mov qword [rdi + 0x18], rax
nop word [rax + rax]
movzx ecx, word [rbx]
lea rbx, [rbx + 2]
mov word [rax], cx
lea rax, [rax + 2]
test cx, cx
jne 0x1400a1040
jmp 0x1400a1075
mov ecx, reloc.WSOCK32.dll_recv
call fcn.1400b609c
mov r8d, r14d
mov qword [rdi + 0x18], rax
lea rdx, [0x14014c5f8]
mov rcx, rax
call fcn.140010090
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x18]
mov qword [rdi + 0x20], rcx
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + 0x28]
mov dword [rdi + 0x28], ecx
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + 0x20]
mov dword [rdi + 0x2c], ecx
mov rbx, qword [rsp + 0x60]
mov eax, dword [rbx + 0x24]
test eax, eax
jne 0x1400a10af
mov ecx, dword [rbx + 0x20]
call fcn.140027e00
mov dword [rbx + 0x24], eax
mov dword [rdi + 0x30], eax
mov edx, 2
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x50]
lea rdx, [0x14012c34c]
mov r8d, 0x3f
test rax, rax
lea rcx, [rdi + 0x34]
cmovne rdx, rax
call fcn.1400281f0
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400a10f3
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
cmp dword [rdi + 0x2c], 1
jne 0x1400a120c
test r13d, r13d
je 0x1400a120c
mov rcx, qword [rdi + 0xb8]
test rcx, rcx
je 0x1400a1119
call fcn.1400b22d0
jmp 0x1400a113c
mov ecx, 0x188
call fcn.1400b6058
test rax, rax
je 0x1400a1132
mov rcx, rax
call fcn.1400b20f0
jmp 0x1400a1135
mov rax, rsi
mov qword [rdi + 0xb8], rax
mov r15d, esi
mov rbx, rsi
mov r14, qword [rbp + rsi*8 - 0x80]
test r14, r14
je 0x1400a1181
mov rcx, qword [rdi + 0xb8]
xor r9d, r9d
mov byte [rsp + 0x38], 1
mov r8, r14
movss dword [rsp + 0x30], xmm6
mov edx, r15d
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], r15d
call fcn.1400b5500
inc r15d
test rbx, rbx
cmovne rbx, r14
inc rsi
cmp rsi, 0x12
jl 0x1400a1142
test rbx, rbx
je 0x1400a11f7
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a119c
call fcn.1400b60a4
mov r8, 0xffffffffffffffff
mov rcx, r8
inc rcx
cmp word [rbx + rcx*2], 0
jne 0x1400a11a6
inc rcx
mov eax, 2
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.1400b609c
mov qword [rdi], rax
nop word [rax + rax]
movzx ecx, word [rbx]
lea rbx, [rbx + 2]
mov word [rax], cx
lea rax, [rax + 2]
test cx, cx
jne 0x1400a11d0
mov rcx, qword [rdi]
call fcn.140096fe0
mov rcx, rax
mov qword [rdi + 8], rax
call fcn.140096f10
mov eax, dword [rsp + 0x68]
mov r15, qword [rbp + 0x350]
mov r14d, dword [rbp + 0x358]
mov dword [rdi + 0x30], eax
mov rcx, qword [rdi + 0xb8]
test rcx, rcx
je 0x1400a121f
call fcn.1400b4190
jmp 0x1400a1222
mov eax, dword [rdi + 0x2c]
mov ecx, dword [rdi + 0x30]
cmp eax, 1
jl 0x1400a1234
test cl, 8
je 0x1400a1234
mov r8b, 1
jmp 0x1400a1237
xor r8b, r8b
mov edx, ecx
and edx, 0xfffffff7
test r8b, r8b
cmove edx, ecx
lea ecx, [rax - 1]
cmove ecx, eax
cmp ecx, 5
jl 0x1400a126b
mov eax, edx
and eax, 0x3f800
je 0x1400a126b
popcnt eax, eax
sub ecx, eax
movzx esi, r8b
and edx, 0xfffc07ff
add esi, 2
jmp 0x1400a126f
movzx esi, r8b
test ecx, ecx
jle 0x1400a1331
cmp ecx, 1
jne 0x1400a1283
mov ebx, ecx
jmp 0x1400a1333
cmp ecx, 2
jne 0x1400a128f
mov ebx, ecx
jmp 0x1400a1333
cmp ecx, 3
jne 0x1400a12a6
xor ebx, ebx
cmp edx, 0x103
sete bl
add ebx, ecx
jmp 0x1400a1333
cmp ecx, 4
jne 0x1400a12cb
lea eax, [rcx + 0xb]
cmp edx, 0x107
jne 0x1400a12bb
lea ebx, [rcx + 3]
jmp 0x1400a1338
xor ebx, ebx
cmp edx, 0x603
sete bl
add ebx, 5
jmp 0x1400a1338
cmp ecx, 5
jne 0x1400a12e0
xor ebx, ebx
cmp edx, 0x607
sete bl
add ebx, 8
jmp 0x1400a1333
cmp ecx, 6
jne 0x1400a1305
lea eax, [rcx + 9]
cmp edx, 0x6c3
jne 0x1400a12f5
lea ebx, [rcx + 6]
jmp 0x1400a1338
xor ebx, ebx
cmp edx, 0x137
sete bl
add ebx, 0xa
jmp 0x1400a1338
cmp ecx, 7
jne 0x1400a131a
xor ebx, ebx
cmp edx, 0x6c7
sete bl
add ebx, 0xd
jmp 0x1400a1333
cmp ecx, 8
jne 0x1400a1331
xor ebx, ebx
mov eax, recv
cmp edx, 0x7c7
cmove ebx, eax
jmp 0x1400a1338
xor ebx, ebx
mov eax, recv
mov rcx, qword [r15 + 0x1df8]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp + 0x10], eax
mov edx, 0x1004
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [r15 + 0x1df8]
lea r9, [rbp + 0x10]
shl esi, 8
xor r8d, r8d
mov dword [rbp + 0x1c], esi
mov edx, 0x104d
mov rsi, 0xffffffffffffffff
mov dword [rbp + 0x14], eax
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x88], rsi
mov dword [rbp + 0x18], 0
mov dword [rbp + 0x20], 0xf00
mov dword [rbp + 0x34], ebx
mov qword [rbp + 0x38], rdi
mov dword [rbp + 0x78], 1
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [r15 + 0x1df8]
lea r9, [rbp + 0x70]
movsxd rbx, eax
mov edx, 0x1074
mov r8, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [r15 + 0x1df8]
lea r9, [rbp + 0x70]
mov r8, rbx
mov dword [rbp + 0x78], 2
mov edx, 0x1074
mov qword [rbp + 0x88], rsi
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [r15 + 0x1df8]
lea r9, [rbp + 0x70]
mov r8, rbx
mov dword [rbp + 0x78], 3
mov edx, 0x1074
mov qword [rbp + 0x88], rsi
call qword [sym.imp.USER32.dll_SendMessageW]
inc r14d
mov esi, 0
mov dword [rbp + 0x358], r14d
cmp r14d, dword [rbp + 0x368]
jl 0x1400a0e10
jmp 0x1400a146d
lea rdx, str.Out_of_memory
xor ecx, ecx
call fcn.14009ebd0
jmp 0x1400a14a5
cmp byte [rbp + 0x360], 0
je 0x1400a1459
xor r9d, r9d
lea rdx, str.Add_file___Awave_Audio
mov r8, r12
mov ecx, r10d
call fcn.1400a4fb0
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400a146d
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
lea rbx, [rbp - 0x80]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400a147e
call fcn.1400b60a4
add rbx, 8
lea rax, [rbp + 0x10]
cmp rbx, rax
jne 0x1400a1471
mov rcx, qword [rsp + 0x70]
mov qword [r15 + 0x9e30], rsi
call qword [sym.imp.USER32.dll_SetCursor]
mov rcx, r15
call fcn.1400ab8d0
movaps xmm6, xmmword [rsp + 0x3f0]
movaps xmm7, xmmword [rsp + 0x3e0]
add rsp, 0x408
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret