Function at 0x412dd0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1030
call fcn.0043e960
mov eax, dword [0x4a0234]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
xor eax, eax
push 0x7fe
push eax
lea ecx, [ebp - 0x1016]
push ecx
mov word [ebp - 0x1018], ax
call fcn.0042ee00
add esp, 0xc
xor edx, edx
push 0x7fe
push edx
lea eax, [ebp - 0x816]
push eax
mov word [ebp - 0x818], dx
call fcn.0042ee00
add esp, 0xc
push 0x800
lea ecx, [ebp - 0x1018]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x800
lea edx, [ebp - 0x818]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xor eax, eax
push eax
push eax
push eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov word [ebp - 8], ax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x818]
push ecx
call fcn.00430ce6
lea edi, [ebp - 0x14]
add esp, 0x14
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x412e74
mov edx, dword [0x4911a8]
lea eax, [ebp - 0x1030]
push eax
mov dword [edi], edx
call fcn.0042db4b
mov ecx, dword [ebp - 0x1030]
mov edx, dword [ebp - 0x102c]
lea eax, [ebp - 0x1028]
add esp, 4
push eax
mov dword [ebp - 0x1028], ecx
mov dword [ebp - 0x1024], edx
call fcn.004325c6
fld qword [0x4925b0]
fldz
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x412ed3
fld st(0)
jmp 0x412f89
mov eax, dword [ecx + 0x14]
add eax, 0x76c
cmp eax, 0x64
jge 0x412ee5
cmp eax, 0x1e
jge 0x412eed
lea edx, [eax - 0x65]
cmp edx, 0x62
ja 0x412ef4
add eax, 0x76c
jmp 0x412efe
cmp eax, 0x1e
jge 0x412efe
add eax, 0x7d0
mov esi, dword [ecx + 0x10]
inc esi
cmp esi, 2
jle 0x412f0a
inc esi
jmp 0x412f0e
add esi, 0xd
dec eax
mov edx, dword [ecx + 8]
imul eax, eax, 0x8ead
imul esi, esi, 0x132
mov edi, edx
shl edi, 4
sub edi, edx
mov edx, dword [ecx + 4]
lea edx, [edx + edi*4]
mov edi, edx
shl edi, 4
sub edi, edx
add edi, edi
add edi, edi
mov dword [ebp - 0x101c], edi
mov edx, eax
mov eax, 0x51eb851f
fild dword [ebp - 0x101c]
imul edx
fiadd dword [ecx]
fdiv st(2)
mov ecx, dword [ecx + 0xc]
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x66666667
imul esi
sar edx, 2
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
lea edx, [eax + ecx - 0xa9716]
mov dword [ebp - 0x101c], edx
fild dword [ebp - 0x101c]
faddp st(1)
fadd qword [0x4925c8]
test bl, bl
je 0x412fa8
movzx eax, bl
fstp st(1)
imul eax, eax, 0xe10
mov dword [ebp - 0x101c], eax
fild dword [ebp - 0x101c]
fdivrp st(2)
jmp 0x412fac
fstp st(2)
fxch st(1)
sub esp, 0x10
fxch st(1)
fstp qword [esp + 8]
lea ecx, [ebp - 0x1018]
fstp qword [esp]
push 1
push ecx
call fcn.004115be
add esp, 0x18
test al, al
jne 0x413135
lea edx, [ebp - 0x1028]
push edx
call fcn.0042db4b
mov eax, dword [ebp - 0x1028]
mov ecx, dword [ebp - 0x1024]
lea edx, [ebp - 0x1030]
add esp, 4
push edx
mov dword [ebp - 0x1030], eax
mov dword [ebp - 0x102c], ecx
call fcn.004325c6
mov esi, eax
add esp, 4
test esi, esi
jne 0x413014
fldz
jmp 0x4130ce
mov eax, dword [esi + 0x14]
add eax, 0x76c
cmp eax, 0x64
jge 0x413026
cmp eax, 0x1e
jge 0x41302e
lea ecx, [eax - 0x65]
cmp ecx, 0x62
ja 0x413035
add eax, 0x76c
jmp 0x41303f
cmp eax, 0x1e
jge 0x41303f
add eax, 0x7d0
mov ecx, dword [esi + 0x10]
inc ecx
cmp ecx, 2
jle 0x41304b
inc ecx
jmp 0x41304f
add ecx, 0xd
dec eax
mov edx, dword [esi + 8]
imul eax, eax, 0x8ead
imul ecx, ecx, 0x132
mov edi, edx
shl edi, 4
sub edi, edx
mov edx, dword [esi + 4]
lea edx, [edx + edi*4]
mov edi, edx
shl edi, 4
sub edi, edx
add edi, edi
add edi, edi
mov dword [ebp - 0x101c], edi
mov edx, eax
mov eax, 0x51eb851f
fild dword [ebp - 0x101c]
imul edx
fiadd dword [esi]
fdiv qword [0x4925b0]
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x66666667
imul ecx
mov ecx, dword [esi + 0xc]
sar edx, 2
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
lea edx, [eax + ecx - 0xa9716]
mov dword [ebp - 0x101c], edx
fild dword [ebp - 0x101c]
faddp st(1)
fadd qword [0x4925c8]
test bl, bl
je 0x4130ef
movzx eax, bl
imul eax, eax, 0xe10
mov dword [ebp - 0x101c], eax
fild dword [ebp - 0x101c]
fdiv qword [0x4925b0]
jmp 0x4130f1
fldz
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x818]
fstp qword [esp]
push 0
push ecx
call fcn.004115be
add esp, 0x18
test al, al
jne 0x413135
push 0
lea edx, [ebp - 0x14]
push ebx
push edx
call fcn.00411841
add esp, 0xc
test al, al
jne 0x413135
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042cb0b
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
xor al, al
pop esi
call fcn.0042cb0b
mov esp, ebp
pop ebp
ret