Function at 0x419616
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov ecx, 1
lea edi, [ebp - 0x10]
mov dword [edi], 1
mov dword [edi + 4], 9
add edi, 0x10
dec ecx
jne 0x419624
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
mov esi, 0x403c53
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
mov esi, 0x403c6e
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
call fcn.00413eac
lea esi, [ebp - 0x10]
call fcn.00413a56
mov eax, dword [ebp - 8]
mov esi, dword [0x40176d]
mov esi, dword [esi + eax*8]
add esi, dword [0x401771]
push esi
push esi
push 0x200
call dword [sym.imp.KERNEL32.DLL_GetTempPathA]
pop esi
call fcn.00412800
mov dword [ebp - 4], ecx
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
mov esi, 0x403809
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
lea esi, [ebp - 0x10]
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
call fcn.00413d6c
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
mov esi, 0x411358
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
call fcn.004135e4
mov esi, dword [0x401799]
sub esi, 0x14
lea eax, [esi + 0x404dd4]
mov dword [0x401799], esi
push eax
mov ebx, eax
mov ecx, dword [ebx + 4]
lea esi, [ebx + 8]
mov eax, dword [esi]
cmp ecx, 0
je 0x41978b
cmp ecx, 1
jne 0x419753
test eax, eax
je 0x41978b
mov eax, 1
jmp 0x41978b
cmp ecx, 2
jne 0x41976d
fld qword [esi]
wait
ftst
wait
fnstsw ax
fstp st(0)
sahf
mov eax, 0
je 0x41978b
inc eax
jmp 0x41978b
cmp ecx, 3
jne 0x41977d
xor eax, eax
cmp dword [ebx + 0xc], 0
je 0x41978b
inc eax
jmp 0x41978b
cmp ecx, 4
jne 0x419789
mov eax, 1
jmp 0x41978b
xor eax, eax
mov ecx, eax
pop eax
push ecx
cmp byte [eax], 2
jne 0x41979b
mov esi, eax
call fcn.0041392c
pop ecx
test ecx, ecx
je 0x419929
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
lea esi, [ebp - 0x10]
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
call fcn.00413e01
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
mov esi, 0x403809
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
mov esi, dword [0x401799]
sub esi, 0x28
lea eax, [esi + 0x404dd4]
lea ebx, [eax + 0x14]
add esi, 0x14
mov dword [0x401799], esi
mov dl, 0
mov ecx, 2
cmp byte [eax + 4], 2
jbe 0x419819
mov dl, 1
fldz
jmp 0x419824
jne 0x419820
fld qword [eax + 8]
jmp 0x419824
dec ecx
fild dword [eax + 8]
cmp byte [ebx + 4], 2
jbe 0x419831
add dl, 2
fldz
jmp 0x41983c
jne 0x419838
fld qword [ebx + 8]
jmp 0x41983c
dec ecx
fild dword [ebx + 8]
fsubp st(1)
test dl, 1
je 0x419876
cmp byte [eax], 2
jne 0x419876
cmp byte [eax + 4], 3
jne 0x419866
push eax
push ecx
mov eax, dword [eax + 8]
mov ecx, eax
mov eax, dword [0x40176d]
or dword [eax + ecx*8 + 4], 0x80000000
pop ecx
pop eax
jmp 0x419876
cmp byte [eax + 4], 4
jne 0x419876
pushal
mov eax, dword [eax + 8]
call fcn.00414638
popal
test dl, 2
je 0x4198ae
cmp byte [ebx], 2
jne 0x4198ae
cmp byte [ebx + 4], 3
jne 0x41989e
push eax
push ecx
mov eax, dword [ebx + 8]
mov ecx, eax
mov eax, dword [0x40176d]
or dword [eax + ecx*8 + 4], 0x80000000
pop ecx
pop eax
jmp 0x4198ae
cmp byte [ebx + 4], 4
jne 0x4198ae
pushal
mov eax, dword [ebx + 8]
call fcn.00414638
popal
test ecx, ecx
jne 0x4198d0
fist dword [0x4017a1]
cmp dword [0x4017a1], 0x80000000
je 0x4198d0
mov dword [eax + 4], 1
fistp dword [eax + 8]
jmp 0x4198da
mov dword [eax + 4], 2
fstp qword [eax + 8]
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
mov esi, 0x4037b5
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
lea esi, [ebp - 0x10]
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
call fcn.00413b8e
lea esi, [ebp - 0x10]
call fcn.00413a56
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
lea esi, [ebp - 0x10]
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
mov esi, 0x403829
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
call fcn.00413e3a
mov esi, dword [0x401799]
sub esi, 0x28
lea eax, [esi + 0x404dd4]
lea ebx, [eax + 0x14]
add esi, 0x14
mov dword [0x401799], esi
cmp byte [eax + 4], 3
je 0x4199a4
cmp byte [ebx + 4], 3
jne 0x4199ba
push eax
push ebx
mov ebx, eax
call fcn.00413982
pop ebx
pop eax
jmp 0x4199b3
cmp byte [ebx + 4], 3
je 0x4199b3
push eax
push ebx
call fcn.00413982
pop ebx
pop eax
call fcn.004137ee
jmp 0x4199bf
call fcn.004141f3
mov edx, dword [0x401799]
lea edi, [edx + 0x404dd4]
mov esi, 0x403c8b
mov eax, esi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [edi], eax
add edx, 0x14
mov dword [0x401799], edx
mov esi, dword [0x401799]
sub esi, 0x28
lea eax, [esi + 0x404dd4]
lea ebx, [eax + 0x14]
add esi, 0x14
mov dword [0x401799], esi
cmp byte [eax + 4], 3
je 0x419a15
cmp byte [ebx + 4], 3
jne 0x419a2b
push eax
push ebx
mov ebx, eax
call fcn.00413982
pop ebx
pop eax
jmp 0x419a24
cmp byte [ebx + 4], 3
je 0x419a24
push eax
push ebx
call fcn.00413982
pop ebx
pop eax
call fcn.004137ee
jmp 0x419a30
call fcn.004141f3
jmp 0x419a69
mov ebx, dword [0x401799]
lea eax, [ebx + 0x404dc0]
lea edi, [ebp - 0x10]
mov ecx, 1
mov ebx, dword [edi + 4]
cmp ebx, 3
je 0x419a8a
cmp ebx, 4
jne 0x419aac
cmp dword [eax + 4], ebx
jne 0x419a9f
mov edx, dword [eax + 8]
cmp dword [edi + 8], edx
jne 0x419a9f
mov dword [eax], 2
jmp 0x419aac
push edi
push ecx
push eax
mov esi, edi
call fcn.0041395a
pop eax
pop ecx
pop edi
add edi, 0x10
dec ecx
jne 0x419a7d
leave
ret