Function at 0x441de8
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x440
mov eax, dword [0x46a010]
xor eax, ebp
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
xor eax, eax
push ebx
push esi
push edi
push 8
mov esi, ecx
mov dword [ebp - 0x440], eax
pop ecx
lea edi, [ebp - 0x43c]
rep stosd dword es:[edi], eax
push 0x104
lea eax, [ebp - 0x214]
push eax
push edx
call fcn.0044256a
mov edi, eax
mov ecx, dword [0x46a020]
cmp ecx, 0x46a020
je 0x441e6d
test byte [ecx + 0x1c], 1
je 0x441e6d
cmp byte [ecx + 0x19], 5
jb 0x441e6d
lea eax, [ebp - 0x214]
push eax
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1b
pop ecx
call fcn.0041d606
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
push 2
pop ebx
test eax, eax
je 0x442093
xor ecx, ecx
cmp word [eax], cx
je 0x442093
push 0xffffffffffffffff
push 0x406770
push 0xffffffffffffffff
push eax
push 1
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, ebx
jne 0x442093
lea eax, [ebp - 0x41c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x442067
cmp eax, 0x104
jae 0x442067
xor eax, eax
mov ecx, esi
push eax
push 3
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.004420e2
test eax, eax
jne 0x441f2a
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x4420c8
test byte [eax + 0x1c], 1
je 0x4420c8
cmp byte [eax + 0x19], bl
jb 0x4420c8
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1e
jmp 0x4420bd
lea eax, [ebp - 0x440]
push eax
xor eax, eax
push eax
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
jne 0x441f96
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x46a020]
cmp ecx, 0x46a020
je 0x4420c8
test byte [ecx + 0x1c], 8
je 0x4420c8
cmp byte [ecx + 0x19], bl
jb 0x4420c8
push eax
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1f
pop ecx
call fcn.00412c68
jmp 0x4420c8
cmp dword [ebp - 0x424], 0
jne 0x442018
cmp dword [ebp - 0x420], 0x10000
ja 0x442018
lea eax, [ebp - 0x214]
mov edx, 0x104
push eax
lea ecx, [esi + 0xe60]
call fcn.00414563
test eax, eax
jns 0x4420c8
mov ecx, dword [0x46a020]
cmp ecx, 0x46a020
je 0x4420c8
test byte [ecx + 0x1c], 8
je 0x4420c8
cmp byte [ecx + 0x19], bl
jb 0x4420c8
push eax
push 0x4031d8
call fcn.00411040
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x21
pop ecx
call fcn.00410eec
jmp 0x4420c8
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x4420c8
test byte [eax + 0x1c], 1
je 0x4420c8
cmp byte [eax + 0x19], bl
jb 0x4420c8
push dword [ebp - 0x420]
push dword [ebp - 0x424]
call fcn.00411040
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x20
pop ecx
call fcn.004166e3
jmp 0x4420c8
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x4420c8
test byte [eax + 0x1c], 1
je 0x4420c8
cmp byte [eax + 0x19], bl
jb 0x4420c8
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1d
jmp 0x4420bd
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x4420c8
test byte [eax + 0x1c], 1
je 0x4420c8
cmp byte [eax + 0x19], bl
jb 0x4420c8
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1c
mov edx, 0x4077c4
pop ecx
call fcn.004110b1
mov ecx, dword [ebp - 8]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00468719
mov esp, ebp
pop ebp
ret 4