Function at 0x46fb9f
Capabilities:
Get common file path

Disassembly:
push 0x950
mov eax, 0x4a7f8c
call fcn.004a0680
mov esi, edx
mov dword [ebp - 0x92c], esi
mov bl, cl
mov byte [ebp - 0x910], bl
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x95c]
push 0x41c534
push 4
push 0x4b70d0
call fcn.0049a11d
xor eax, eax
mov dword [ebp - 0x928], eax
mov dword [ebp - 4], eax
call fcn.0045dcfc
lea ecx, [ebp - 0x894]
mov dword [ebp - 0x914], eax
lea edx, [eax + 0x98]
call fcn.0046c34e
push eax
mov ecx, esi
call fcn.00425f83
lea ecx, [ebp - 0x894]
call fcn.004258b7
xor edx, edx
cmp dword [esi + 0x10], edx
jne 0x46fc27
push 0x41c570
mov ecx, esi
call fcn.00426037
xor edx, edx
test bl, bl
je 0x46feca
lea ebx, [esi + 0x4c]
mov ecx, dword [ebx]
mov dword [ebp - 0x924], ebx
test ecx, ecx
je 0x46fc50
mov dword [ebx], edx
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4d06a8]
call esi
mov ecx, dword [ebp - 0x914]
push ebx
call fcn.00461756
mov esi, eax
test esi, esi
jns 0x46fc69
mov edx, 0x690
jmp 0x46fca2
lea ecx, [edi + 0x58]
push 0x415ba4
call fcn.00426037
xor eax, eax
lea edx, [ebp - 0x90d]
mov byte [ebp - 0x90d], al
mov eax, dword [ebx]
push edx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x24]
mov ecx, esi
call dword [0x4d06a8]
call esi
mov esi, eax
test esi, esi
jns 0x46fcb5
mov edx, 0x696
mov ecx, dword [ebp + 4]
push esi
push 0x41bb40
call fcn.004239e1
jmp 0x4702af
movzx eax, byte [ebp - 0x90d]
lea edx, [ebp - 0x90e]
neg eax
push edx
sbb eax, eax
and eax, 2
mov dword [edi], eax
xor eax, eax
mov byte [ebp - 0x90e], al
mov eax, dword [ebx]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x20]
mov ecx, esi
call dword [0x4d06a8]
call esi
mov esi, eax
test esi, esi
jns 0x46fcf3
mov edx, 0x69b
jmp 0x46fca2
xor eax, eax
lea edx, [ebp - 0x90f]
cmp byte [ebp - 0x90e], al
push edx
setne al
inc eax
mov dword [edi + 4], eax
xor eax, eax
mov byte [ebp - 0x90f], al
mov eax, dword [ebx]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x28]
mov ecx, esi
call dword [0x4d06a8]
call esi
mov esi, eax
test esi, esi
jns 0x46fd33
mov edx, 0x6a1
jmp 0x46fca2
movzx eax, byte [ebp - 0x90f]
neg eax
sbb eax, eax
and eax, 2
mov dword [edi + 8], eax
xor eax, eax
mov dword [ebp - 0x918], eax
mov byte [ebp - 4], 1
mov esi, dword [ebx]
xor ebx, ebx
push ebx
call dword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
mov dword [ebp - 0x918], ebx
lea ecx, [ebp - 0x918]
mov eax, dword [esi]
push ecx
push esi
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x4d06a8]
call esi
mov esi, eax
test esi, esi
jns 0x46fda8
mov ecx, dword [ebp + 4]
mov edx, 0x6a6
push esi
push 0x41bb40
call fcn.004239e1
push dword [ebp - 0x918]
call dword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
mov dword [ebp - 0x918], ebx
jmp 0x4702af
lea eax, [ebp - 0x930]
mov dword [ebp - 0x930], ebx
push eax
push dword [ebp - 0x918]
call dword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsGetStringRawBuffer]
push dword [ebp - 0x930]
lea ecx, [ebp - 0x864]
push eax
call fcn.00427e9f
lea eax, [ebp - 0x864]
lea ebx, [edi + 0x10]
push eax
mov ecx, ebx
call fcn.00425f83
lea ecx, [ebp - 0x864]
call fcn.004258b7
push dword [ebp - 0x918]
call dword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
xor eax, eax
mov dword [ebp - 0x91c], eax
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x924]
push eax
mov esi, dword [esi]
call dword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
xor eax, eax
lea ecx, [ebp - 0x91c]
mov dword [ebp - 0x91c], eax
mov eax, dword [esi]
push ecx
push esi
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4d06a8]
call esi
mov esi, eax
test esi, esi
jns 0x46fe67
mov ecx, dword [ebp + 4]
mov edx, 0x6ab
push esi
push 0x41bb40
call fcn.004239e1
push dword [ebp - 0x91c]
call dword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
xor eax, eax
mov dword [ebp - 0x91c], eax
jmp 0x4702af
xor eax, eax
mov dword [ebp - 0x924], eax
lea eax, [ebp - 0x924]
push eax
push dword [ebp - 0x91c]
call dword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsGetStringRawBuffer]
push dword [ebp - 0x924]
lea ecx, [ebp - 0x87c]
push eax
call fcn.00427e9f
lea eax, [ebp - 0x87c]
lea ecx, [edi + 0x28]
push eax
call fcn.00425f83
lea ecx, [ebp - 0x87c]
call fcn.004258b7
xor eax, eax
mov byte [ebp - 4], al
push dword [ebp - 0x91c]
call dword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
mov esi, dword [ebp - 0x92c]
jmp 0x46ff5a
lea eax, [ebp - 0x920]
mov dword [ebp - 0x920], edx
push eax
push edx
push 0x8000
push 0x4155f8
call dword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
mov ebx, eax
test ebx, ebx
jns 0x46ff08
mov ecx, dword [ebp + 4]
mov edx, 0x6b5
push ebx
push 0x41bb40
call fcn.004239e1
mov esi, ebx
jmp 0x4702af
lea eax, [ebp - 0x920]
mov byte [ebp - 0x940], 1
mov dword [ebp - 0x944], eax
push 2
pop eax
mov byte [ebp - 4], 3
lea ebx, [edi + 0x10]
push dword [ebp - 0x920]
mov dword [edi], eax
mov ecx, ebx
mov dword [edi + 4], eax
xor eax, eax
mov dword [edi + 8], eax
call fcn.00426037
lea ecx, [edi + 0x28]
push 0x415ba4
call fcn.00426037
xor eax, eax
mov byte [ebp - 4], al
push dword [ebp - 0x920]
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
mov edx, dword [ebp - 0x914]
lea ecx, [ebp - 0x8ac]
lea edx, [edx + 0x84]
call fcn.0046c34e
lea ecx, [edi + 0x58]
push eax
call fcn.00425f83
lea ecx, [ebp - 0x8ac]
call fcn.004258b7
mov ecx, dword [ebp - 0x914]
mov eax, dword [ecx + 0x44]
lea edx, [ecx + 0x90]
lea ecx, [ebp - 0x8c4]
mov dword [edi + 0xc], eax
call fcn.0046c34e
lea ecx, [edi + 0x70]
push eax
call fcn.00425f83
lea ecx, [ebp - 0x8c4]
call fcn.004258b7
mov edx, dword [ebp - 0x914]
lea ecx, [ebp - 0x8dc]
lea edx, [edx + 0x8c]
call fcn.0046c34e
lea ecx, [edi + 0x88]
push eax
call fcn.00425f83
lea ecx, [ebp - 0x8dc]
call fcn.004258b7
mov edx, dword [ebp - 0x914]
lea ecx, [ebp - 0x8f4]
lea edx, [edx + 0x94]
call fcn.0046c34e
lea ecx, [edi + 0xa0]
push eax
call fcn.00425f83
lea ecx, [ebp - 0x8f4]
call fcn.004258b7
xor eax, eax
cmp dword [edi + 0x20], eax
jne 0x470028
mov esi, 0x8000ffff
mov edx, 0x6c7
jmp 0x46fca2
push 0x208
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004a2490
add esp, 0xc
cmp byte [ebp - 0x910], 0
je 0x470101
cmp dword [esi + 0x4c], 0
jne 0x47005f
mov esi, 0x8000ffff
mov edx, 0x6d0
jmp 0x46fca2
xor eax, eax
mov dword [ebp - 0x93c], eax
mov dword [ebp - 0x938], eax
lea eax, [ebp - 0x93c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 8
pop esi
lea ecx, [edi + 0x28]
cmp dword [edi + 0x3c], esi
jb 0x470088
mov ecx, dword [edi + 0x28]
mov eax, ebx
cmp dword [ebx + 0x14], esi
jb 0x470091
mov eax, dword [ebx]
lea edx, [ebp - 0x21c]
push edx
push dword [ebp - 0x93c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
jne 0x4700c3
mov edx, 0x6de
mov ecx, dword [ebp + 4]
push 0x41bb40
call fcn.004239fe
mov esi, eax
jmp 0x4702af
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x928]
jne 0x4700cc
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 - 8]
cmp ecx, 0x208
jae 0x4704ae
xor eax, eax
mov word [ebp + ecx - 0x21c], ax
jmp 0x4702cc
xor eax, eax
push 0x208
push eax
lea eax, [ebp - 0x834]
push eax
call fcn.004a2490
add esp, 0xc
lea eax, [ebp - 0x834]
xor ecx, ecx
push ecx
push 0x104
push eax
push ecx
push ecx
push 1
push ecx
call dword [sym.imp.KERNEL32.dll_GetDateFormatEx]
test eax, eax
jne 0x470140
mov edx, 0x6f0
jmp 0x4700af
xor eax, eax
push 0x208
push eax
lea eax, [ebp - 0x62c]
push eax
call fcn.004a2490
add esp, 0xc
lea eax, [ebp - 0x62c]
push 0x104
push eax
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeFormatEx]
test eax, eax
jne 0x47017d
mov edx, 0x6fa
jmp 0x4700af
xor eax, eax
push 0x208
push eax
lea eax, [ebp - 0x424]
push eax
call fcn.004a2490
mov eax, dword [ebp - 0x92c]
add esp, 0xc
mov ecx, esi
push 8
pop esi
cmp dword [eax + 0x14], esi
jb 0x4701a6
mov ecx, dword [eax]
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x834]
push eax
push ecx
push 0x41c588
lea eax, [ebp - 0x424]
push 0x103
push eax
call fcn.0042285b
add esp, 0x18
mov dword [ebp - 0x914], eax
test eax, eax
jns 0x4701f6
mov ecx, dword [ebp + 4]
mov edx, 0x6fe
push eax
push 0x41bb40
call fcn.004239e1
mov esi, dword [ebp - 0x914]
jmp 0x4702af
xor eax, eax
mov dword [ebp - 0x838], 7
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x83c], eax
mov word [ebp - 0x84c], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x928]
jne 0x470218
sub ecx, edx
lea eax, [ebp - 0x424]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x84c]
call fcn.004262aa
lea ecx, [ebp - 0x84c]
call fcn.0046c37a
lea ecx, [ebp - 0x84c]
cmp dword [ebp - 0x838], esi
jb 0x47025d
mov ecx, dword [ebp - 0x84c]
mov eax, ebx
cmp dword [ebx + 0x14], esi
jb 0x470266
mov eax, dword [ebx]
push ecx
push eax
push 0x41c5a0
lea eax, [ebp - 0x21c]
push 0x103
push eax
call fcn.0042285b
add esp, 0x14
mov dword [ebp - 0x928], eax
test eax, eax
jns 0x4702c1
mov ecx, dword [ebp + 4]
mov edx, 0x705
push eax
push 0x41bb40
call fcn.004239e1
lea ecx, [ebp - 0x84c]
call fcn.004258b7
mov esi, dword [ebp - 0x928]
lea ecx, [ebp - 0x95c]
call fcn.0049a17f
mov eax, esi
jmp 0x4704a6
lea ecx, [ebp - 0x84c]
call fcn.004258b7
lea eax, [ebp - 0x21c]
lea ecx, [edi + 0x40]
push eax
call fcn.00426037
push 0x41c5b0
push 3
push 0x4b70d0
call fcn.00499e19
mov eax, dword [edi + 4]
xor ecx, ecx
add esp, 0xc
sub eax, ecx
je 0x470317
sub eax, 1
je 0x470310
sub eax, 1
je 0x470309
mov eax, 0x41c414
jmp 0x47031c
mov eax, 0x41c440
jmp 0x47031c
mov eax, 0x41c434
jmp 0x47031c
mov eax, 0x41c3d8
push eax
push dword [edi]
call fcn.004704b4
push eax
push 0x41c5cc
push 3
push 0x4b70d0
call fcn.00499e19
add esp, 0x14
push dword [edi + 8]
call fcn.004704b4
push eax
push 0x41c5e4
push 3
push 0x4b70d0
call fcn.00499e19
add esp, 0x10
cmp dword [ebx + 0x14], esi
jb 0x47035d
mov ebx, dword [ebx]
push ebx
push 0x41c5f8
push 3
pop ebx
push ebx
push 0x4b70d0
call fcn.00499e19
lea eax, [edi + 0x28]
add esp, 0x10
cmp dword [eax + 0x14], esi
jb 0x47037e
mov eax, dword [eax]
push eax
push 0x41c610
push ebx
push 0x4b70d0
call fcn.00499e19
lea eax, [edi + 0x40]
add esp, 0x10
cmp dword [eax + 0x14], esi
jb 0x47039c
mov eax, dword [eax]
push eax
push 0x41c630
push ebx
push 0x4b70d0
call fcn.00499e19
lea eax, [edi + 0x58]
add esp, 0x10
cmp dword [eax + 0x14], esi
jb 0x4703ba
mov eax, dword [eax]
push eax
push 0x41c650
push ebx
push 0x4b70d0
call fcn.00499e19
lea eax, [edi + 0x70]
add esp, 0x10
cmp dword [eax + 0x14], esi
jb 0x4703d8
mov eax, dword [eax]
push eax
push 0x41c668
push ebx
push 0x4b70d0
call fcn.00499e19
lea eax, [edi + 0x88]
add esp, 0x10
cmp dword [eax + 0x14], esi
jb 0x4703f9
mov eax, dword [eax]
push eax
push 0x41c684
push ebx
push 0x4b70d0
call fcn.00499e19
lea eax, [edi + 0xa0]
add esp, 0x10
cmp dword [eax + 0x14], esi
jb 0x47041a
mov eax, dword [eax]
push eax
push 0x41c69c
push ebx
push 0x4b70d0
call fcn.00499e19
add esp, 0x10
lea eax, [ebp - 0x90c]
push dword [edi + 0xc]
push eax
call fcn.004704e9
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], esi
jb 0x470448
mov eax, dword [eax]
push eax
push 0x41c6b4
push ebx
mov edi, 0x4b70d0
push edi
call fcn.00499e19
add esp, 0x10
lea ecx, [ebp - 0x90c]
xor eax, eax
mov byte [ebp - 4], al
call fcn.004258b7
push 0x41c6d4
push ebx
push edi
call fcn.00499e19
mov eax, dword [ebp - 0x92c]
add esp, 0xc
cmp dword [eax + 0x14], esi
jb 0x470489
mov eax, dword [eax]
push eax
push 0x41c6e8
push ebx
push edi
call fcn.00499e19
add esp, 0x10
lea ecx, [ebp - 0x95c]
call fcn.0049a17f
xor eax, eax
call fcn.004a0600
ret 4
call fcn.0049d10d
int3