Function at 0x446ab0
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x484182
mov eax, dword fs:[0]
push eax
mov eax, 0x1a98
call fcn.00462bf0
mov eax, dword [0x4a60f8]
xor eax, esp
mov dword [esp + 0x1a94], eax
push ebp
push esi
push edi
mov eax, dword [0x4a60f8]
xor eax, esp
push eax
lea eax, [esp + 0x1aa8]
mov dword fs:[0], eax
mov esi, dword [esp + 0x1ab8]
mov ebp, ecx
mov dword [esp + 0x1c], esi
test esi, esi
je 0x446f4b
cmp word [esi], 0
je 0x446f4b
push esi
lea ecx, [ebp + 0x40]
call fcn.0041be90
cmp dword [ebp + 0x2c], 0
je 0x446f4b
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x446b25
sub eax, edx
sar eax, 1
cmp eax, 0x104
jge 0x446f4b
push 0x410
lea eax, [esp + 0x1698]
push 0
push eax
call fcn.00461950
add esp, 0xc
push 0x48b4d8
push esi
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [esp + 0x169c]
push ecx
call esi
movzx edx, word [ebp + 0x3c]
mov eax, dword [ebp + 0x24]
push edx
push 0
push 0x343e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, 0x5c
mov word [esp + 0x480], cx
mov dword [esp + 0x484], 0
mov dword [esp + 0x488], 0
lea edx, [esp + 0x1694]
push edx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1ab4], 0
call fcn.0042ba30
mov edi, eax
mov eax, dword [0x4a4014]
mov dword [esp + 0x18], eax
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x1496]
push edx
mov byte [esp + 0x1abc], 1
mov word [esp + 0x1498], cx
call fcn.00461950
add esp, 0xc
push 1
push 0x1a
lea eax, [esp + 0x1494]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x800
lea ecx, [esp + 0xc90]
push 0
push ecx
call fcn.00461950
add esp, 0xc
push 0x489d9c
lea edx, [esp + 0x1490]
push edx
lea eax, [esp + 0xc94]
push eax
call esi
push 0x800
lea ecx, [esp + 0x490]
push 0
push ecx
call fcn.00461950
add esp, 0xc
push str.360Notify
lea edx, [esp + 0x1490]
push edx
lea eax, [esp + 0x494]
push eax
call esi
lea ecx, [esp + 0xc8c]
push ecx
lea ecx, [esp + 0x14]
call fcn.0041d2c0
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov byte [esp + 0x1ab0], 2
push esi
push edx
call fcn.004626b1
add esp, 8
test eax, eax
jne 0x446c9a
push str._appdata_360Desktop_
jmp 0x446cc2
lea eax, [esp + 0x48c]
push eax
lea ecx, [esp + 0x14]
call fcn.0041be90
mov ecx, dword [esp + 0x10]
push esi
push ecx
call fcn.004626b1
add esp, 8
test eax, eax
jne 0x446ccb
push str._appdata_360Notify_
lea ecx, [esp + 0x1c]
call fcn.00443e20
lea ecx, [esp + 0x10]
mov byte [esp + 0x1ab0], 1
call fcn.0041b2e0
test edi, edi
je 0x446f0c
cmp dword [esp + 0x488], 0
je 0x446d43
mov edx, dword [esp + 0x28]
shr edx, 4
and edx, 1
je 0x446d43
cmp word [esp + 0x54], 0x2e
jne 0x446d43
mov ax, word [esp + 0x56]
test ax, ax
je 0x446d1a
cmp ax, 0x2e
jne 0x446d43
cmp word [esp + 0x58], 0
jne 0x446d43
mov eax, dword [esp + 0x484]
test eax, eax
je 0x446f0c
lea ecx, [esp + 0x28]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [esp + 0x488], eax
mov edi, eax
jmp 0x446f04
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x2c]
call fcn.0042c670
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1ab4], 3
call fcn.0042c600
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x1abc], 4
call fcn.004440d0
mov eax, dword [esp + 0x20]
lea ecx, [eax - 0xc]
mov byte [esp + 0x1ab0], 6
cmp ecx, dword [0x4a4010]
je 0x446db4
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x446db4
mov eax, dword [esp + 0x20]
add eax, 0xfffffff4
push eax
call fcn.00462471
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0041b900
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.USER32.dll_CharUpperW]
cmp dword [esp + 0x1ac0], 0
je 0x446e29
mov eax, dword [ebp + 0x2c]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
test eax, eax
jne 0x446e29
cmp dword [ebp + 0x34], eax
je 0x446e29
mov eax, dword [ebp + 0x34]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
test eax, eax
jne 0x446e29
lea ecx, [esp + 0x28]
call fcn.0042b770
lea ecx, [esp + 0x14]
mov edi, eax
call fcn.0041b2e0
lea ecx, [esp + 0x10]
mov byte [esp + 0x1ab0], 1
call fcn.0041b2e0
jmp 0x446f04
cmp dword [esp + 0x488], 0
je 0x446e5e
mov eax, dword [esp + 0x28]
shr eax, 4
and eax, 1
je 0x446e5e
cmp dword [esp + 0x1abc], 0
mov esi, dword [esp + 0x10]
mov ecx, ebp
push esi
je 0x446e57
call fcn.00446620
jmp 0x446e7b
call fcn.00446870
jmp 0x446e7b
cmp dword [esp + 0x1abc], 0
mov esi, dword [esp + 0x10]
mov ecx, ebp
push esi
je 0x446e76
call fcn.00446220
jmp 0x446e7b
call fcn.004462d0
mov eax, dword [esp + 0x484]
test eax, eax
jne 0x446e8a
xor edi, edi
jmp 0x446ead
cmp dword [esp + 0x488], 0
jne 0x446e98
xor edi, edi
jmp 0x446ead
lea ecx, [esp + 0x28]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [esp + 0x488], eax
mov edi, eax
mov eax, dword [esp + 0x14]
lea edx, [eax - 0xc]
cmp edx, dword [0x4a4010]
je 0x446eda
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x446eda
mov eax, dword [esp + 0x14]
add eax, 0xfffffff4
push eax
call fcn.00462471
add esp, 4
lea eax, [esi - 0xc]
mov byte [esp + 0x1ab0], 1
cmp eax, dword [0x4a4010]
je 0x446f04
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x446f04
push esi
call fcn.00462471
add esp, 4
test edi, edi
jne 0x446ce4
lea ecx, [esp + 0x28]
call fcn.0042b9c0
cmp dword [esp + 0x1abc], 0
je 0x446f2d
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, ebp
call fcn.00446220
jmp 0x446f39
mov edx, dword [esp + 0x1c]
push edx
mov ecx, ebp
call fcn.004462d0
lea ecx, [esp + 0x18]
call fcn.0041b2e0
lea ecx, [esp + 0x28]
call fcn.0042b9c0
mov ecx, dword [esp + 0x1aa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x1a94]
xor ecx, esp
call fcn.00461932
add esp, 0x1aa4
ret 0xc