Function at 0x41dabd
Capabilities:
Get common file path
Get startup folder

Disassembly:
push 0x294
mov eax, 0x487e59
call fcn.00464e7c
mov esi, ecx
mov dword [ebp - 0x24c], esi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x220]
push 0x105
xor ebx, ebx
mov dword [ebp - 0x250], edi
push ebx
push eax
call fcn.00466990
add esp, 0xc
mov eax, 0x801c
cmp byte [ebp + 0xc], bl
lea ecx, [eax + 7]
cmovne eax, ecx
lea ecx, [ebp - 0x220]
push ecx
push ebx
push ebx
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jns 0x41db1e
xor eax, eax
jmp 0x41de36
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x230]
call fcn.0040279b
push str.AdobeARM
lea eax, [ebp - 0x230]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.004023e9
add esp, 0xc
xor ebx, ebx
lea eax, [ebp - 0x22c]
push edi
inc ebx
mov ecx, esi
push eax
mov byte [ebp - 4], bl
call fcn.0041de6d
mov dword [ebp - 0x234], eax
test eax, eax
jne 0x41de16
mov ecx, 0x4e20bc
call fcn.00403244
test eax, eax
je 0x41dbed
mov ecx, 0x4e20bc
call fcn.00403212
test eax, eax
mov edx, str.AdobeAcrobat
mov ecx, str.AdobeReader
lea eax, [ebp - 0x230]
cmove ecx, edx
push ecx
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.004023e9
add esp, 0xc
push eax
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 2
call fcn.00402d9f
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x234]
lea ecx, [ecx - 0x10]
call fcn.00402def
push edi
lea eax, [ebp - 0x22c]
mov ecx, esi
push eax
call fcn.0041de6d
mov dword [ebp - 0x234], eax
test eax, eax
jne 0x41de16
mov edi, dword [edi]
mov eax, dword [edi + 0x38]
sub eax, 0x10
push eax
call fcn.00402d2a
pop ecx
lea esi, [eax + 0x10]
mov dword [ebp - 0x248], esi
mov byte [ebp - 4], 3
mov eax, dword [edi + 0x3c]
sub eax, 0x10
push eax
call fcn.00402d2a
add eax, 0x10
pop ecx
mov dword [ebp - 0x244], eax
mov byte [ebp - 4], 4
mov eax, dword [edi + 0x40]
sub eax, 0x10
push eax
call fcn.00402d2a
add eax, 0x10
pop ecx
mov dword [ebp - 0x240], eax
mov byte [ebp - 4], 5
mov eax, dword [edi + 0x44]
sub eax, 0x10
push eax
call fcn.00402d2a
add eax, 0x10
mov dword [ebp - 0x23c], eax
mov eax, dword [edi + 0x48]
pop ecx
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 6
cmp dword [esi - 0xc], 0
je 0x41de05
push ecx
push eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x2a0]
call fcn.0043ad5e
lea eax, [ebp - 0x2a0]
mov byte [ebp - 4], 7
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x230]
push str.AdobeARM
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.004023e9
add esp, 0xc
push eax
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 8
call fcn.00402d9f
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov ecx, dword [ebp - 0x24c]
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.0041de6d
lea ecx, [ebp - 0x224]
test eax, eax
je 0x41ddcd
push str.found_valid_alternative_payload:
call fcn.0040279b
mov byte [ebp - 4], 9
lea edx, [ebp - 0x224]
mov eax, dword [ebp - 0x228]
push 0
add eax, 8
push eax
push 2
pop ecx
call fcn.00413900
pop ecx
pop ecx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.00402def
mov esi, dword [ebp - 0x250]
mov eax, dword [ebp - 0x228]
add eax, 4
push eax
mov ecx, dword [esi]
add ecx, 4
call fcn.00402d9f
mov eax, dword [ebp - 0x228]
mov ecx, dword [esi]
add eax, 8
push eax
add ecx, 8
call fcn.00402d9f
mov eax, dword [ebp - 0x228]
mov ecx, dword [esi]
add eax, 0xc
push eax
add ecx, 0xc
call fcn.00402d9f
mov eax, dword [ebp - 0x228]
mov ecx, dword [esi]
add eax, 0x10
push eax
add ecx, 0x10
call fcn.00402d9f
mov eax, dword [ebp - 0x228]
mov ecx, dword [esi]
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x228]
mov ecx, dword [esi]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x1c], eax
lea ecx, [ebp - 0x2a0]
call fcn.0043aed5
lea ecx, [ebp - 0x248]
call fcn.0041de3e
jmp 0x41de18
push str.alternative_payload_not_found
call fcn.0040279b
push 0
push 2
lea edx, [ebp - 0x224]
mov byte [ebp - 4], 0xa
pop ecx
call fcn.00413e51
pop ecx
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.00402def
lea ecx, [ebp - 0x2a0]
call fcn.0043aed5
lea ecx, [ebp - 0x248]
call fcn.0041de3e
mov eax, dword [ebp - 0x234]
mov ebx, eax
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff0
call fcn.00402def
mov ecx, dword [ebp - 0x230]
add ecx, 0xfffffff0
call fcn.00402def
mov eax, ebx
call fcn.00464e26
ret 8