Function at 0x140146690
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov rax, qword [0x1405f98c0]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov qword [rsp + 0x68], r8
mov r12, rdx
xor edi, edi
mov r13d, edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x38], edi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
lea rdx, [0x140891120]
lea rcx, [rsp + 0x40]
call fcn.1400eb140
nop
lea rcx, [rsp + 0x40]
call fcn.1400f1ea0
movzx r15d, al
mov rsi, qword [rsp + 0x48]
test rsi, rsi
je 0x1401467b5
mov r14, qword [rsp + 0x50]
cmp rsi, r14
je 0x14014677c
lea rbx, [rsi + 0x18]
nop
mov rdx, qword [rbx]
cmp rdx, 0xf
jbe 0x14014675a
mov rcx, qword [rbx - 0x18]
inc rdx
cmp rdx, 0x1000
jb 0x140146755
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140147239
mov rcx, r8
call fcn.1403e3650
mov qword [rbx - 8], 0
mov qword [rbx], recv
mov byte [rbx - 0x18], 0
add rbx, 0x20
lea rax, [rbx - 0x18]
cmp rax, r14
jne 0x140146720
xor edi, edi
mov rdx, qword [rsp + 0x58]
sub rdx, rsi
and rdx, 0xffffffffffffffe0
mov rax, rsi
cmp rdx, 0x1000
jb 0x1401467ad
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140147239
mov rcx, rsi
call fcn.1403e3650
mov byte [r12], r15b
test r15b, r15b
je 0x1401471fb
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x40]
call fcn.140188ad0
test al, al
jne 0x14014687e
lea r9, str.bnet:_failed_to_list_uninstalled_apps
lea r8, str.BNETGAMEPROVIDER
mov edx, 4
call fcn.1400c6f10
nop
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x140146877
mov rdi, qword [rsp + 0x48]
cmp rbx, rdi
je 0x140146829
nop
mov rcx, rbx
call fcn.1401310b0
add rbx, 0x110
cmp rbx, rdi
jne 0x140146810
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
sub rax, rbx
sar rax, 4
movabs rcx, 0xf0f0f0f0f0f0f0f1
imul rax, rcx
imul rdx, rax, 0x110
mov rax, rbx
cmp rdx, 0x1000
jb 0x14014686f
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014723f
mov rcx, rbx
call fcn.1403e3650
xor al, al
jmp 0x1401471fd
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x70], rbx
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x78], rax
cmp rbx, rax
je 0x1401471f1
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [rbp + 0x20]
call fcn.1400ed1c0
nop
lea rdx, [rbx + 0x20]
lea rcx, [rbp + 0x40]
call fcn.1400ed1c0
nop
lea rdx, [rbx + 0x40]
lea rcx, [rbp + 0x60]
call fcn.1400ed1c0
nop
mov eax, dword [rbx + 0x60]
mov dword [rbp + 0x80], eax
lea rdx, [rbx + 0x68]
lea rcx, [rbp + 0x88]
call fcn.1400ed060
movzx eax, byte [rbx + 0x80]
mov byte [rbp + 0xa0], al
mov eax, dword [rbx + 0x88]
mov dword [rbp + 0xa8], eax
lea rdx, [rbx + 0x90]
lea rcx, [rbp + 0xb0]
call fcn.1400ed060
movzx eax, byte [rbx + 0xa8]
mov byte [rbp + 0xc8], al
lea rdx, [rbx + 0xb0]
lea rcx, [rbp + 0xd0]
call fcn.1400ed1c0
nop
lea rdx, [rbx + 0xd0]
lea rcx, [rbp + 0xf0]
call fcn.1400ed1c0
nop
lea rdx, [rbx + 0xf0]
lea rcx, [rbp + 0x110]
call fcn.1400ed1c0
nop
cmp qword [rbp + 0xe0], 0
je 0x140147161
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x80]
call fcn.1400eb020
cmp qword [rax + 0x18], 7
jbe 0x140146982
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
mov rdx, qword [rbp + 0x168]
cmp rdx, 7
jbe 0x1401469d3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401469ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140147245
call fcn.1403e3650
cmp ebx, 0xffffffff
je 0x140147161
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x180], rdi
mov qword [rbp + 0x188], rdi
mov r8d, 4
lea rdx, str.Test
lea rcx, [rbp + 0x170]
call fcn.1400c71d0
nop
or r13d, 1
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x38], r13d
mov r15, qword [rbp + 0x188]
mov rsi, qword [rbp + 0x170]
mov r14, qword [rbp + 0x30]
mov r10, qword [rbp + 0x180]
cmp r14, r10
jb 0x140146ae0
mov rdx, r14
sub rdx, r10
cmp r14, rdx
jb 0x14014724b
lea rcx, [rbp + 0x170]
cmp r15, 7
cmova rcx, rsi
mov rax, r14
sub rax, rdx
mov r11, r10
cmp rax, r10
cmovb r11, rax
lea rax, [rbp + 0x20]
mov r12, qword [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova rax, r12
lea r9, [rax + rdx*2]
mov rax, r11
cmp r10, r11
cmovb rax, r10
test rax, rax
je 0x140146aa7
sub r9, rcx
movzx edx, word [rcx + r9]
cmp dx, word [rcx]
jne 0x140146ab3
add rcx, 2
sub rax, 1
jne 0x140146a93
cmp r11, r10
jae 0x140146ac2
mov eax, 0xffffffff
jmp 0x140146ac7
mov eax, 1
mov ecx, 0xffffffff
cmovb eax, ecx
jmp 0x140146ac7
mov eax, edi
seta al
test eax, eax
jne 0x140146ae0
mov rdi, qword [rbp + 0x148]
mov r11, qword [rbp + 0x130]
mov bl, 1
jmp 0x140146be1
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x140], rdi
mov qword [rbp + 0x148], rdi
mov r8d, 4
lea rdx, str.Beta
lea rcx, [rbp + 0x130]
call fcn.1400c71d0
nop
or r13d, 2
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x38], r13d
mov r12, qword [rbp + 0x20]
mov rdi, qword [rbp + 0x148]
mov r11, qword [rbp + 0x130]
mov r14, qword [rbp + 0x30]
mov r10, qword [rbp + 0x140]
cmp r14, r10
jb 0x140146bdf
mov rdx, r14
sub rdx, r10
cmp r14, rdx
jb 0x140147251
lea rcx, [rbp + 0x130]
cmp rdi, 7
cmova rcx, r11
mov rax, r14
sub rax, rdx
mov rbx, r10
cmp rax, r10
cmovb rbx, rax
lea rax, [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova rax, r12
lea r9, [rax + rdx*2]
mov rax, rbx
cmp r10, rbx
cmovb rax, r10
test rax, rax
je 0x140146bb4
sub r9, rcx
nop word [rax + rax]
movzx edx, word [r9 + rcx]
cmp dx, word [rcx]
jne 0x140146bc0
add rcx, 2
sub rax, 1
jne 0x140146ba0
cmp rbx, r10
jae 0x140146bcf
mov eax, 0xffffffff
jmp 0x140146bd7
mov eax, 1
mov ecx, 0xffffffff
cmovb eax, ecx
jmp 0x140146bd7
xor eax, eax
cmp rbx, r10
seta al
test eax, eax
jne 0x140146bdf
mov bl, 1
jmp 0x140146be1
xor bl, bl
test r13b, 2
je 0x140146c33
and r13d, 0xfffffffd
mov dword [rsp + 0x30], r13d
cmp rdi, 7
jbe 0x140146c33
lea rdx, [rdi*2 + 2]
mov rax, r11
cmp rdx, 0x1000
jb 0x140146c23
add rdx, 0x27
mov r11, qword [r11 - 8]
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140147227
mov rcx, r11
call fcn.1403e3650
mov r14, qword [rbp + 0x30]
mov r12, qword [rbp + 0x20]
test r13b, 1
je 0x140146c85
and r13d, 0xfffffffe
mov dword [rsp + 0x30], r13d
cmp r15, 7
jbe 0x140146c85
lea rdx, [r15*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140146c75
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014722d
mov rcx, rsi
call fcn.1403e3650
mov r14, qword [rbp + 0x30]
mov r12, qword [rbp + 0x20]
test bl, bl
jne 0x140147161
mov rbx, qword [0x140891108]
mov r9, qword [0x140891110]
cmp rbx, r9
je 0x140146ded
cmp qword [rbp + 0x38], 7
seta r10b
nop dword [rax]
lea rax, [rbp + 0x20]
test r10b, r10b
cmovne rax, r12
mov rdx, qword [rbx + 0x68]
lea r8, [rbx + 0x58]
cmp qword [rbx + 0x70], 7
jbe 0x140146ccd
mov r8, qword [r8]
cmp rdx, r14
jne 0x140146cf6
test rdx, rdx
je 0x140146d02
sub r8, rax
nop word [rax + rax]
movzx ecx, word [r8 + rax]
cmp cx, word [rax]
jne 0x140146cf6
add rax, 2
sub rdx, 1
jne 0x140146ce0
jmp 0x140146d02
add rbx, 0x150
cmp rbx, r9
jne 0x140146cb0
cmp rbx, r9
je 0x140146ded
lea rcx, [rbp + 0x110]
cmp qword [rbp + 0x128], 7
cmova rcx, qword [rbp + 0x110]
mov r9, qword [rbp + 0x120]
mov r8d, reloc.WS2_32.dll_shutdown
cmp r9, r8
cmovb r8, r9
test r8, r8
je 0x140146d58
lea rdx, str.Blizzard_Entertainment
sub rdx, rcx
movzx eax, word [rdx + rcx]
cmp ax, word [rcx]
jne 0x140146d62
add rcx, 2
sub r8, 1
jne 0x140146d45
cmp r9, 0x16
je 0x140147161
mov ecx, 0x150
call fcn.1403e3660
mov qword [rbp - 0x10], rax
mov rdx, rbx
mov rcx, rax
call fcn.140148130
mov rdx, rax
or r13d, 4
mov dword [rsp + 0x30], r13d
mov qword [rbp + 0x150], 0
test rax, rax
je 0x140146da6
mov rax, qword [rax + 8]
movsxd rax, dword [rax + 4]
add rax, 8
add rax, rdx
mov qword [rsp + 0x38], rax
mov r9, qword [rsp + 0x68]
mov rdx, qword [r9 + 8]
cmp rdx, qword [r9 + 0x10]
je 0x140146dc6
xor ecx, ecx
mov qword [rdx], rax
add qword [r9 + 8], 8
jmp 0x140146dd8
lea r8, [rsp + 0x38]
mov rcx, r9
call fcn.14011e260
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140146de8
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
jmp 0x140147161
xor r15d, r15d
mov qword [rbp - 0x80], r15
mov byte [rbp - 0x78], r15b
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x60], xmm1
mov qword [rbp - 0x50], r15
mov byte [rbp - 0x48], r15b
movdqa xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x30], r15b
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], r15
mov byte [rbp - 0x18], r15b
lea rcx, [rbp + 0xd0]
mov rax, qword [rbp + 0xe0]
cmp qword [rbp + 0xe8], 7
jbe 0x140146e4d
mov rcx, qword [rbp + 0xd0]
lea rdx, [rcx + rax*2]
mov rax, rcx
jmp 0x140146e5f
lea rdx, [rbp + 0xd0]
lea rdx, [rdx + rax*2]
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x28], rcx
lea r9, [0x1408910c8]
lea r8, [rbp - 0x80]
mov rcx, rax
call fcn.140148850
test al, al
jne 0x140146ed7
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140147161
mov rax, qword [rbp - 0x60]
sub rax, rcx
sar rax, 3
movabs rdx, 0xaaaaaaaaaaaaaaab
imul rax, rdx
lea rdx, [rax + rax*2]
shl rdx, 3
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014715b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014722d
jmp 0x14014715b
mov rax, qword [rbp - 0x68]
mov rdi, qword [rbp - 0x70]
sub rax, rdi
sar rax, 3
movabs r12, 0xaaaaaaaaaaaaaaab
imul rax, r12
cmp rax, 1
lea rax, [rbp - 0x28]
jbe 0x140146f02
lea rax, [rdi + 0x18]
cmp byte [rax + 0x10], 0
je 0x140146f14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x150], xmm0
jmp 0x140146f1f
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x150], xmm0
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r15
mov rdx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x158]
cmp rdx, r8
jne 0x140146f58
mov r10, r15
mov qword [rbp + 0x10], r15
mov esi, 7
mov qword [rbp + 0x18], rsi
mov word [rbp], r15w
jmp 0x140146f6f
sub r8, rdx
sar r8, 1
lea rcx, [rbp]
call fcn.1400c71d0
mov rsi, qword [rbp + 0x18]
mov r10, qword [rbp + 0x10]
or r13d, 8
mov dword [rsp + 0x30], r13d
test r10, r10
jne 0x140146fc1
cmp rsi, 7
jbe 0x140147117
lea rdx, [rsi*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140147111
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140147233
jmp 0x140147111
mov rbx, qword [0x1408910f0]
mov r14, qword [rbp]
mov r11, qword [0x1408910f8]
cmp rbx, r11
je 0x1401470db
cmp rsi, 7
seta r15b
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rbx + 0x68]
lea rcx, [rbx + 0x58]
cmp qword [rbx + 0x70], 7
jbe 0x140147002
mov rcx, qword [rcx]
lea r8, [rbp]
test r15b, r15b
cmovne r8, r14
mov rdx, r10
cmp r9, r10
cmovb rdx, r9
test rdx, rdx
je 0x140147034
sub r8, rcx
nop
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x14014703b
add rcx, 2
sub rdx, 1
jne 0x140147020
cmp r10, r9
jb 0x14014703b
jbe 0x140147047
add rbx, 0x138
cmp rbx, r11
jne 0x140146ff0
xor r15d, r15d
cmp rbx, r11
je 0x1401470db
mov ecx, 0x138
call fcn.1403e3660
mov qword [rbp - 8], rax
mov rdx, rbx
mov rcx, rax
call fcn.140148200
mov rdx, rax
or r13d, 0x10
mov dword [rsp + 0x30], r13d
mov qword [rbp + 0x150], r15
test rax, rax
jne 0x140147089
mov eax, r15d
jmp 0x140147098
mov rax, qword [rax + 8]
movsxd rax, dword [rax + 4]
add rax, 8
add rax, rdx
mov qword [rsp + 0x38], rax
mov r9, qword [rsp + 0x68]
mov rdx, qword [r9 + 8]
cmp rdx, qword [r9 + 0x10]
je 0x1401470b9
mov rcx, r15
mov qword [rdx], rax
add qword [r9 + 8], 8
jmp 0x1401470cb
lea r8, [rsp + 0x38]
mov rcx, r9
call fcn.14011e260
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1401470db
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
cmp rsi, 7
jbe 0x140147117
lea rdx, [rsi*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x14014710e
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140147233
mov rcx, r14
call fcn.1403e3650
nop
test rdi, rdi
je 0x140147161
mov rax, qword [rbp - 0x60]
sub rax, rdi
sar rax, 3
imul rax, r12
lea rdx, [rax + rax*2]
shl rdx, 3
cmp rdx, 0x1000
mov rax, rdi
jb 0x140147158
mov rdi, qword [rdi - 8]
sub rax, rdi
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014722d
mov rcx, rdi
call fcn.1403e3650
nop
lea rcx, [rbp + 0x110]
lea r13, [rbp + 0xf0]
lea r12, [rbp + 0xd0]
lea r15, [rbp + 0xb0]
lea r14, [rbp + 0x88]
lea rsi, [rbp + 0x60]
lea rdi, [rbp + 0x40]
lea rbx, [rbp + 0x20]
call fcn.1400c63d0
mov rcx, r13
call fcn.1400c63d0
mov rcx, r12
call fcn.1400c63d0
mov rcx, r15
call fcn.1400ed910
mov rcx, r14
call fcn.1400ed910
mov rcx, rsi
call fcn.1400c63d0
mov rcx, rdi
call fcn.1400c63d0
mov rcx, rbx
call fcn.1400c63d0
mov rbx, qword [rsp + 0x70]
add rbx, 0x110
mov qword [rsp + 0x70], rbx
cmp rbx, qword [rsp + 0x78]
je 0x1401471f1
mov r13d, dword [rsp + 0x30]
xor edi, edi
jmp 0x1401468a0
lea rcx, [rsp + 0x40]
call fcn.1401304d0
mov al, 1
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.1403e3630
mov rbx, qword [rsp + 0x2e0]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1403fd768
nop
call fcn.1403fd768
nop
call fcn.1403fd768
nop
call fcn.1403fd768
int3
call fcn.1403fd768
nop
call fcn.1403fd768
nop
call fcn.1400d10f0
nop
call fcn.1400d10f0
int3