Function at 0x10049921
Capabilities:
Get common file path

Disassembly:
push 0x4a4
mov eax, 0x101cb139
call fcn.10094739
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x478], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x47c], esi
mov dword [ebp - 0x480], edi
mov dword [ebp - 0x474], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [0x10204778]
mov dword [ebp - 0x438], eax
mov byte [ebp - 4], 1
lea eax, [ebp - 0x438]
push str.Outlook_2003_save_att____
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
mov eax, dword [ebp + 8]
add esp, 0x14
cmp eax, ebx
jne 0x100499dd
push str.Outlook_2003_get_att_count_failed__NULL
lea eax, [ebp - 0x438]
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
add esp, 0x14
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x438]
call fcn.100c9e10
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.1003dec0
xor eax, eax
call fcn.100947bc
ret 0x14
lea edx, [ebp - 0x454]
push edx
mov dword [ebp - 0x454], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
push dword [ebp - 0x454]
mov dword [ebp - 0x45c], eax
push eax
lea eax, [ebp - 0x438]
push str.Outlook_2003_get_att_count_hr0x_08X__count_d
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
add esp, 0x1c
cmp dword [ebp - 0x45c], ebx
jge 0x10049a31
push str.Outlook_2003_get_att_count_failed_
jmp 0x1004999c
mov ecx, esi
call fcn.1004704a
push 0xffffffffffffffff
push ebx
mov ecx, edi
call fcn.100cf7b0
cmp dword [ebp - 0x454], ebx
jle 0x1004a2f9
mov eax, dword [0x10204778]
mov dword [ebp - 0x43c], eax
mov byte [ebp - 4], 2
push 0x218
lea eax, [ebp - 0x430]
push ebx
push eax
mov dword [ebp - 0x434], ebx
call fcn.100947e0
add esp, 0xc
push 3
xor ecx, ecx
pop eax
mov word [ebp - 0x4b0], ax
inc ecx
mov eax, ecx
mov word [ebp - 0x4ae], ax
xor eax, eax
cmp dword [ebp - 0x454], ecx
lea edi, [ebp - 0x4ac]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x44c], ecx
jl 0x1004a2ea
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x460], 1
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x440], ebx
mov byte [ebp - 4], 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea edx, [ebp - 0x440]
push edx
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x4b0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x30]
cmp eax, ebx
mov dword [ebp - 0x464], eax
jl 0x1004a245
cmp dword [ebp - 0x440], ebx
je 0x1004a245
push 2
pop esi
mov dword [ebp - 0x460], esi
mov dword [ebp - 0x444], ebx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x440]
mov ecx, dword [eax]
lea edx, [ebp - 0x444]
push edx
push eax
call dword [ecx + 0x34]
cmp eax, ebx
mov dword [ebp - 0x464], eax
jge 0x10049b55
mov eax, dword [ebp - 0x440]
mov ecx, dword [eax]
lea edx, [ebp - 0x444]
push edx
push eax
call dword [ecx + 0x2c]
cmp eax, ebx
mov dword [ebp - 0x464], eax
jl 0x1004a235
push dword [ebp - 0x444]
lea ecx, [ebp - 0x484]
call fcn.100c9670
mov byte [ebp - 4], 6
push dword [eax]
lea eax, [ebp - 0x438]
push str.Outlook_2003_get_att_filename:_s
push eax
call fcn.100ccd90
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x484]
call fcn.100c9e10
push ebx
push esi
push dword [ebp - 0x438]
call fcn.1005e998
add esp, 0xc
lea ecx, [ebp - 0x43c]
mov dword [ebp - 0x460], 3
call fcn.100c9b80
mov eax, dword [0x10204778]
mov dword [ebp - 0x45c], eax
mov byte [ebp - 4], 7
push dword [ebp - 0x444]
lea eax, [ebp - 0x45c]
push dword [ebp - 0x44c]
push str.__d__s
push eax
call fcn.100ccd90
mov esi, dword [ebp - 0x46c]
add esp, 0x10
push ebx
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x45c]
mov ecx, esi
call fcn.1003e5f1
push 0xffffffffffffffff
lea ecx, [ebp - 0x43c]
mov edi, eax
call fcn.100cabb0
add esi, 0x1e0
push esi
lea ecx, [ebp - 0x488]
call fcn.100c9670
mov byte [ebp - 4], 8
push dword [ebp - 0x43c]
push dword [eax]
lea eax, [ebp - 0x438]
push edi
push str.Outlook_2003_Generate_att_Path_ret__d._dir:_s_path:_s
push eax
call fcn.100ccd90
add esp, 0x14
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x488]
call fcn.100c9e10
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
mov eax, dword [0x10204778]
mov dword [ebp - 0x468], eax
mov byte [ebp - 4], 9
push dword [ebp - 0x43c]
lea eax, [ebp - 0x48c]
push eax
call fcn.100101b3
add esp, 0x14
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x468]
call fcn.100c9fa0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x48c]
call fcn.100c9e10
mov eax, dword [ebp - 0x440]
mov esi, dword [eax]
push ebx
lea ecx, [ebp - 0x468]
mov edi, eax
add esi, 0x54
call fcn.100caae0
push eax
push edi
call dword [esi]
push 0xffffffffffffffff
lea ecx, [ebp - 0x468]
mov esi, eax
call fcn.100cabb0
cmp esi, ebx
jge 0x10049f3a
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.100947e0
mov eax, dword [0x10204778]
add esp, 0xc
mov dword [ebp - 0x448], eax
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x218]
push eax
mov edi, 0x103
push edi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push dword [ebp - 0x444]
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x448]
push 0x101df4a4
push eax
call fcn.100ccd90
mov eax, dword [ebp - 0x440]
mov esi, dword [eax]
add esp, 0x10
push ebx
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x450], eax
add esi, 0x54
call fcn.100caae0
push eax
push dword [ebp - 0x450]
call dword [esi]
push 0xffffffffffffffff
lea ecx, [ebp - 0x448]
mov esi, eax
call fcn.100cabb0
cmp esi, ebx
jge 0x10049dfb
push 0x104
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.100947e0
add esp, 0xc
lea ecx, [ebp - 0x448]
call fcn.100c9b80
push edi
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
push dword [ebp - 0x444]
lea eax, [ebp - 0x218]
push str.Temp_
push eax
lea eax, [ebp - 0x448]
push str._s_s_s
push eax
call fcn.100ccd90
mov eax, dword [ebp - 0x440]
mov esi, dword [eax]
add esp, 0x14
push ebx
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x450], eax
add esi, 0x54
call fcn.100caae0
push eax
push dword [ebp - 0x450]
call dword [esi]
push 0xffffffffffffffff
lea ecx, [ebp - 0x448]
mov esi, eax
call fcn.100cabb0
xor eax, eax
cmp esi, ebx
jl 0x10049e19
push dword [ebp - 0x43c]
lea eax, [ebp - 0x218]
push eax
call fcn.1000fc82
pop ecx
pop ecx
cmp eax, ebx
jne 0x10049e1e
mov esi, 0x80004005
push eax
lea eax, [ebp - 0x218]
push eax
push esi
lea eax, [ebp - 0x438]
push str.Outlook_2003_save_att__hr0x_08X___s___d_
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
add esp, 0x20
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x448]
call fcn.100c9e10
cmp esi, ebx
jge 0x10049f3f
push esi
lea eax, [ebp - 0x438]
push str.Outlook_2003_save_att_1__hr0x_08X
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
mov eax, dword [ebp - 0x440]
add esp, 0x18
lea edx, [ebp - 0x458]
push edx
mov dword [ebp - 0x458], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
mov esi, eax
cmp esi, ebx
jl 0x1004a1de
cmp dword [ebp - 0x458], ebx
je 0x1004a139
push esi
lea eax, [ebp - 0x438]
push str.Outlook_2003_save_att_2__hr0x_08X
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
add esp, 0x18
lea ecx, [ebp - 0x4a0]
call fcn.1005e791
mov byte [ebp - 4], 0xc
push dword [ebp - 0x458]
lea ecx, [ebp - 0x4a0]
call fcn.1005e7fb
mov esi, eax
cmp esi, ebx
jl 0x1004a118
push esi
lea eax, [ebp - 0x438]
push str.Outlook_2003_save_att_3__hr0x_08X
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
add esp, 0x18
cmp dword [ebp - 0x490], 1
jne 0x10049ff5
mov eax, dword [ebp - 0x49c]
jmp 0x1004a004
mov edi, 0x103
push dword [ebp - 0x44c]
mov ecx, dword [ebp - 0x478]
mov dword [ebp - 0x460], 4
call fcn.100107a3
mov ecx, dword [ebp - 0x480]
mov eax, dword [ecx + 4]
lea edx, [ebp - 0x43c]
push edx
push eax
call fcn.100cfd50
push 0x21c
lea eax, [ebp - 0x434]
push ebx
push eax
call fcn.100947e0
mov ecx, dword [ebp - 0x46c]
add esp, 0xc
lea eax, [ebp - 0x424]
push eax
push dword [ebp - 0x43c]
call fcn.1003c6fa
push dword [ebp - 0x424]
lea eax, [ebp - 0x438]
push dword [ebp - 0x43c]
push str.Outlook_2003_save_att___s___d_
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
push edi
push dword [ebp - 0x444]
lea eax, [ebp - 0x420]
push eax
call fcn.10094d7c
mov ecx, dword [ebp - 0x47c]
add esp, 0x28
lea eax, [ebp - 0x434]
push eax
call fcn.10047054
jmp 0x1004a139
cmp dword [ebp - 0x490], 2
jne 0x1004a00f
mov eax, dword [ebp - 0x498]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xd8]
mov esi, eax
push esi
lea eax, [ebp - 0x438]
push str.Outlook_2003_save_att_4_2___Save_hr0x_08X
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
mov eax, dword [ebp - 0x440]
mov esi, dword [eax]
add esp, 0x18
push ebx
lea ecx, [ebp - 0x43c]
mov dword [ebp - 0x450], eax
add esi, 0x54
call fcn.100caae0
push eax
push dword [ebp - 0x450]
call dword [esi]
push 0xffffffffffffffff
lea ecx, [ebp - 0x43c]
mov esi, eax
call fcn.100cabb0
cmp esi, ebx
jl 0x1004a0f5
push dword [ebp - 0x44c]
mov ecx, dword [ebp - 0x478]
mov dword [ebp - 0x460], 4
call fcn.100107a3
mov ecx, dword [ebp - 0x480]
mov eax, dword [ecx + 4]
lea edx, [ebp - 0x43c]
push edx
push eax
call fcn.100cfd50
push 0x21c
lea eax, [ebp - 0x434]
push ebx
push eax
call fcn.100947e0
mov ecx, dword [ebp - 0x46c]
add esp, 0xc
lea eax, [ebp - 0x424]
push eax
push dword [ebp - 0x43c]
call fcn.1003c6fa
push edi
push dword [ebp - 0x444]
lea eax, [ebp - 0x420]
push eax
call fcn.10094d7c
mov ecx, dword [ebp - 0x47c]
add esp, 0xc
lea eax, [ebp - 0x434]
push eax
call fcn.10047054
push esi
lea eax, [ebp - 0x438]
push str.Outlook_2003_save_att_5___SaveAsFile_hr0x_08X
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
add esp, 0x18
mov eax, dword [ebp - 0x458]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x458], ebx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x4a0]
call fcn.1005e71e
cmp esi, ebx
jl 0x1004a1de
mov esi, dword [ebp - 0x474]
cmp esi, ebx
je 0x1004a1de
mov dword [ebp - 0x470], ebx
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x470]
push eax
push ecx
lea eax, [ebp - 0x440]
mov ecx, esp
mov dword [ebp - 0x450], esp
push eax
call fcn.100417f5
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x46c]
call fcn.10046aac
mov ecx, esi
cmp eax, ebx
je 0x1004a19b
push dword [ebp - 0x470]
call fcn.1001cca4
jmp 0x1004a1a9
mov eax, dword [esi + 4]
push 0x101dcc6c
push eax
call fcn.100cfc60
push dword [esi + 4]
lea eax, [ebp - 0x438]
push str.Outlook_2003_save_att_AttCid__Size:_d_
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
add esp, 0x18
mov byte [ebp - 4], 9
push dword [ebp - 0x470]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x468]
call fcn.100c9e10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x45c]
call fcn.100c9e10
mov byte [ebp - 4], 4
push dword [ebp - 0x444]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x440]
call fcn.1003dee5
inc dword [ebp - 0x44c]
mov eax, dword [ebp - 0x44c]
cmp eax, dword [ebp - 0x454]
jle 0x10049aab
jmp 0x1004a254
mov byte [ebp - 4], 4
push dword [ebp - 0x444]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x440]
call fcn.1003dee5
cmp dword [ebp - 0x464], ebx
jge 0x1004a2ea
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0x474]
call fcn.100c9410
mov byte [ebp - 4], 0xf
push dword [eax]
lea eax, [ebp - 0x438]
push dword [ebp - 0x464]
push dword [ebp - 0x460]
push str.Outlook_2003_save_att_failed_on_step_d__hr0x_08X__f_s
push eax
call fcn.100ccd90
add esp, 0x14
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x474]
call fcn.100c9e10
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
add esp, 0xc
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x43c]
call fcn.100c9e10
xor esi, esi
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x438]
call fcn.100c9e10
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.1003dec0
mov eax, esi
jmp 0x100499d5
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x43c]
call fcn.100c9e10
lea eax, [ebp - 0x438]
push str.Outlook_2003_save_att
push eax
call fcn.100ccd90
push ebx
push 2
push dword [ebp - 0x438]
call fcn.1005e998
xor esi, esi
add esp, 0x14
inc esi
jmp 0x1004a2c9