Function at 0x429d5b
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
xor ebx, ebx
push edi
mov dword [ebp - 4], ebx
call fcn.00429772
xor edi, edi
inc edi
test al, al
je 0x429df8
call fcn.0043d387
test al, al
je 0x429d97
add al, 0x46
mov edi, dword [ecx]
pop edi
xchg ebp, eax
dec esi
test esi, 0x8921427c
jo 0x429db8
dec esi
retf 0xff33
call fcn.0043d2fd
test al, al
je 0x429db8
jl 0x429d90
stosd dword es:[edi], eax
jle 0x429e17
aam 0xd1
movsb byte es:[edi], byte [esi]
fiadd word [esi - 0x10d8b2fa]
jae 0x429e26
adc byte [ebx + esi*2 - 0x24ccb000], bh
lea eax, [ebp - 8]
mov dword [ebp - 8], ebx
push eax
call fcn.00429607
pop ecx
test al, al
je 0x429df8
push dword [ebp + 0xc]
push edi
push dword [ebp - 8]
push dword [ebp + 0x10]
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
movzx ebx, bl
cmove ebx, edi
mov dword [ebp - 4], ebx
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
jne 0x429e43
call fcn.0043d411
test al, al
je 0x429e20
insb byte es:[edi], dx
push esp
mov ch, 0xb1
fnstcw word [esi - 0x3b]
jp 0x429e1e
enter 0x31fa, 0xffffffffffffffd9
sbb bh, byte [esi]
push cs
and bh, byte [ebp + 0x4d]
loopne 0x429e4c
and byte [ebx + 0x5c], 0xf0
push es
arpl word [eax + esi*8 + 6], bx
rol esp, 1
invalid
loope 0x429e9e
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov edx, dword [ebp - 4]
test eax, eax
push 1
movzx ecx, dl
pop eax
cmovne ecx, eax
mov byte [ebp - 4], cl
call fcn.0043d81c
test al, al
je 0x429e67
in al, 0x70
cmp dword [esi + 0xc], edi
and al, 0x23
invalid
mov edx, dword [ebp - 4]
mov al, dl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
stosd dword es:[edi], eax
add al, byte [eax]
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.004053e0
cmp dword [ebp - 0x44], 8
lea ecx, [ebp - 0x2a8]
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2ac], eax
call fcn.0043d708
test al, al
je 0x429ee5
std
invalid
test edx, ebp
mov al, byte [0x723833a1]
std
cmp byte [edx - 3], dh
jb 0x429ed9
mov cl, 0x92
scasb al, byte es:[edi]
cld
scasb al, byte es:[edi]
fidiv word [ebx + 0x1a]
fucomi st(0)
daa
xor eax, 0xc0840001
call fcn.0043d411
test al, al
je 0x429f0d
mov ebx, 0xeb9d10b6
dec esp
mov dh, 0x11
dec ebx
push edi
pop edi
dec ebp
or al, 0x74
je 0x429eda
pop ebp
das
xor bl, 0xc1
ljmp 0xd71e
call fcn.0043d22e
test al, al
je 0x429f2c
pop esp
loop 0x429eb3
loopne 0x429f6e
in al, 0x88
or al, 0x11
dec ebx
shr dword [ecx + 0x4d], cl
add byte [edi + 0x6dbbd563], bl
mov dword [ebx], ebp
mov eax, dword [ebp - 0x2ac]
cmp eax, 0xffffffff
je 0x42a068
push 0x2e
pop esi
mov edi, 0x5a6c98
lea ecx, [ebp - 0x2a8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x42a068
cmp word [ebp - 0x27c], si
je 0x42a05d
cmp word [ebp - 0x27a], 0
je 0x42a05d
cmp word [ebp - 0x27a], si
jne 0x429f8b
cmp word [ebp - 0x278], 0
je 0x42a05d
xor eax, eax
mov dword [ebp - 0x2c], 7
xor ebx, ebx
mov word [ebp - 0x40], ax
mov dword [ebp - 0x30], ebx
cmp word [ebp - 0x27c], ax
je 0x429fb3
lea eax, [ebp - 0x27c]
push eax
call fcn.004549d7
pop ecx
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x40]
call fcn.004020c0
test byte [ebp - 0x2a8], 0x10
lea eax, [ebp + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
push eax
je 0x42a015
call fcn.004037f0
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x28]
call fcn.004052d0
push edi
call fcn.004549d7
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.004053e0
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.004037f0
call fcn.00429e73
jmp 0x42a040
call fcn.004037f0
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x28]
call fcn.004052d0
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.004037f0
call fcn.0042a10a
add esp, 0x18
lea ecx, [ebp - 0x28]
push ebx
push 1
call fcn.004253f2
push ebx
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.004253f2
mov eax, dword [ebp - 0x2ac]
jmp 0x429f43
call fcn.0043d411
test al, al
je 0x42a08c
dec ebp
test ebx, ebx
adc dh, byte [eax]
sti
mov cl, byte [ecx + esi*2 - 0x56]
pop edx
mov dl, 0xb8
stosd dword es:[edi], eax
sbb al, 0x91
lcall 0xb769, 0x6f965e5d
lahf
or eax, ecx
call fcn.0043d2b8
test al, al
je 0x42a0b3
aaa
invalid
mov eax, dword [ebp - 0x2ac]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x42a0ec
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
push 4
cmovae eax, dword [ebp + 8]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.004253f2
push 0
push 1
lea ecx, [ebp + 8]
call fcn.004253f2
call fcn.0043a1c4
ret