Function at 0x472584
Capabilities:
Extract resource via kernel32 functions
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe68
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x198], edx
mov dword [ebp - 4], eax
mov ecx, 4
lea eax, [ebp - 0x188]
mov edx, dword [0x401094]
call fcn.004041ec
xor eax, eax
push ebp
push 0x472891
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x178], 0x6b70
lea eax, [ebp - 0x188]
mov edx, 0x4728a8
call fcn.00403ab0
mov dword [ebp - 0x174], 0x363c
lea eax, [ebp - 0x184]
mov edx, 0x4728b8
call fcn.00403ab0
mov dword [ebp - 0x170], 0x4fdf
lea eax, [ebp - 0x180]
mov edx, 0x4728c8
call fcn.00403ab0
mov dword [ebp - 0x16c], 0x66a1
lea eax, [ebp - 0x17c]
mov edx, 0x4728d8
call fcn.00403ab0
mov eax, 0x32
call fcn.00407ae4
mov dword [ebp - 0x10], eax
xor edx, edx
push ebp
push 0x4727d1
push dword fs:[edx]
mov dword fs:[edx], esp
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x188]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0x47a334
lea eax, [ebp - 0x178]
mov dword [ebp - 0x1c], eax
push 0x4728e0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
call fcn.00403e58
push eax
mov eax, dword [0x474ef0]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_FindResourceA
test eax, eax
jne 0x47269b
mov eax, 0x4728f0
call fcn.0044d9a8
call fcn.0040352c
jmp 0x472857
push eax
mov eax, dword [0x474ef0]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_LoadResource
push eax
call sub.kernel32.dll_LockResource
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4726cc
mov eax, 0x4728f0
call fcn.0044d9a8
call fcn.0040352c
jmp 0x472857
mov eax, dword [ebp - 0x10]
push eax
push 0x32
call sub.kernel32.dll_GetTempPathA
lea eax, [ebp - 0x18c]
push eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x190], 0
lea edx, [ebp - 0x194]
xor ecx, ecx
mov eax, 0x472904
call fcn.0040890c
mov eax, dword [ebp - 0x18c]
push eax
lea eax, [ebp - 0x198]
mov edx, dword [ebp - 0x10]
call fcn.00403bcc
mov edx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x18]
pop ecx
call fcn.00403ce0
xor eax, eax
push ebp
push 0x472798
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
lea eax, [ebp - 0x168]
call fcn.004053f6
mov edx, 1
lea eax, [ebp - 0x168]
call fcn.00405688
call fcn.0040278c
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
dec ebx
test ebx, ebx
jl 0x47277e
inc ebx
xor esi, esi
mov eax, dword [ebp - 0xc]
lea edx, [eax + esi]
lea eax, [ebp - 0x168]
call fcn.004056a8
call fcn.0040278c
inc esi
dec ebx
jne 0x472764
lea eax, [ebp - 0x168]
call fcn.00405498
call fcn.0040278c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4727a2
inc dword [ebp - 8]
add dword [ebp - 0x1c], 4
add dword [ebp - 0x18], 4
add dword [ebp - 0x14], 4
cmp dword [ebp - 8], 4
jne 0x472666
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4727d8
mov eax, dword [ebp - 0x10]
call fcn.004026d4
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x472898
lea eax, [ebp - 0x198]
call fcn.00403a18
lea eax, [ebp - 0x18c]
call fcn.00403a18
lea eax, [ebp - 0x188]
mov ecx, 4
mov edx, dword [0x401094]
call fcn.004042b8
ret