Function at 0x470654
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x41
push 0
push 0
dec ecx
jne 0x47065c
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x471198
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 1
mov edx, 0x64
mov eax, dword [ebp - 0x10]
call fcn.0047195c
lea eax, [ebp - 0x20]
push eax
call fcn.00408d44
lea eax, [ebp - 0x125]
push eax
push 0x104
call sub.kernel32.dll_GetTempPathA
lea eax, [ebp - 0x12c]
lea edx, [ebp - 0x125]
mov ecx, 0x105
call fcn.0040510c
push dword [ebp - 0x12c]
lea edx, [ebp - 0x130]
lea eax, [ebp - 0x20]
call fcn.00408d64
push dword [ebp - 0x130]
push 0x4711b0
lea eax, [ebp - 8]
mov edx, 3
call fcn.00405230
mov eax, dword [ebp - 8]
call fcn.00467600
test al, al
jne 0x4706fa
mov eax, dword [ebp - 8]
call fcn.00409ca0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x434]
call fcn.00467600
test al, al
jne 0x47071a
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x434]
call fcn.00409ca0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x434]
call fcn.00467600
test al, al
jne 0x470758
push 0x30
push 0x4711b4
push 0x4711bc
mov eax, dword [ebp - 0x10]
call fcn.0044e8e4
push eax
call sub.user32.dll_MessageBoxA_1
mov edx, 0x4711d4
mov eax, dword [ebp - 0x10]
call fcn.00471590
jmp 0x47116d
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x134]
mov ecx, 0x4711e8
call fcn.004051b4
mov eax, dword [ebp - 0x134]
call fcn.00467600
test al, al
jne 0x4707a4
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x138]
mov ecx, 0x4711e8
call fcn.004051b4
mov eax, dword [ebp - 0x138]
call fcn.00409ca0
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x13c]
mov ecx, 0x4711fc
call fcn.004051b4
mov eax, dword [ebp - 0x13c]
call fcn.00467600
test al, al
jne 0x4707f0
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x140]
mov ecx, 0x4711fc
call fcn.004051b4
mov eax, dword [ebp - 0x140]
call fcn.00409ca0
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
mov eax, 0x47cf38
mov ecx, 0x47120c
call fcn.004051b4
mov edx, dword [0x47cf38]
mov eax, 0x47cd6c
call fcn.00403618
mov eax, 0x47cd6c
call fcn.004033b4
call fcn.00402ffc
mov ecx, 0x14
mov edx, 0x64
mov eax, dword [ebp - 0x10]
call fcn.0047195c
xor eax, eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x144]
mov ecx, 0x471224
mov edx, dword [ebp - 8]
call fcn.004051b4
mov edx, dword [ebp - 0x144]
mov eax, 0x471240
call fcn.0046e9c4
lea eax, [ebp - 0x148]
mov ecx, 0x471258
mov edx, dword [ebp - 8]
call fcn.004051b4
mov edx, dword [ebp - 0x148]
mov eax, 0x47126c
call fcn.0046e9c4
lea eax, [ebp - 0x14c]
mov ecx, 0x47127c
mov edx, dword [ebp - 8]
call fcn.004051b4
mov edx, dword [ebp - 0x14c]
mov eax, 0x471290
call fcn.0046e9c4
lea eax, [ebp - 0x150]
mov ecx, 0x4712a0
mov edx, dword [ebp - 8]
call fcn.004051b4
mov ecx, dword [ebp - 0x150]
mov edx, 0x4712b4
mov eax, 0x4712c4
call fcn.0046ea80
lea eax, [ebp - 0x154]
mov ecx, 0x4712d8
mov edx, dword [ebp - 8]
call fcn.004051b4
mov ecx, dword [ebp - 0x154]
mov edx, 0x4712b4
mov eax, 0x4712f0
call fcn.0046ea80
lea eax, [ebp - 0x158]
mov ecx, 0x471308
mov edx, dword [ebp - 8]
call fcn.004051b4
mov edx, dword [ebp - 0x158]
mov eax, 0x471320
call fcn.0046e9c4
lea eax, [ebp - 0x15c]
mov ecx, 0x471334
mov edx, dword [ebp - 8]
call fcn.004051b4
mov ecx, dword [ebp - 0x15c]
mov edx, 0x4712b4
mov eax, 0x47134c
call fcn.0046ea80
lea eax, [ebp - 0x160]
mov ecx, 0x471360
mov edx, dword [ebp - 8]
call fcn.004051b4
mov ecx, dword [ebp - 0x160]
mov edx, 0x4712b4
mov eax, 0x471378
call fcn.0046ea80
lea eax, [ebp - 0x164]
mov ecx, 0x47138c
mov edx, dword [ebp - 8]
call fcn.004051b4
mov ecx, dword [ebp - 0x164]
mov edx, 0x4712b4
mov eax, 0x4713a4
call fcn.0046ea80
lea eax, [ebp - 0x168]
mov ecx, 0x4713b8
mov edx, dword [ebp - 8]
call fcn.004051b4
mov ecx, dword [ebp - 0x168]
mov edx, 0x4712b4
mov eax, 0x4713d0
call fcn.0046ea80
lea eax, [ebp - 0x16c]
mov ecx, 0x4713e4
mov edx, dword [ebp - 8]
call fcn.004051b4
mov ecx, dword [ebp - 0x16c]
mov edx, 0x4712b4
mov eax, 0x4713fc
call fcn.0046ea80
mov eax, dword [0x47787c]
mov eax, dword [eax]
call fcn.0046504c
mov ecx, 0x32
mov edx, 0x64
mov eax, dword [ebp - 0x10]
call fcn.0047195c
push ebp
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x170]
mov ecx, 0x471224
call fcn.004051b4
mov eax, dword [ebp - 0x170]
call fcn.0040532c
push eax
lea eax, [ebp - 0x174]
mov ecx, 0x471224
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x174]
call fcn.0040532c
xor ecx, ecx
pop edx
call fcn.00470598
pop ecx
push ebp
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x178]
mov ecx, 0x471258
call fcn.004051b4
mov eax, dword [ebp - 0x178]
call fcn.0040532c
push eax
lea eax, [ebp - 0x17c]
mov ecx, 0x471258
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x17c]
call fcn.0040532c
xor ecx, ecx
pop edx
call fcn.00470598
pop ecx
push ebp
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x180]
mov ecx, 0x47127c
call fcn.004051b4
mov eax, dword [ebp - 0x180]
call fcn.0040532c
push eax
lea eax, [ebp - 0x184]
mov ecx, 0x47127c
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x184]
call fcn.0040532c
xor ecx, ecx
pop edx
call fcn.00470598
pop ecx
push ebp
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x188]
mov ecx, 0x4712a0
call fcn.004051b4
mov eax, dword [ebp - 0x188]
call fcn.0040532c
push eax
lea eax, [ebp - 0x18c]
mov ecx, 0x4712a0
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x18c]
call fcn.0040532c
xor ecx, ecx
pop edx
call fcn.00470598
pop ecx
push ebp
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x190]
mov ecx, 0x4712d8
call fcn.004051b4
mov eax, dword [ebp - 0x190]
call fcn.0040532c
push eax
lea eax, [ebp - 0x194]
mov ecx, 0x4712d8
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x194]
call fcn.0040532c
xor ecx, ecx
pop edx
call fcn.00470598
pop ecx
push 0
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x198]
mov ecx, 0x471308
call fcn.004051b4
mov eax, dword [ebp - 0x198]
call fcn.0040532c
push eax
lea eax, [ebp - 0x19c]
mov ecx, 0x471308
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x19c]
call fcn.0040532c
push eax
call sub.kernel32.dll_CopyFileA
push ebp
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x1a0]
mov ecx, 0x471410
call fcn.004051b4
mov eax, dword [ebp - 0x1a0]
call fcn.0040532c
push eax
lea eax, [ebp - 0x1a4]
mov ecx, 0x471334
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x1a4]
call fcn.0040532c
xor ecx, ecx
pop edx
call fcn.00470598
pop ecx
push ebp
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x1a8]
mov ecx, 0x47142c
call fcn.004051b4
mov eax, dword [ebp - 0x1a8]
call fcn.0040532c
push eax
lea eax, [ebp - 0x1ac]
mov ecx, 0x471360
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x1ac]
call fcn.0040532c
xor ecx, ecx
pop edx
call fcn.00470598
pop ecx
push ebp
mov eax, dword [ebp - 0x10]
push dword [eax + 0x434]
push 0x4711e8
push 0x47138c
lea eax, [ebp - 0x1b0]
mov edx, 3
call fcn.00405230
mov eax, dword [ebp - 0x1b0]
call fcn.0040532c
push eax
lea eax, [ebp - 0x1b4]
mov ecx, 0x47138c
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x1b4]
call fcn.0040532c
xor ecx, ecx
pop edx
call fcn.00470598
pop ecx
push ebp
mov eax, dword [ebp - 0x10]
push dword [eax + 0x434]
push 0x4711e8
push 0x4713b8
lea eax, [ebp - 0x1b8]
mov edx, 3
call fcn.00405230
mov eax, dword [ebp - 0x1b8]
call fcn.0040532c
push eax
lea eax, [ebp - 0x1bc]
mov ecx, 0x4713b8
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x1bc]
call fcn.0040532c
xor ecx, ecx
pop edx
call fcn.00470598
pop ecx
push ebp
mov eax, dword [ebp - 0x10]
push dword [eax + 0x434]
push 0x4711e8
push 0x4713e4
lea eax, [ebp - 0x1c0]
mov edx, 3
call fcn.00405230
mov eax, dword [ebp - 0x1c0]
call fcn.0040532c
push eax
lea eax, [ebp - 0x1c4]
mov ecx, 0x4713e4
mov edx, dword [ebp - 8]
call fcn.004051b4
mov eax, dword [ebp - 0x1c4]
call fcn.0040532c
xor ecx, ecx
pop edx
call fcn.00470598
pop ecx
mov eax, dword [0x47787c]
mov eax, dword [eax]
call fcn.0046504c
mov ecx, 0x50
mov edx, 0x64
mov eax, dword [ebp - 0x10]
call fcn.0047195c
xor eax, eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x3dc]
call fcn.0046a434
test al, al
je 0x470f60
mov edx, 0x17
mov eax, 0x471448
call fcn.0046eb84
push 0x17
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x1c8]
mov ecx, 0x47145c
call fcn.004051b4
mov eax, dword [ebp - 0x1c8]
mov ecx, 0x471448
mov edx, 0x471448
call fcn.0046ecd8
lea edx, [ebp - 0x1d0]
mov eax, dword [ebp - 0xc]
call fcn.00409b3c
mov ecx, dword [ebp - 0x1d0]
lea eax, [ebp - 0x1cc]
mov edx, 0x471478
call fcn.004051b4
mov edx, dword [ebp - 0x1cc]
mov eax, 0x47cd6c
call fcn.0040564c
call fcn.00403acc
call fcn.00402ffc
inc dword [ebp - 4]
push 0x47148c
lea edx, [ebp - 0x1d8]
mov eax, dword [ebp - 4]
call fcn.00409488
push dword [ebp - 0x1d8]
push 0x47149c
push dword [ebp - 0xc]
lea eax, [ebp - 0x1d4]
mov edx, 4
call fcn.00405230
mov edx, dword [ebp - 0x1d4]
mov eax, 0x47cd6c
call fcn.0040564c
call fcn.00403acc
call fcn.00402ffc
inc dword [ebp - 4]
push 0x17
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x1dc]
mov ecx, 0x4714a8
call fcn.004051b4
mov eax, dword [ebp - 0x1dc]
mov edx, 0x471448
mov ecx, 0x4714c0
call fcn.0046ecd8
push 0x47148c
lea edx, [ebp - 0x1e4]
mov eax, dword [ebp - 4]
call fcn.00409488
push dword [ebp - 0x1e4]
push 0x47149c
push dword [ebp - 0xc]
lea eax, [ebp - 0x1e0]
mov edx, 4
call fcn.00405230
mov edx, dword [ebp - 0x1e0]
mov eax, 0x47cd6c
call fcn.0040564c
call fcn.00403acc
call fcn.00402ffc
inc dword [ebp - 4]
push 0x17
lea eax, [ebp - 0xc]
push eax
mov edx, 0x471448
mov ecx, 0x4714d8
mov eax, 0x4714f8
call fcn.0046f18c
push 0x47148c
lea edx, [ebp - 0x1ec]
mov eax, dword [ebp - 4]
call fcn.00409488
push dword [ebp - 0x1ec]
push 0x47149c
push dword [ebp - 0xc]
lea eax, [ebp - 0x1e8]
mov edx, 4
call fcn.00405230
mov edx, dword [ebp - 0x1e8]
mov eax, 0x47cd6c
call fcn.0040564c
call fcn.00403acc
call fcn.00402ffc
inc dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x3d8]
call fcn.0046a434
test al, al
je 0x470ff1
push 0x19
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x1f0]
mov ecx, 0x47145c
call fcn.004051b4
mov eax, dword [ebp - 0x1f0]
mov ecx, 0x471448
xor edx, edx
call fcn.0046ecd8
push 0x47148c
lea edx, [ebp - 0x1f8]
mov eax, dword [ebp - 4]
call fcn.00409488
push dword [ebp - 0x1f8]
push 0x47149c
push dword [ebp - 0xc]
lea eax, [ebp - 0x1f4]
mov edx, 4
call fcn.00405230
mov edx, dword [ebp - 0x1f4]
mov eax, 0x47cd6c
call fcn.0040564c
call fcn.00403acc
call fcn.00402ffc
inc dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x3e0]
call fcn.0046a434
test al, al
je 0x471082
push 0x1a
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x1fc]
mov ecx, 0x47145c
call fcn.004051b4
mov eax, dword [ebp - 0x1fc]
mov ecx, 0x47150c
xor edx, edx
call fcn.0046ecd8
push 0x47148c
lea edx, [ebp - 0x204]
mov eax, dword [ebp - 4]
call fcn.00409488
push dword [ebp - 0x204]
push 0x47149c
push dword [ebp - 0xc]
lea eax, [ebp - 0x200]
mov edx, 4
call fcn.00405230
mov edx, dword [ebp - 0x200]
mov eax, 0x47cd6c
call fcn.0040564c
call fcn.00403acc
call fcn.00402ffc
inc dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x3e4]
call fcn.0046a434
test al, al
je 0x4710ba
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x208]
mov ecx, 0x47145c
call fcn.004051b4
mov edx, dword [ebp - 0x208]
mov al, 1
call fcn.0046f52c
mov ecx, 0x5a
mov edx, 0x64
mov eax, dword [ebp - 0x10]
call fcn.0047195c
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
lea eax, [ebp - 0x20c]
mov ecx, 0x471308
call fcn.004051b4
mov ecx, dword [ebp - 0x20c]
mov edx, 0x471448
mov eax, 0x47154c
call fcn.0046f3fc
xor eax, eax
push ebp
push 0x47111a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.0046ef2c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x471124
mov ecx, 0x64
mov edx, 0x64
mov eax, dword [ebp - 0x10]
call fcn.0047195c
mov eax, 0x47cd6c
call fcn.004036e0
call fcn.00402ffc
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x434]
mov eax, dword [ebp - 0x10]
add eax, 0x438
mov ecx, 0x471560
call fcn.004051b4
mov edx, 0x471584
mov eax, dword [ebp - 0x10]
call fcn.00471590
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47119f
lea eax, [ebp - 0x20c]
mov edx, 0x39
call fcn.00404ec0
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404ec0
ret