Function at 0x42855d
Capabilities:
Get common file path

Disassembly:
push 0x274
mov eax, 0x48994b
call fcn.0047dc8f
mov dword [ebp - 0x27c], edx
mov edi, ecx
mov dword [ebp - 0x26c], edi
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x280], eax
mov ebx, esi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x268], esi
mov dword [ebp - 0x264], esi
push 0x208
lea eax, [ebp - 0x218]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x270], esi
push 0x34
lea eax, [ebp - 0x258]
push esi
push eax
call sub.msvcrt.dll_memset
xor eax, eax
add esp, 0xc
and dword [ebp - 0x274], eax
mov dword [ebp - 0x260], eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x224], 0x11
mov dword [ebp - 0x220], 0x12
mov dword [ebp - 0x21c], 8
test edi, edi
jne 0x428616
mov edi, 0x80070057
push edi
call fcn.004321e3
jmp 0x428845
cmp dword [ebp - 0x27c], 0
je 0x42865e
lea ecx, [ebp - 0x260]
call fcn.00427fee
test eax, eax
jne 0x42863e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004324dd
mov edi, eax
jmp 0x42860b
push 3
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x274]
call fcn.0042ed9f
mov edi, eax
test edi, edi
js 0x42860b
mov eax, dword [ebp - 0x260]
mov ebx, dword [ebp - 0x26c]
lea ecx, [ebp - 0x25c]
push ecx
push 0x200001
push 1
push 1
push 0x12019f
push eax
xor edx, edx
mov ecx, ebx
call fcn.004283b6
mov edi, eax
cmp edi, 0x80070002
je 0x428695
cmp edi, 0x80070003
jne 0x4286ff
lea edx, [ebp - 0x268]
mov ecx, ebx
call fcn.004282d2
mov edi, eax
test edi, edi
jns 0x4286b9
push edi
call fcn.004321e3
mov ebx, dword [ebp - 0x25c]
jmp 0x428845
mov ecx, dword [ebp - 0x268]
lea eax, [ebp - 0x264]
push 0
push eax
xor edx, edx
call fcn.0042855d
mov edi, eax
test edi, edi
js 0x4286a8
mov edx, dword [ebp - 0x264]
lea eax, [ebp - 0x25c]
push eax
push 0x200001
push 2
push 1
push 0x12019f
push dword [ebp - 0x260]
mov ecx, ebx
call fcn.004283b6
mov edi, eax
test edi, edi
js 0x4286a8
mov ebx, dword [ebp - 0x25c]
lea eax, [ebp - 0x258]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x42862e
test byte [ebp - 0x258], 0x10
jne 0x428732
mov edi, 0x8007010b
jmp 0x42860b
test dword [ebp - 0x258], 0x400
je 0x428748
mov edi, 0x800702a9
jmp 0x42860b
mov eax, dword [ebp - 0x268]
test eax, eax
je 0x42875f
push eax
call fcn.0043220c
and dword [ebp - 0x268], 0
mov ecx, dword [ebp - 0x26c]
xor edx, edx
call fcn.004282d2
test eax, eax
js 0x428787
mov ecx, dword [ebp - 0x26c]
xor edx, edx
call fcn.0042799b
mov edi, eax
test edi, edi
js 0x42860b
cmp dword [ebp - 0x278], 0
je 0x428817
lea eax, [ebp - 0x218]
push eax
push 1
push 0x409560
push dword [ebp - 0x26c]
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x42862e
xor eax, eax
mov word [ebp - 0x12], ax
cmp word [ebp - 0x218], ax
jne 0x4287cf
mov edi, 0x8000ffff
jmp 0x42860b
lea eax, [ebp - 0x270]
mov edx, ebx
push eax
push 0x1040
push 2
push 0
push 0x13019f
push 0
lea ecx, [ebp - 0x218]
call fcn.004283b6
mov edi, eax
test edi, edi
jns 0x428807
push edi
call fcn.004321e3
mov esi, dword [ebp - 0x270]
jmp 0x428845
mov ecx, dword [ebp - 0x278]
xor esi, esi
mov eax, dword [ebp - 0x270]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x280]
test ecx, ecx
je 0x428827
mov eax, ebx
xor ebx, ebx
mov dword [ecx], eax
cmp dword [ebp - 0x260], 0
je 0x428845
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push dword [ebp - 0x260]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
push edi
call fcn.00432150
lea ecx, [ebp - 0x274]
call fcn.00432fe4
lea ecx, [ebp - 0x274]
call fcn.00432fe4
test esi, esi
je 0x42886c
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x264], 0
je 0x428888
push dword [ebp - 0x264]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x264], 0
mov eax, dword [ebp - 0x268]
test eax, eax
je 0x428898
push eax
call fcn.0043220c
test ebx, ebx
je 0x4288a3
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
call fcn.0047dc41
ret 8