Function at 0x1003a500
Capabilities:
Get common file path
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ffc52
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x524
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x530]
mov ecx, 0x149
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x24]
call fcn.1000b2d0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.1000b990
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44]
call fcn.1000b410
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x54]
call fcn.1000ba70
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x64]
call fcn.1000b4f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x74]
call fcn.1000bbd0
mov byte [ebp - 4], 5
push 0
push str.Excel.Application
lea ecx, [ebp - 0x24]
call sub.MFC70D.DLL_Ordinal_2047
test eax, eax
jne 0x1003a5b5
push 0
push 0
push 0x10103610
call sub.MFC70D.DLL_Ordinal_1383
mov esi, esp
push 1
call dword [sym.imp.MSVCR70D.dll_exit]
cmp esi, esp
call fcn.100ec680
push 0
lea ecx, [ebp - 0x24]
call fcn.1000b3b0
mov esi, esp
push 0x104
lea eax, [ebp - 0x188]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
cmp esi, esp
call fcn.100ec680
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x194]
call fcn.100031e0
mov byte [ebp - 4], 6
push 0x10107f28
lea ecx, [ebp - 0x194]
call fcn.1000c140
push 1
lea ecx, [ebp - 0x24]
call fcn.1000b320
push eax
lea ecx, [ebp - 0x34]
call sub.MFC70D.DLL_Ordinal_1667
lea ecx, [ebp - 0x194]
call fcn.100032c0
push eax
lea ecx, [ebp - 0x2e8]
call fcn.10006990
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x524]
mov dword [ebp - 0x528], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x528]
mov edx, dword [ecx]
mov dword [ebp - 0x2d0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x2cc], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0x2c8], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x2c4], eax
push 1
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x2d0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2cc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2c8]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x2c4]
mov dword [ecx + 0xc], eax
lea ecx, [ebp - 0x34]
call fcn.1000b9e0
push eax
lea ecx, [ebp - 0x44]
call sub.MFC70D.DLL_Ordinal_1667
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2e8]
call fcn.10006b10
push 1
lea ecx, [ebp - 0x44]
call fcn.1000b460
push eax
lea ecx, [ebp - 0x54]
call sub.MFC70D.DLL_Ordinal_1667
push 0x10102e12
lea ecx, [ebp - 0x1a0]
call fcn.100031e0
mov byte [ebp - 4], 8
mov dword [ebp - 0x1ac], 1
mov dword [ebp - 0x1b8], 0x14
lea ecx, [ebp - 0x54]
call fcn.1000bac0
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0x14]
call fcn.1003b240
mov eax, dword [ebp - 0x1ac]
cmp eax, dword [ebp - 0x1b8]
jg 0x1003ae62
push 0x24
call sub.MFC70D.DLL_Ordinal_832
add esp, 4
mov dword [ebp - 0x300], eax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x300], 0
je 0x1003a746
mov ecx, dword [ebp - 0x300]
call fcn.1003b1c0
mov dword [ebp - 0x524], eax
jmp 0x1003a750
mov dword [ebp - 0x524], 0
mov eax, dword [ebp - 0x524]
mov dword [ebp - 0x2f4], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0x1c4], ecx
mov eax, dword [ebp - 0x1ac]
push eax
lea ecx, [ebp - 0x330]
call fcn.1003b030
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x524]
mov dword [ebp - 0x528], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x528]
mov eax, dword [edx]
mov dword [ebp - 0x318], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x314], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0x310], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x30c], ecx
push 1
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x318]
mov dword [edx], eax
mov ecx, dword [ebp - 0x314]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x310]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x30c]
mov dword [edx + 0xc], ecx
lea ecx, [ebp - 0x54]
call fcn.1000bb40
push eax
lea ecx, [ebp - 0x64]
call sub.MFC70D.DLL_Ordinal_1667
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x330]
call fcn.10006b10
push 1
lea ecx, [ebp - 0x64]
call fcn.1000b770
push eax
lea ecx, [ebp - 0x74]
call sub.MFC70D.DLL_Ordinal_1667
push 3
push 1
lea ecx, [ebp - 0x360]
call fcn.100068e0
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x524]
mov dword [ebp - 0x528], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x528]
mov edx, dword [ecx]
mov dword [ebp - 0x348], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x344], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0x340], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x33c], eax
push 3
push 1
lea ecx, [ebp - 0x390]
call fcn.100068e0
mov dword [ebp - 0x52c], eax
mov ecx, dword [ebp - 0x52c]
mov dword [ebp - 0x530], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x530]
mov eax, dword [edx]
mov dword [ebp - 0x378], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x374], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0x370], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x36c], ecx
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x348]
mov dword [edx], eax
mov ecx, dword [ebp - 0x344]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x340]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x33c]
mov dword [edx + 0xc], ecx
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x378]
mov dword [edx], eax
mov ecx, dword [ebp - 0x374]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x370]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x36c]
mov dword [edx + 0xc], ecx
lea edx, [ebp - 0x3a8]
push edx
lea ecx, [ebp - 0x74]
call fcn.1003b110
push eax
lea ecx, [ebp - 0x1a0]
call fcn.1003bd10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x390]
call fcn.10006b10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x360]
call fcn.10006b10
push 0x10102e12
lea eax, [ebp - 0x1a0]
push eax
call fcn.1000f480
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1003a95f
jmp 0x1003ae62
mov ecx, dword [ebp - 0x1c4]
add ecx, 8
call sub.MFC70D.DLL_Ordinal_7168
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x1c4]
call fcn.100024c0
mov dword [ebp - 0x1d0], 1
jmp 0x1003a99a
mov eax, dword [ebp - 0x1d0]
add eax, 1
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0x3c
jge 0x1003ab05
push 3
mov eax, dword [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x3d8]
call fcn.100068e0
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x524]
mov dword [ebp - 0x528], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x528]
mov eax, dword [edx]
mov dword [ebp - 0x3c0], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x3bc], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0x3b8], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x3b4], ecx
push 3
push 2
lea ecx, [ebp - 0x408]
call fcn.100068e0
mov dword [ebp - 0x52c], eax
mov edx, dword [ebp - 0x52c]
mov dword [ebp - 0x530], edx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x530]
mov ecx, dword [eax]
mov dword [ebp - 0x3f0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x3ec], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x3e8], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x3e4], edx
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x3c0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3bc]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3b8]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x3b4]
mov dword [eax + 0xc], edx
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x3f0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3ec]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3e8]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x3e4]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x74]
call fcn.1003b110
push eax
lea ecx, [ebp - 0x1a0]
call fcn.1003bd10
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x408]
call fcn.10006b10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x3d8]
call fcn.10006b10
push 0x10102e12
lea eax, [ebp - 0x1a0]
push eax
call fcn.1000f480
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1003ab00
mov eax, dword [ebp - 0x1d0]
sub eax, 1
mov ecx, dword [ebp - 0x1c4]
mov dword [ecx + 0x20], eax
jmp 0x1003ab05
jmp 0x1003a98b
mov dword [ebp - 0x1dc], 2
jmp 0x1003ab20
mov eax, dword [ebp - 0x1dc]
add eax, 1
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0x3c
jge 0x1003ac8b
push 3
push 1
lea ecx, [ebp - 0x450]
call fcn.100068e0
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x524]
mov dword [ebp - 0x528], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x528]
mov edx, dword [ecx]
mov dword [ebp - 0x438], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x434], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0x430], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x42c], eax
push 3
mov ecx, dword [ebp - 0x1dc]
push ecx
lea ecx, [ebp - 0x480]
call fcn.100068e0
mov dword [ebp - 0x52c], eax
mov edx, dword [ebp - 0x52c]
mov dword [ebp - 0x530], edx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x530]
mov ecx, dword [eax]
mov dword [ebp - 0x468], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x464], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x460], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x45c], edx
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x438]
mov dword [eax], ecx
mov edx, dword [ebp - 0x434]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x430]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x42c]
mov dword [eax + 0xc], edx
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x468]
mov dword [eax], ecx
mov edx, dword [ebp - 0x464]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x460]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x45c]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x74]
call fcn.1003b110
push eax
lea ecx, [ebp - 0x1a0]
call fcn.1003bd10
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x480]
call fcn.10006b10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x450]
call fcn.10006b10
push 0x10102e12
lea eax, [ebp - 0x1a0]
push eax
call fcn.1000f480
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1003ac86
mov eax, dword [ebp - 0x1dc]
sub eax, 2
mov ecx, dword [ebp - 0x1c4]
mov dword [ecx + 0x1c], eax
jmp 0x1003ac8b
jmp 0x1003ab11
mov dword [ebp - 0x1e8], 2
jmp 0x1003aca6
mov eax, dword [ebp - 0x1e8]
add eax, 1
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [eax + 0x1c]
add ecx, 1
cmp dword [ebp - 0x1e8], ecx
jg 0x1003ae3c
mov dword [ebp - 0x1f4], 1
jmp 0x1003acd9
mov eax, dword [ebp - 0x1f4]
add eax, 1
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x1f4]
cmp ecx, dword [eax + 0x20]
jg 0x1003ae37
push 3
mov eax, dword [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x4c8]
call fcn.100068e0
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x524]
mov dword [ebp - 0x528], ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x528]
mov eax, dword [edx]
mov dword [ebp - 0x4b0], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x4ac], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x4a4], ecx
push 3
mov edx, dword [ebp - 0x1e8]
push edx
lea ecx, [ebp - 0x4f8]
call fcn.100068e0
mov dword [ebp - 0x52c], eax
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x530], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x530]
mov edx, dword [ecx]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x4dc], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0x4d8], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x4d4], eax
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x4b0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4ac]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x4a8]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x4a4]
mov dword [ecx + 0xc], eax
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x4e0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4dc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x4d8]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x4d4]
mov dword [ecx + 0xc], eax
lea ecx, [ebp - 0x510]
push ecx
lea ecx, [ebp - 0x74]
call fcn.1003b110
push eax
lea ecx, [ebp - 0x1a0]
call fcn.1003bd10
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x4f8]
call fcn.10006b10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c8]
call fcn.10006b10
lea eax, [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x1c4]
add ecx, 8
call sub.MFC70D.DLL_Ordinal_1100
jmp 0x1003acca
jmp 0x1003ac97
mov eax, dword [ebp - 0x1c4]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.1003bfe0
mov eax, dword [ebp - 0x1ac]
add eax, 1
mov dword [ebp - 0x1ac], eax
jmp 0x1003a704
mov eax, dword [ebp - 0x1ac]
sub eax, 1
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x18], eax
lea ecx, [ebp - 0x34]
call fcn.1003b0c0
lea ecx, [ebp - 0x24]
call fcn.1003b070
lea ecx, [ebp - 0x74]
call sub.MFC70D.DLL_Ordinal_7137
lea ecx, [ebp - 0x64]
call sub.MFC70D.DLL_Ordinal_7137
lea ecx, [ebp - 0x54]
call sub.MFC70D.DLL_Ordinal_7137
lea ecx, [ebp - 0x44]
call sub.MFC70D.DLL_Ordinal_7137
lea ecx, [ebp - 0x34]
call sub.MFC70D.DLL_Ordinal_7137
lea ecx, [ebp - 0x24]
call sub.MFC70D.DLL_Ordinal_7137
mov ecx, dword [ebp - 0x14]
call fcn.1003b820
mov dword [ebp - 0x51c], 1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1a0]
call fcn.10003280
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x194]
call fcn.10003280
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x74]
call fcn.1000bdd0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x64]
call fcn.1000bd90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x54]
call fcn.1000bd50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44]
call fcn.1000bd10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.1000bcd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.1000bc90
mov eax, dword [ebp - 0x51c]
push edx
mov ecx, ebp
push eax
lea edx, [0x1003af61]
call fcn.100ec6b0
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x530
cmp ebp, esp
call fcn.100ec680
mov esp, ebp
pop ebp
ret